Hello everyone!
I just wanted to announce that we are re-licensing Sentry to Business Source License 1.1 with a 36-month conversion time to Apache-2.0. You can find more details on our blog where @zeeg goes into more details. Below, you can find the FAQ we have prepared. Please do ask any questions that are not covered so we can answer them and update the FAQ.
Thank you!
FAQ for Re-licensing
Can I still use Sentry on-premise for my company or project?
As long as your company is not selling an Application Monitoring Service, you may use and modify Sentry without concern or limitations. How we define an Application Monitoring Service is in the license. It mostly comes down to “if you are not providing a competing service to Sentry.io while using Sentry the open-source project, you’re good.”
Is Sentry no longer open-source? / Is BSL a valid open-source license?
In strict terms, BSL (Business Source License) is not an open-source or an OSI-approved license. That said, it is no different from Apache-2.0 for all practical purposes except when your company is an “Application Monitoring Service” as defined in our license text. Each release and commit will automatically convert to Apache-2.0 after 36 months from their publishing date.
What is an Application Monitoring Service (APM)?
The definition of an Application Monitoring Service in our license is as follows:
An “Application Monitoring Service” is a commercial offering that allows third parties (other than your employees and contractors) to access the functionality of the Licensed Work so that such third parties directly benefit from the error-reporting or application monitoring features of the Licensed Work.
What happens to the older versions of Sentry code?
The new license will only apply to versions and code after November 1st, 2019. The older versions of the repository and any published versions (such as PyPI packages or Docker images) will stay on the old BSD 3-clause license.
Who else uses BSL?
BSL, pioneered by MariaDB, is also adopted by companies like CockroachDB and ZeroTier. It is also endorsed and improved by Bruce Perens, a prominent figure in open-source.
Does this cover all Sentry projects like the SDKs? Which repositories are affected?
The new license will only apply to the main Sentry product, its direct components, and its downstream products. The affected repositories are as follows:
- https://github.com/getsentry/sentry
- https://github.com/getsentry/sentry-plugins
- https://github.com/getsentry/sentry-docs
- https://github.com/getsentry/snuba/
- https://github.com/getsentry/semaphore
- https://github.com/getsentry/onpremise
- https://github.com/getsentry/docker-sentry
- All Docker images produced by the repositories above
Why is Sentry re-licensing?
Sentry is re-licensing, as the initial BSD 3-clause license does not provide adequate structure or the protections needed for a project as large as Sentry has become. The old license was picked speedily when Sentry was a tiny, 70-line project. Today, Sentry has grown to about a 100 person company, serving a much larger audience and with stronger support around its product. Some recent events have shown that there is potential to abuse our hard work through the very permissive BSD license. To ensure Sentry keeps growing, we have decided to switch to a license that is still very open, but with proper protections in place.
Have you considered other options/licenses/dual licensing?
Yes, we have. Dual licensing and the open core model were among the options we have investigated. Dual licensing was too broad and had the potential to reduce contributions and adoption. The open core model where the core is open-source but other components are closed-source, was also dismissed. We think the open core model disincentivizes open-sourcing more projects from the company and creates a gap between the paid version and the open version. Hence, after careful consideration, we settled on BSL.
Why Business Source License (BSL)?
We think BSL introduces minimum restrictions while converting into a fully open license in a reasonable timescale. Unlike the open core model, BSL does not provide incentives for creating more closed code while providing strong protections for our company to keep developing Sentry. Among some other licenses, we have also considered the Open-Source Eventually License, a license very similar to BSL. We landed on BSL as it is battle-tested by larger companies and has the backing of an open-source advocate, Bruce Perens.
Can I still fork Sentry?
Yes! As long as you don’t fall into the “Application Monitoring Service” definition, the license explicitly grants you “the right to copy, modify, create derivative works, redistribute, and make non-production use of the Licensed Work”. Just keep in mind that you have to carry the BSL license on until the change date stamped in the license that you are forking off of.
There is some code I want to get and reuse from Sentry codebase. Can I do this? What are my options?
If there’s some code you want to extract from Sentry to be used in another project you have 4 options:
- Find the same code before the commit SHA ca8674c533a0dffc48a177554479bb85fa05891b which is covered under the BSD-3 license and use that version.
- Carry Sentry’s BSL license over into your own project where you’ll be using the code.
- Wait until the code you want to reuse converts to the eventual Apache-2.0 license (typically 3-year lead time)
- Talk to us at oss@sentry.io as we definitely want to pull reusable components out of Sentry into open-source repositories. If that’s not possible we may still get you an explicit grant for that piece of code depending on the circumstances.