The Standard describes a number of criteria. All criteria have consistent sections that make it clear how to create great public code.
References to “policy makers”, “managers”, and “developers and designers” apply to anyone performing duties associated with these roles, regardless of their job title. It is common for individuals to have duties which span multiple roles.
Below is a brief explanation of each of these sections and how they are used within the criteria of the Standard.
This section explains what the criterion aims to achieve and why it is important for a codebase’s users and contributors.
This section lists what needs to be done in order to comply with the standard.
The following keywords in this document are to be interpreted as described in IETF RFC 2119:
- MUST NOT
- SHALL NOT
- SHOULD NOT
How to test
This section offers actions you can take to see if a contribution is compliant with the Standard. This is key if you want to operationalize the Standard.
We’ve tried to word it so that someone who is not intimately acquainted with the subject matter can still do a basic check for compliance.
Public policy makers: what you need to do
This section tries to specifically speak to policy makers by offering them concrete actions they can perform in their role.
Public policy makers set the priorities and goals of projects and may be less technologically experienced.
Managers: what you need to do
This section tries to specifically speak to managers by offering concrete actions they can perform in their role.
Managers are responsible for on-time project delivery, stakeholder management and continued delivery of the service. For this they are wholly reliant on both policy makers as well as developers and designers. They need to create the right culture, line up the right resources and provide the right structures to deliver great services.
Developers and designers: what you need to do
This section tries to specifically speak to developers and designers by offering them concrete actions they can perform in their role.
Developers are usually more technically aligned and have more impact on the delivery of services than the previous groups.
Limitation of scope
The Standard for Public Code is not meant to cover individual implementations of a codebase. This means the standard does not tell implementers how to comply with their organization’s local technical infrastructure or legal framework.
Also, while the Standard for Public Code refers to several standards and has considerable overlap with others, its purpose is to enable collaboration. Therefore, it does not aim to replace quality standards, like the ISO 25000 series, or those focusing on security, like the OpenSSF Best Practices Badge, but to synergize well with them.
And while the purpose includes enabling collaboration, it will not guarantee that a community will spring into existence. That still requires proactiveness and ambition beyond making the codebase collaboration ready.