I believe that Open Source is one of the best ways to develop
software. However, as I have written in blogs before, the Open Source model presents
challenges to creating a software company that has the needed
resources to continually invest in product development and
innovation.
One reason for this is a lack of understanding of the costs
associated with developing and extending software. As one example
of what I regard to be unrealistic user expectations, here is a
statement from a large software company when I asked them to
support MariaDB development with financial support:
“As you may remember, we’re a fairly traditional and
conservative company. A donation from us would require feature
work in exchange for the donation. Unfortunately, I cannot think
of a feature that I would want developed that we would be willing
to pay for this year.”
This thinking is flawed on many fronts -- a new feature can take
more than a year to develop! It also shows that the company saw
that features create value they would invest in, but was not
willing to pay for features that had already been developed and
was not prepared to invest into keeping alive a product they
depend upon. They also don't trust the development team with the
ability to independently define new features that would bring
value. Without that investment, a technology company cannot
invest in ongoing research and development, thereby dooming its
survival.
To be able to compete with closed source technology companies who
have massive profit margins, one needs income.
Dual licensing on Free Software, as we applied it at MySQL, works
only for a limited subset of products (something I have called
‘infrastructure software’) that customers need to combine with
their own closed source software and distribute to their
customers. Most software products are not like that. This is why
David Axmark and I created the Business Source
license (BSL), a license designed to harmonize producing Open
Source software and running a successful software company.
The intent of BSL is to increase the overall freedom and
innovation in the software industry, for customers, developers,
user and vendors. Finally, I hope that BSL will pave the way for
a new business model that sustains software development without
relying primarily on support.
For those who are interested in the background, Linus Nyman, a
doctoral student from Hanken School of Economics in Finland), and I
worked together on an academic article on the BSL.
Today, MariaDB Corporation is excited to introduce the beta release of MariaDB MaxScale 2.0, our
database proxy, which is released under BSL. I am very happy to
see MariaDB MaxScale being released under BSL, rather than under
an Open Core or Closed Source license. Developing software
under BSL will provide more resources to enhance it for future
releases, in similar ways as Dual Licensing did for MySQL.
MariaDB Corporation will over time create more BSL products. Even
with new products coming under BSL, MariaDB Server will continue
to be licensed under GPL in perpetuity. Keep in mind that
because MariaDB Server extends earlier MySQL GPL code it is
forever legally bound by the original GPL license of MySQL.
In addition to putting MaxScale under BSL, we have also created a
framework to make it easy for anyone else to license their
software under BSL.
Here follows the copyright notice used in the MaxScale 2.0 source
code:
/*
* Copyright (c) 2016 MariaDB Corporation Ab
*
* Use of this software is governed by the Business Source
License
* included in the LICENSE.TXT file and at www.mariadb.com/bsl.
*
* Change Date: 2019-01-01
*
* On the date above, in accordance with the Business Source
* License, use of this software will be governed by version
2
* or later of the General Public License.
*/
Two out of three top characteristics of the BSL are already shown
here: The Change Date and the Change License. Starting on 1
January 2019 (the Change Date), MaxScale 2.0 is governed by GPLv2
or later (the Change License).
The centrepiece of the LICENSE.TXT file itself is this text:
Use Limitation: Usage of the software is free when your
application uses the Software with a total of less than three
database server instances for production purposes.
This third top characteristic is in effect until the Change
Date.
What this means is that the software can be distributed, used,
modified, etc., for free, within the use limitation. Beyond it, a
commercial relationship is required – which, in the case of
MaxScale 2.0, is a MariaDB Enterprise Subscription, which permits
the use of MaxScale with three or more database servers.
You can find the full license text for MaxScale at mariadb.com/bsl and a
general BSL FAQ at mariadb.com/bsl-faq-adopting. Feel free to
copy or refer to them for your own BSL software!
The key characteristics of BSL are as follows:
- The source code of BSL software is available in full from day one.
- Users of BSL software can modify, distribute and compile the source.
- Code contributions are encouraged and accepted through the "new BSD" license.
- The BSL is purposefully designed to avoid vendor lock-in. With vendor lock in, I here mean that users of BSL software are not depending on one single vendor for support, fixing bugs or enhancing the BSL product.
- The Change Date and Change License provide a time-delayed safety net for users, should the vendor stop developing the software.
- Testing BSL software is always free of cost.
- Production use of the software is free of cost within the use limitation.
- Adoption of BSL software is encouraged with use limitations that provide ample freedom.
- Monetisation of BSL software is driven by incremental sales in cases where the use limitation applies.
Whether BSL will be widely adopted remains to be seen. It’s
certainly my desire that this new business model will inspire
companies who develop Closed Source software or Open Core
software to switch to BSL, which will ultimately result in more
Open Source software in the community. With BSL, companies can
realize a similar amount of revenue for the company, as they
could with closed source or open core, while the free of cost
usage in core production scenarios establishes a much larger user
base to drive testing, innovation and adoption.