This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
content:dev:techdoc [14/05/2013 23:18] 127.0.0.1 external edit |
content:dev:techdoc [21/05/2014 01:05] (current) Andrew Bettison [Where to find technical documents] remove link to Batphone LICENSE.md |
||
---|---|---|---|
Line 1: | Line 1: | ||
====== Technical Documentation ====== | ====== Technical Documentation ====== | ||
- | |||
- | All [[: | ||
Technical documentation includes: | Technical documentation includes: | ||
- | * release notes | + | * protocol and API specifications |
- | * build, test and installation | + | * instructions for developers: |
- | * privacy and data retention policies | + | * documents accompanying specific versions: release notes, credits, |
- | * architectural notes relating specifically to the software | + | |
- | * API documentation and specifications | + | |
- | * names of contributors | + | |
- | ==== What belongs in Git ==== | + | ==== Where to find technical documents |
- | All [[: | + | All technical documentation resides |
- | * it is **closely tied to specific versions** of software components, | + | |
- | * it **must be updated** as new software versions are produced, | + | |
- | * **prior versions** must be available, just like source code, | + | |
- | * it is produced and reviewed by the **same developers** who work on the source code, | + | |
- | * it is subject to the **same copyright, licensing and assignment** as the source code, | + | |
- | * GitHub renders Markdown and other structured text documents nicely. | + | |
- | Some good examples of technical documentation are: | + | [[: |
- | * [[https:// | + | * [[https:// |
- | * [[https:// | + | * [[https:// |
- | * [[https:// | + | * [[https:// |
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
- | ==== What belongs in the Wiki ==== | + | [[: |
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
- | The [[wiki|Serval Project Wiki]] contains documents that are **not closely tied to specific software versions**, such as: | + | [[: |
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | |||
+ | ==== Format ==== | ||
+ | |||
+ | All [[: | ||
+ | * [[https:// | ||
+ | * Markdown is [[http:// | ||
+ | * Markdown has the benefit that it can be read as plain text, but can be made richer and more interactive by rendering it to [[http:// | ||
+ | * Both standard and GitHub Flavoured Markdown are supported by the [[http:// | ||
+ | |||
+ | ==== Copyright and licensing ==== | ||
+ | |||
+ | All technical documentation is licensed to the public under the [[http:// | ||
+ | |||
+ | * If modifying an existing document, simply append a new " | ||
+ | **Copyright 2014 Serval Project Inc.** | ||
+ | **Portions Copyright 2014 Your Name** | ||
+ | </ | ||
+ | * If creating a new document, ensure it contains the following back matter:< | ||
+ | ----- | ||
+ | **Copyright 2014 Your Name** | ||
+ | ![CC-BY-4.0](./ | ||
+ | This document is available under the [Creative Commons Attribution 4.0 International licence][CC BY 4.0]. | ||
+ | |||
+ | ... | ||
+ | |||
+ | [CC BY 4.0]: http:// | ||
+ | </ | ||
+ | |||
+ | For more information about the Creative Commons Attribution license: | ||
+ | * [[http:// | ||
+ | * [[http:// | ||
+ | * [[http://wiki.creativecommons.org/ | ||
+ | * [[http:// | ||
+ | |||
+ | ==== Why is technical documentation kept in Git repositories? | ||
+ | |||
+ | * It is **closely tied to specific versions** of software components, | ||
+ | * It **must be updated** as new software versions are produced, | ||
+ | * **Prior versions** must be available, just like source code, | ||
+ | * It is produced and reviewed by the **same developers** who work on the source code, | ||
+ | * It is core Intellectual Property, and thus requires explicit **copyright assignment or licensing**, | ||
+ | * Authorship can be traced in detail using the Git commit history, | ||
+ | * GitHub [[https:// | ||
+ | |||
+ | ==== What belongs in the Developer Wiki? ==== | ||
+ | |||
+ | The [[:|Serval Project | ||
* orientation and introductory material | * orientation and introductory material | ||
* general Serval Project practices and policies | * general Serval Project practices and policies | ||
- | * general information for developers and contributors, | ||
* road map and other long-term planning material | * road map and other long-term planning material | ||
+ | * general information for developers and contributors, | ||
* lists of useful resources | * lists of useful resources | ||
+ | |||
+ | The Developer Wiki **MUST NOT** contain copies of technical documents whose definitive source is a Git repository, because such copies will not be maintained and will fall out of date, leading to confusion and poor community engagement. | ||
+ | |||
+ |