Adopting and Developing BSL Software

Frequently Asked Questions

Business Source License (BSL) was created by David Axmark and Michael Widenius to provide a mutually beneficial balance between the user benefits of true Open Source software that is free of cost and provides open access to all of the product code for modification, distribution, etc., and the sustainability needs of software developers to continue delivering product innovation and maintenance.

The BSL is structured to allow free and open usage for the majority of use cases, and only requires a commercial license by those who use the software above a certain threshold, which is typically indicative of an environment that is delivering significant value to a business.

BSL gives users complete access to the source code so users can modify, distribute and enhance it. It also guarantees a path for the software to become Open Source over time so that users will never be locked into a single vendor. These features help preserve the critical freedom aspects of Open Source (as defined by the Open Source Initiative in the Open Source Definition https://opensource.org/osd-annotated) while enabling a viable business model for professional software developers.

This FAQ is designed to address questions for any developer, or any company, interested in working on BSL software or adopting BSL for their own business.

Basic questions about Business Source License (BSL)

General understanding of the BSL

Using BSL for your software

Combining work with code released under BSL

Questions about violations of the BSL

Basic questions about Business Source License (BSL)

Q: What is Business Source License (BSL)?

A: 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.

Q: What is the purpose of BSL?

A: 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.

Q: Is the BSL an Open Source license?

A: We have not certified BSL as complying to the Open Source Definition by the Open Source Initiative (OSI). However, all source code is available from the start and most of the OSI criteria are met. As long as the software is used within the usage limitations, it's free to use at no cost.

Q: What are the main benefits for a company using BSL for their product?

A: BSL allows anyone to work on the code, both for their own benefit and that of others. It also generates trust in the BSL product, as there is no lock-in to a single software vendor.

Q: What is the difference between BSL 1.0 and BSL 1.1?

A: The BSL has been reviewed and endorsed by Bruce Perens, the co-founder (together with Eric S. Raymond) of the Open Source Initiative. As a result of this review process, MariaDB introduced a number of changes together with Mr Perens, to simplify the adoption of BSL by other vendors than MariaDB, by setting consistent user expectations of what BSL stands for. Specifically:

  • The BSL is not an Open Source license and we do not claim it to be one.
  • The Change Date can be at most four years after the initial release.
  • The Change License must always include GPL and may include additional licenses as the licensor chooses.
  • The term Usage Limitation (which in BSL 1.0 said when one could not use the sofware) is substituted by Additional Usage Grant (which says when you can use the software)
  • The word Software is substituted by Licensed Works, so BSL can be used for other types of work.
  • The license expressly mentions purchasing a commercial license from the licensor as a means of overcoming the vendor specific use limitations specified in the Parameters section.
  • As recommended by Bruce Perens, the legal phrasing of the BSL has been reviewed and edited for consistency and simplicity by Heather Meeker of O'Melveny & Myers LLP. Author of Open (Source) For Business: A Practical Guide to Open Source Licensing, Heather has been a pro-bono counsel to the Mozilla, GNOME, and Python foundations.

 

General understanding of the BSL

Q: You claim that with BSL there is no vendor lock-in. How do you define vendor lock-in?

A: Vendor lock-in occurs when users have only one vendor to go to for support, fixing bugs or getting new features added to the product. While it's true that with BSL users who use the product over the usage limits pay one vendor for a limited time, it doesn’t lock in users with the one vendor for the software. Because of the eventual Open Source trigger, users can continue to use and develop on the software, even if the original vendor goes out of business.

Q: Do I need a commercial relationship when testing BSL software?

A: No. Use limitations only apply to a BSL product running in production.

Q: If I have one copy of the software running in an environment where I would need a commercial relationship and other copies of the software where I don't exceed the limit, for which ones do I need to buy the software?

A: You only need a commercial relationship for any copies of the software that are running in production that exceed the usage limits.

Q: What are the usage limitations under BSL?

A: The usage is limited to non-production use, or production use within the limits of the "Additional Use Grant" defined by the vendor using BSL and specific to each BSL product.

Q: What is the Change Date and what happens when it's reached?

A: All source files under BSL have a Change Date and the name of an Open Source license in the header. The Change Date specifies when the source file changes from BSL to the specified Open Source license. After the Change Date, the software is governed by the specified Open Source license.

Q: Will the Change Date remain constant?

A: No. Each new major version of the software will have its own Change Date.

Q: If I participate in the development of the BSL software, do I need a license for the software?

A: This depends on the company that is providing the BSL software.

Q: Are there any other licenses similar to BSL?

A: Yes, for example the Fair Source License at https://fair.io/ and the Open Source Eventually License at https://github.com/ftrotter/OSE. The main difference is the usage framework, each of which works best with different classes of software. BSL was optimized for enterprise-class software. For a more detailed comparison of BSL with other Open Source licenses, please visit mariadb.com/bsl-faq-mariadb.

Using BSL for your software

Q: What is considered a major version for there to be a new BSL and new Change Date?

A: A version which does not only fix bugs but adds features.

Q: How far in the future is the recommended Change Date?

A: At most four years from the initial alpha release of your BSL software. Picking the Change Date depends on how rapidly the software is changing. For most software, the recommendation is three years.

Q: What if a licensor decides to change the use limitation in the future?

A: A licensor may change the use limitation in the future, but users will always be able to use any previous version of the BSL software under its earlier limitations.

Q: What if I want different license terms?

A: Contact the licensor. They may be able to partner with you to figure out what will work best for your company.

Q: Can I change the license?

A: The Business Source License is trademarked. By using the BSL as a vendor, you covenant to follow the BSL wording and make your changes only in the Parameters section of the license.

Combining work with code released under BSL

Q: What happens if I mix BSL code with other code?

A: Until the Change Date, the final mixed code will be bound by the license of the BSL code and the license of the other code. After the Change Date, the final mixed code will be bound by the Change License (e.g., GPL).

Q: Can I use BSL software with an Open Source project?

A: No. The BSL has a usage limitation that is not allowed with Open Source software. However, you can usually mix BSL, Open Source and closed source code within an application as long as you don't release or distribute the code to third parties. You can eliminate the usage limitation by purchasing a software license for the BSL code.

Q: Can I use BSL code in the code base for my commercial, Closed Source product?

A: Yes, if you buy licenses for the BSL code or you ensure that your product doesn't break the usage limitations.

Q: If I modify the source code of sotware licensed under the BSL, can I redistribute my modified version under the MIT License?

A: No. Your modified version consists of the original software (which is under the BSL) and your modifications, which together constitute a derivative work of the original software. The license does not grant you the right to redistribute under a license like MIT without the use limitation.

Q: Can I use BSL products to develop software that will be licensed under different licenses?

A: Yes, as long as you don’t include any of the BSL code in the code for the software that’s being developed.

Q. Is the BSL compatible with GPL (prior to the Change Date)?

A. BSL and GPL are not compatible licenses. As such, both BSL and GPL can be combined with software under other licenses, but the requirements that they put on the surrounding software are incompatible. BSL has a Use Limitation, which is not allowed by GPL.

Q. If my software was originally released under GPL, can I release the next version under the BSL?

A. Yes, as long as you own the copyright to the code. The earlier software version will remain under the GPL (and can be forked).

Q: I have written a code patch to a BSL project and would like the BSL vendor to maintain the code as part of the BSL project. How do I contribute it?

A: License your code using the "new BSD" license. Code contributions under "new BSD" is compatible with BSL. See BSD on Wikipedia.

Questions about violations of the BSL

Q: If there is a newer version of the software under BSL, can I backport any of the code to an older, Open Source, version of the same software?

A. No. In this circumstance, you would violate the copyright of the BSL vendor by re-releasing the code under Open Source or you would violate the Open Source by introducing BSL code that is governed by a Use Limitation not known by the Open Source licence.