This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
content:dev:techdoc [03/03/2013 22:31] Andrew Bettison Add section headings, link to examples on GitHub, re-write bullet points a bit for clarity |
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 ====== |
- | All Serval Project technical documentation is (or should be) in [[http:// | + | 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 Serval Mesh technical documentation resides | + | 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 of technical documents must be available along with prior versions of the source code, | + | |
- | * it is produced and reviewed by the same developers who work on the source code, | + | |
- | * it is subject to the same copyright assignment, licensing and acceptance procedures 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 [[:main_page|Serval Project | + | [[:content: |
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | |||
+ | ==== Format ==== | ||
+ | |||
+ | All [[: | ||
+ | * [[https:// | ||
+ | * Markdown is [[http:// | ||
+ | * Markdown has the benefit | ||
+ | * Both standard and GitHub Flavoured Markdown | ||
+ | |||
+ | ==== 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:// | ||
+ | * [[http:// | ||
+ | |||
+ | ==== Why is technical documentation kept in Git repositories? | ||
+ | |||
+ | * It is **closely tied to specific | ||
+ | * It **must be updated** as new software versions | ||
+ | * **Prior versions** must be available, just like source code, | ||
+ | * It is produced | ||
+ | * It is core Intellectual Property, and thus requires explicit | ||
+ | * Authorship can be traced in detail using the Git commit history, | ||
+ | * GitHub [[https:// | ||
+ | |||
+ | ==== What belongs in the Developer Wiki? ==== | ||
+ | |||
+ | The [[:|Serval Project Developer Wiki]] contains documents that are **not closely tied to specific | ||
* orientation and introductory material | * orientation and introductory material | ||
- | * general Serval Project | + | * general Serval Project |
- | * 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. | ||
+ | |||
+ |