Standard for Public Code

Publish with an open license

Requirements

  • All code and documentation MUST be licensed such that it may be freely reusable, changeable and redistributable.
  • Software source code MUST be licensed under an OSI-approved open source license.
  • All code MUST be published with a license file.
  • Contributors MUST NOT be required to transfer copyright of their contributions to the codebase.
  • All source code files in the codebase SHOULD include a copyright notice and a license header that are machine readable.
  • Codebases MAY have multiple licenses for different types of code and documentation.

Why this is important

  • Makes it possible for anyone to see the code and know that they can and how they can reuse it.

What this does not do

  • Prevent use of the code by any specific actors.

How to test

Policy makers: what you need to do

  • Develop policy that requires code to be open source.
  • Develop policy that disincentivizes non-open source code and technology in procurement.

Management: what you need to do

  • Only work with open source vendors that deliver their code by publishing it under an open source license.
  • Beware that even though Creative Commons licenses are great for documentation, licenses that stipulate Non-Commercial or No Derivatives are NOT freely reusable, changeable and redistributable and don’t fulfill these requirements.

Developers and designers: what you need to do

  • Add a new license file to every new codebase created.
  • Add a copyright notice and a license header to every new source code file created.

Further reading