Blog for Public Code

This blogpost


Subscription feed

How to use the Standard for Public Code for your digital transformation agenda

This piece was first published on LinkedIn on 22 August 2022.

Photo of a box of paper Standards for Public Code, close up of icons for different readers' sections

So, what is the Standard for Public Code?

If you’re working on open source, public-purpose software, there are minimum functional requirements for your codebase and how others can contribute. The Standard for Public Code provides the minimum requirements to help your codebase succeed.

And what is public-purpose software?

Public-purpose software is any software designed to fulfil a public role that’s run by a public institution.

As more and more public institutions are digitally transformed, we now entrust the decisions and processes we build our society on to software.

Therefore the requirements for public-purpose software are necessarily higher and more stringent.

What are the requirements for public-purpose software?

  • Transparency
  • Accountability
  • Sustainability
  • Reusability
  • Cost-effectiveness
  • Collaboration

As more and more public organizations undergo digital transformation, the Standard for Public Code helps you navigate the process of collaborating with many actors to realize your digital goals.

Why a standard?

One of the questions we at the Foundation for Public Code often hear from public administrations while developing their public code is, “What do we need to do when developing open source software for the public sector?”

To answer this question and many others, we’ve made a list of requirements that we know you need to do minimally to be able to develop a public code project which can be shared and which can scale and be maintained sustainably over a long period.

The requirements in the Standard for Public Code help ensure that you:

  1. Create open and sustainable public-purpose software.
  2. Increase your control over your affairs.
  3. Reduce risks associated with these kinds of projects.
  4. Improve the effectiveness of the software in the public sector.

The Foundation for Public Code helps organizations ensure that every contribution to a public code project is tested to the highest standard and that every contribution is up to scratch.

And for that, we use the Standard for Public Code ourselves to set the bar. We believe that every requirement in the Standard is a minimum requirement and that you should at least tick off all these boxes.

What’s in the Standard for Public Code?

All criteria in the Standard for Public Code have a set of requirements. And those requirements have:

  1. Musts
  2. Shoulds
  3. Optional

"It's hard to imagine the world without Public Code because the world is becoming more digitalized. Public policies are now being executed by machines and software."​ - Jan Ainali

The musts are things that you really must do. They are the base requirements.

The shoulds are things we would say would be really good if you do them, and you should really have good argumentation for yourself if you don’t.

And the optionals are things that we recommend, as the collective authors of the standard.

Then there are sections on

  1. Why this is important
  2. What this does not do
  3. How to test for compliance
  4. What you can do to enable the standard for policymakers, developers and designers, as well as for management

These are essential because software development is not an act done by developers alone but by everyone in your organization.

Considering we are only a fraction of people making public software more accessible, the Standard for Public Code is not a document we’ve made on our own. The authors include many people from our community.

To make the Standard for Public Code a valuable product and useful for developers, designers, managers, and policymakers everywhere, we need as much input as possible.

Here are some ways you can contribute to the Standard

  • fill in any gaps
  • consider how it could be implemented in your organization - tell us what needs to be better to make it easier in your context
  • add anything else you notice! Perhaps you have spelling corrections. Maybe you have something to add to our introduction

We would love your contributions.

See how to contribute in the link below.