In a move to try and generate more revenue from its open source software, the MariaDB Corporation has decided to publish the version 2.0 of its MaxScale database proxy. It is aimed at providing vast scalability of database applications through load distribution and balancing, across a database cluster, under a completely new license. It tries to sound Open Source while enforcing a commercial model.
In the MySQL world, this clustering was one of the paying enterprise features. In MariaDB, it was traditionally a free (as is the rest of MariaDB) feature. This distinguished it significantly from its Oracle counterpart.
The new license that MaxScale is published under is called BSL - Business Source License - and was created by the MariaDB Corporation in an effort to enforce some form of mandatory revenue stream while trying to keep a semblance of open source spirit to it. In a somewhat delicate attempt to justify this, Michael “Monty” Widenius, author of the original MySQL, and now of MariaDB - which is a fork of MySQL - tries to give a rationale to this bold, and unpopular move.
The general idea of this new license is to have some form of timeframe during which the software is usable in enterprise production only in a commercial way (for MaxScale, this is defined as running on less than 3 servers). After this time-frame (for MaxScale, this is defined as ending on 01/01/2019), the software will revert to a “Change License” (for MaxScale this has been selected as GPL Version 2 or later). The rest of the usage of the software is governed by terminology that is inspired by the BSD 3 clause license (aka “New BSD License”).
From the beginning, the source code of software governed by BSL is available, and can be modified, distributed, compiled just as with normal open source... in fact, the whole software behaves as full open source, except for the limitation of number of nodes you talk to, and for the fact that the license changes to GPL after a set time. Interestingly enough, the initial license (BSD derived) and the final license (GPL) are diverse in spirit.
The core issue is that open source is quite formally defined by the Open Source Initiative. This definition is made of 10 points that are there to guarantee the freedom necessary for software to be considered Free/Libre Open Source Software. In the list of 10 points, the number 6 point states “No Discrimination against Fields of Endeavor”, which means you should be able to use FLOSS software in any context you want, commercially, enterprise, regardless of the technology architecture or scale. This is clearly not allowed with BSL license.
There are currently several revenue models of open source that generate very good profits. All are based on the notion of adoption. You try, you use, and if you like enough, you will want to get support. Some models for this include dual licensing, with subscription models, or pay for integration, support, training services. All are based on choice, not coercion. However, creating a new license that attempts to enforce a commercial model, rather than offering services that encourage working with a commercial vendor is not popular, and not well aligned with the notion of freedom that comes with open source.
On the other hand, other development teams such as Percona are announcing at the same time new versions of ProxySQL, their equivalent high-performance proxy servers for MySQL MariaDB / Percona Server and marking it clearly as Open Source with the GPLv3 license. And they very clearly state “ProxySQL is available under OpenSource license GPLv3, which allows you unlimited usage in production. ProxySQL has no plans to change the license!”
Today, MariaDB Corporation is trying to encourage other software development teams to look at, and start using, the BSL license as well. They are hoping to set a trend for a new way of developing software and making money from it.
What about you as a developer of open source software, and trying to make a living out of it? Have you looked at BSL? What do you think about this?
Share your comments in the section below.