MariaDB asked me to look over their “Business Source License”. The BSL is a non-Open-Source license which transitions into an Open Source license after a delay. It’s designed to help companies to get paid for developing Open Source by allowing them to make it commercial-license-only for a limited time in which they collect revenue for its licensing, and then the work goes Open.

The BSL license allows copying, modification, and redistribution while the software is in its commercial-license-only state, but it has a limitation on use in production (meaning in any capacity that is meant to make money). In the case of MariaDB, it’s applied to their new release of MaxScale 2.1, a database front-end proxy which redistributes queries to a farm of MariaDB servers. The usage limitation imposed by MariaDB is a maximum of three servers in a commercial context. Any more, and you’ll need to buy their commercial license.

In general, I approve of schemes which allow people to make money from creating Open Source, even when the cost is that the software doesn’t become available to the community under a full Open Source license for some time. Making Open Source shouldn’t mean you wear a hair shirt and live on handouts, while your users, often the biggest companies on Wall Street, rake in the dough. So, I approached the BSL license with sympathy for the purpose. But I had a problem with the implementation.

The BSL is a parameterized license. The licensor chooses the license which is transitioned to, the date of the transition, and the limitation. The problem with this is that it was so parameterized that if you told someone the license was “BSL 1.0”, they would not have any idea what license they really had. It might transition to any of 100 Open Source licenses, or to a non-Open-Source license. The transition might happen in a month, or next century. The limitation might be that you could only have three commercial servers, or that you indentured your firstborn son (OK, that’s going overboard, but you get the picture).

We’d previously had a smaller problem with one-name, many licenses: The Creative Commons licenses do a lot of good, but when you say “Creative Commons”, nobody knows what license you mean. Some Creative Commons licenses are Open Source, some aren’t. Some allow commercial copying and sale, some don’t. Some allow modification, some don’t.

All you really know when someone says Creative Commons is that you have the right to read it. So, I feel that Creative Commons is confusing compared to Open Source. While Open Source has even more different licenses than Creative Commons, they all provide a standard set of privileges that allow you to copy, modify, redistribute, and use the software, including selling media containing a copy and commercially using the software.

So, I didn’t like that “BSL” didn’t really say what the license did, and I didn’t feel that was the best thing for the users or the community. I asked MariaDB to fix it. Together we have arrived at constraints on the parameters and minimum privileges that will take the new BSL much closer to being one license while still allowing licensors some latitude to choose parameters.

The new BSL will transition to Open Source in no longer than four years from the initial distribution of a version of a work under the license. It will always transition to a license that is GPL-compatible (where the choice is GPL 2.0 or any later version) and the licensor can add any number of additional licenses for the licensee to choose. It will always allow copying, modification, redistribution, non-commercial use, and commercial use in a non-production context. The licensor will be able (and encouraged) to specify additional usage rights: for example in the case of MaxScale, MariaDB specifies the allowance of up to three production servers under the BSL without an additional license. The license text will be inviolate and the only additional terms allowed are grants of rights.

So, there can be some differences, but in this new version of the “BSL”, you will have a pretty good idea of what you’re getting when someone says a work is under the “Business Source License”. And thus, I feel it’s worthy of my endorsement. The new BSL will be a good way for developers to get paid while eventually making their works Open Source.

At my recommendation, MariaDB retained attorney Heather Meeker, of O’Melveny and Meyers, to review the license. Heather and I have worked together on many Open Source cases. She is author of Open (Source) For Business: A Practical Guide to Open Source Licensing, and has been a pro-bono counsel to the Mozilla, GNOME, and Python foundations.

Here are more resources on the BSL: