Standard for Public Code
The Standard for Public Code gives public organizations a model for preparing open source solutions to enable collaborations with similar public organizations in other places. It includes guidance for policy makers, city administrators, developers and vendors.
The Standard for Public Code is in a draft format. We are preparing it for a version 1.0 release. Currently, we are testing it on a small number of codebases.
Applying the Standard for Public Code to your codebase
If you want to apply the Standard for Public Code to your codebase, just go ahead, it’s an open standard and free for anyone to use. If you wish to advertise the codebase community’s aspiration to meet the criteria of the Standard for Public Code, link the documentation of this commitment from the standard-for-public-code-commitment badge. To see how ready your codebase is, you can do a quick eligibility self assessment that will give you a rough idea of how much work you may need to do to meet all criteria.
The standard should be mostly self-explanatory in how to apply it to your codebase. If anything in the standard is unclear, we encourage you to open an issue here so that we can help you and anyone else who feels the same as you. For inspiration, look at the community built implementation guide which contains examples and other tips.
If there are any breaking changes in a new version of the Standard for Public Code, the codebase stewards at the Foundation for Public Code will help any implementers of the standard understand how the gaps can be closed.
If you want to commit your codebase to become fully compliant to the standard for future certification, please contact us at info@publiccode.net to initiate a formal assessment.
Request for contributions
We believe public policy and software should be inclusive, usable, open, legible, accountable, accessible and sustainable. This means we need a new way of designing, developing and procuring both the source code and policy documentation.
This standard sets a quality level for codebases that meets the needs of public organizations, institutions and administrations as well as other critical infrastructural services.
The standard lives at standard.publiccode.net.
See index.md
for an overview of all content.
A video introduction to Standard for Public Code from Creative Commons Global Summit 2020 (4:12) on YouTube.
Help improve this standard
The Foundation for Public Code is committed to maintaining and developing the Standard for Public Code at a level of quality that meets the standard itself.
We are looking for people like you to contribute to this project by suggesting improvements and helping develop it. 😊 Get started by reading our contributors guide. Since it is such a core document we will accept contributions when they add significant value. We’ve described how we govern the standard in the governance statement.
Please note that this project is released with a code of conduct. By participating in this project you agree to abide by its terms. Please be lovely to all other community members.
Preview, build and deploy
The repository builds to a static site deployed at standard.publiccode.net. It is built with GitHub pages and Jekyll.
The content is made to be built with Jekyll, which means you will need ruby and ruby-bundler installed, for example:
sudo apt-get install -y ruby ruby-bundler
If ruby
and bundle
are installed, one can run bundle install
after which the site can be rendered with the script/serve.sh
script.
Testing
A variety of test scripts are included.
The script script/test-all.sh
wraps running of all local tests.
See the scripts in the script folder.
Generating a PDF of the Standard for Public Code
In addition to Jekyll, generating PDFs relies upon Weasyprint.
Print versions depend upon pdfjam.
Pandoc can be used to transform PDFs into .epub
.
To generate these kinds of files, the dependencies should be installed, for example:
sudo apt-get install -y \
pandoc \
python3-pip \
python3-venv \
texlive-extra-utils \
weasyprint
The file standard-print.html
can be converted to a nice looking PDF, along with the other release files, using:
script/pdf.sh
License
© The authors and contributors
The standard is licensed under CC 0, which also applies to all illustrations and the documentation. This means anyone can do anything with it. If you contribute you also grant these rights to others. You can read more about how to help in the contributing guide.