M17. Each xSDK member package should have sufficient documentation to support use and further development. While it is difficult to formalize what constitutes sufficiency of documentation, the requirement will be reviewed by the xSDK community based on documentation elements and must include:
- Instructions on installation and getting started;
- Documentation on functionality, for example class- and member-level documentation (in object-oriented languages) or more generally API-level documentation;
It is recommended that the documentation also include the following:
- Discussions of how individual components of the code base interact (for example, in object-oriented languages, how classes or groups of classes interact), ideally using "typical use case" code snippets;
- Presence of complete example codes that illustrate typical use cases;
- Links to external resources such as mailing lists and forums where users and developers can find help;
- Instructions for on-ramping new developers;
- Description of team processes.