Service Standards
12 Make New Source Code Open

12. Make new source code open

Make all new source code open and reusable, and publish it under appropriate licences. Or if this is not possible, provide a convincing explanation of why this cannot be done for specific subsets of the source code.

Why it’s important

Public services are built with public money. So unless there’s a good reason not to do so, the code they’re based should be made available for people to reuse and build on.

Open source code can be reused by developers working in government, avoiding duplication of work and reducing costs for government as a whole. And publishing source code under an open licence means that you’re less likely to get locked in to working with a single supplier.

What it means

Service teams should:

  • write code in the open from the start, and publish it in an open repository - minus any sensitive information, like secret keys and credentials
  • keep ownership of the intellectual property of new source code that’s created as part of the service, and make it available for reuse under an open licence

There are a few cases when you should not publish code in the open. For example, code that relates to a sensitive government policy that has not been announced yet.