Standard for Public Code

← Make the codebase reusable and portable Make contributing easy →


  1. Requirements
  2. How to test
  3. Public policy makers: what you need to do
  4. Managers: what you need to do
  5. Developers and designers: what you need to do
  6. Further reading

Welcome contributors

The atmosphere in a codebase community helps users decide to use one codebase over another. Welcoming anyone as a contributor enables the community to grow and sustain itself over time. A community where contributors have clear ways to influence codebase and community goals and progress is less likely to split and end up in diverging communities. Newcomers need to understand and trust the codebase community’s governance.


  • The codebase MUST allow anyone to submit suggestions for changes to the codebase.
  • The codebase MUST include contribution guidelines explaining what kinds of contributions are welcome and how contributors can get involved, for example in a CONTRIBUTING file.
  • The codebase MUST document the governance of the codebase, contributions and its community, for example in a GOVERNANCE file.
  • The contribution guidelines SHOULD document who is expected to cover the costs of reviewing contributions.
  • The codebase SHOULD advertise the committed engagement of involved organizations in the development and maintenance.
  • The codebase SHOULD have a publicly available roadmap.
  • The codebase SHOULD publish codebase activity statistics.
  • Including a code of conduct for contributors in the codebase is OPTIONAL.

How to test

  • Confirm that it is possible to submit suggestions for changes to the codebase.
  • Confirm there are contribution guidelines.
  • Confirm that the codebase governance is clearly explained, including how to influence codebase governance.
  • Check that contributing guidelines cover who is expected to cover the costs of reviewing contributions.
  • Check for a list of involved organizations.
  • Check for a roadmap.
  • Check for published activity statistics.
  • Check for a code of conduct.

Public policy makers: what you need to do

  • Add a list to the codebase of any other resources that policy experts, non-governmental organizations and academics would find useful for understanding or reusing your policy.
  • Consider adding contact details so that other policy makers considering collaboration can ask you for advice.

Managers: what you need to do

  • Make sure that the documentation of the governance includes the current process for how to make changes to the governance.
  • If the community has some consensus about how the governance should change, then include those ideas stated as ambitions in the documentation.
  • If needed, make sure you have allocated budget for the contributions review process as agreed by the codebase community.
  • Make sure the documentation explains how each organization is involved in the codebase, what resources it has available for it and for how long.
  • Support your experienced policy makers, developers and designers to stay part of the community for as long as possible.

Developers and designers: what you need to do

  • Respond promptly to requests.
  • Keep your managers informed of the time and resources you require to support other contributors.
  • Communicate clearly to contributors what they need to do make sure their contribution can be integrated.

Further reading