Make all new source code open and reusable, and publish it under appropriate licences. Or if this isn’t possible, provide a convincing explanation of why this can’t 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, 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. Publishing source code under an open licence means that you’re less likely to get locked in to working with a single supplier.

Regardless of your technology choice - reuse, buy or build - you should be able to open source your code.

How you do it

  • Write code in the open from the start
    Publish this in an open repository - minus any sensitive information, like secret keys and credentials
  • Understand when you should not publish code
    Identify and describe where code is too sensitive to publish
  • Describe how you’ll do open source
    Have a clear process for the lifecycle of the service, for example how you’ll manage pull requests and fork code
  • Make source code you’ve created available for reuse
    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