As a creator and contributer to open source projects I am often torn as how to license my projects to encourage the greater community to contribute and have creative freedom with a project. However I would still try to ensure that I maintain control over as much of the intellectual property (IP) or business value as possible – especially if this value is what I have in place as a revenue generator and would enable me to continue development of the project.
Sentry – which is a great error logging/monitoring tool – recently evaluated their open source licensing and had some reasonable goals in mind:
- Anyone should be able to run Sentry for themselves or their business
- No difference between our cloud service and our open-source product (no open-core model)
- Minimal limitations on usage of code; as free as possible
- Protection from other companies selling our work
Due to the weight on the last point, Sentry decided to change their license from BSD-3/Apache-2.0 to BSL.
Def: BSL is a new alternative to Closed Source or Open Core licensing models. Under BSL, the source code is freely available from the start and it is guaranteed to become Open Source at a certain point in time (i.e., the Change Date). Usage below a specific level in the BSL is always completely free. Usage above the specified level requires a license from the vendor until the Change Date, at which point all usage becomes free.
The purpose of BSL is to create a license that strikes a balance between being able to run a financially viable software company while still supporting the original tenets of Open Source, such as empowering all software developers to be part of the innovation cycle – giving them open access to the code so they can modify or distribute the software by making the entire source code available from the start. Ultimately, we hope that BSL will create more Open Source software.
I personally believe more will projects will adopt this license and ultimately encourage more companies to open source their code bases without the concerns listed above. If you have any open source projects I would encourage you to read this blog post from Sentry and decide for yourself if its their best way forward.