Open-source is a transformative idea and the foundation of modern software development. We should embrace it as well as the ethos and community around it.

Basic principles

Use open source projects

We are a small team and the expertise for most things is not within our team. We should try as much as possible to benefit from the expertise of others and focus our efforts on the things in our domain that are unique to us.

Be good community members

Rather than just raising issues on open source projects we should try to offer to help resolve issues either by generating test cases, offering to test fixes or submitting fixes ourselves.

Be open and transparent

Where we want to change or vary open source code we should do it by forking it to a public repository in our own Github organisation. We should be prepared to work with the original maintainers if they want to coordinate changes.

Releasing code as open source

Releasing code developed at POP as an open source project requires a review and approval. This ensures that the project is appropriate, the code released is not part of the product we regard as proprietary and we will be able to maintain the project appropriately in the future.

An appropriate license must be chosen for the project and this decision must be made on a project by project basis.

Approved licenses

We have looked at the following licenses and have used them in our codebases. We believe they present no issues for the business.

  • MIT
  • BSD
  • GNU GPLv2/3
  • LGPL v2/3
  • Apache

What licences shouldn’t we use?

We should not use licenses that require fees or which require the release of any source code or intellectual property outside of the original project. Our code should remain our private and unique property.

Examples of such licenses

  • Affero GPL