The project MUST provide basic documentation for the software produced by the project.[documentation_basics]
The project MUST provide reference documentation that describes the external interface (both input and output) of the software produced by the project.[documentation_interface]
The project sites (website, repository, and download URLs) MUST support HTTPS using TLS.[sites_https]
The project MUST have one or more mechanisms for discussion (including proposed changes and issues) that are searchable, allow messages and topics to be addressed by URL, enable new people to participate in some of the discussions, and do not require client-side installation of proprietary software.[discussion]
The project SHOULD provide documentation in English and be able to accept bug reports and comments about code in English.[english]
Public version-controlled source repository
The project MUST have a version-controlled source repository that is publicly readable and has a URL. [repo_public] Show details Mirror Repository on GitHub, which provides public git repositories with URLs. Source control via GitHub
The project's source repository MUST track what changes were made, who made the changes, and when the changes were made. [repo_track] Repository on GitHub, which uses git. git can track the changes, who made them, and when they were made. Source control via GitHub Repository on GitHub, which uses git. git can track the changes, who made them, and when they were made. Repository on GitHub, which uses git. git can track the changes, who made them, and when they were made.
To enable collaborative review, the project's source repository MUST include interim versions for review between releases; it MUST NOT include only final releases. [repo_interim] Show details Source control via GitHub
It is SUGGESTED that common distributed version control software be used (e.g., git) for the project's source repository. [repo_distributed] Show details Mirror repository on GitHub, which uses git. git is distributed. Repository on GitHub, which uses git. git is distributed.
Unique version numbering
The project results MUST have a unique version identifier for each release intended to be used by users. [version_unique] The project uses Git tags, see change log
It is SUGGESTED that the Semantic Versioning (SemVer) format be used for releases. [version_semver]
It is SUGGESTED that projects identify each release within their version control system. For example, it is SUGGESTED that those using git identify each release using git tags. [version_tags] Hyperledger Explorer version control, and tagging
“I put together this style guide on-the-fly while working on publications for Hyperledger. When I encounter an inconsistency or a questionable term, I decide which way seems to make the most sense. I personally dislike the Chicago Manual of Style because it so often says ‘either approach is acceptable.’ I’m not saying these decisions are perfect and must stand forever, but I have followed these guidelines in the first four or five white papers I’ve revised and in several case studies I’ve written over the past year.”—Gordon