Amazon's announcement that it is launching cloud-based MySQL services come at a convenient time. It shows how money to support Free Software development can come from unexpected sources, and without a proprietary license appearing anywhere in the picture.
This is not really good news for Free Software. However, Amazon gives us the best evidence that MySQL can be "monetized" by offering it in a Software As a Service setting. This can happen with GNU GPL licensed software and without receiving any special permission from the copyright holder, contradicting all claims that there is no viable way to fund development of a Free Software project without a dual license. The impatient reader can jump directly to the section where I deal with the cloud, but I invite you to follow all the argument.
Dual licensing, or proprietary licensing of Free Software
I maintained in my first article on the subject of Oracle/Sun acquisition that the dual licensing point is moot. Quite so. If I am permitted to further elaborate on this, I will try to help the reader through the arguments according to which the GNU GPL being a strong copyleft license -- therefore demanding strict conditions for its redistribution in derivatives -- is not at all relevant in allowing others to build a successful business case around it even without the revenues from selling "exceptions".
Let us try to get back to the basics.
The "classic" theory around utilizing copyright in software business is that the copyright holder can exchange the permission to use a copy of a work, or to modify it or to incorporate it into another product and distribute it, in exchange of a monetary consideration. This is the proprietary model of selling "licenses".
Then we have Free Software. You receive the permission to do a lot of things with the software, in other words, you have the four Freedoms. Within Free Software we have "permissive", AKA "ultraliberal", AKA "non restrictive" licenses. Those licenses permit you to do whatever you want with the software under the condition that you attribute the authorship of the original software to all the upstream authors, waive any legal remedy against them for any bug or malfunction, and little more. Indeed there is a license, the WTF license, that allows you to do literally WTF you want with the software. The issue with this end of the Free Software range is that those licenses permit to turn a Free Software application into a proprietary one. An example? PostgreSQL is licensed under the so called "BSD" license, and we have just heard that Red Hat has invested a considerable amount of money upon EnterpriseDB. EnterpriseDB is basically a proprietary product built around PostgreSQL and directed to the high end of the database market.
To avoid this proprietary evolution, the "copyleft" requirements were conceived. You certainly receive the four Freedoms, but you are required, as a condition to have them, to contribute back any improvements to the work and any larger work that is built around that work. So you cannot license under proprietary licenses what you have received under a copyleft license: what is Free shall remain Free. If you want to avoid these requirements, you must ask a special permission to the holder(s) of copyright. Then the holder(s) can ask you money in exchange of said permission, thus they are selling you "an exception". Which is entirely fine on a copyright basis, although it is certainly a diminished way to foster Free Software, as in order to maintain this line of licensing (know as "dual licensing") the holder of the original copyright must ask assignment of all the modifications in order to put them in the main branch. On the other hand, anybody can simply take the GPL license and fork away. The forker will never have the ability to sell the exception, unless the original copyright holder(s) also so permits. In a very few iterations, this is simply unmanageable.
Why dual licensing does not prevent forks
Now we come to the point of the MySQL debate. The complainants against the merger rejected the argument that being MySQL a GNU GPL licensed software application, there is no real possibility for Oracle to "squelch" the project, as a fork would likely kick in to fill the vacant space. The counterargument used by the opponents is that the fork would then miss the revenues from the proprietary licensing, therefore nobody would have incentives to invest in the fork because they would miss the necessary revenues to justify it on a financial basis. The counterfactual is however that there are plenty of forks of MySQL, which would be absurd or doomed to failure, in this narrow-sighted view. MariaDB, Percona, Our Delta and Drizzle are surely the most know forks already on the market before Oracle annouced its project acquisition.
I strongly reject, as I said before, that the only business case for any software project, including MySQL, is to sell licenses, or exceptions, whatever. This falls flatly against any contrary evidence of Free Software projects happily developed without anybody even thinking of selling a copyright license. I will not argue on it any more to avoid the impression that the argument is worth discussing. In fact it is not.
One of the most obvious and present ways to derive the necessary resources to sponsor a fork comes from the cloud example.
The cloud gets in the picture
I am not an anti-cloud luddite, but I am not an unreserved fan of cloud computing either. I would call it more properly Software As a Service (SAaS), which conveys the right message over where the issue lies. SAaS has a lot of pro's (it is a big source of competition and platform independency: these are invaluable still today). But it has also a lot of con's. Incidentally, one of the con's is that providing SAaS does not constitute "distribution", therefore the copyleft effect is avoided (unless it is the Affero variant). Get it?
Now I am going to state the obvious for a little. Note that Amazon:
- can charge money to permit use of its deployed copies of MySQL. If you want it, you pay it;
- can modify the codebase;
- can avoid to provide the modifications back, if it wants (but perhaps it will not want)
- does not need to ask the permission of anybody for all of the above.
In other words, Amazon can do a proprietary exploitation of GNU GPL software without being the copyright holder or an OEM licensee. It can fork the project and charge good money without incurring into any problems, it is not required to release its improvements back unless it distributes the modified software. It can take other improvements from the community without asking assignment of copyright, and still run internally its own different versions. If it releases its own version, then others can further fork and repeat the same exercise over and over. Who controls the copyright is irrelevant.
This is bad. This a way round copyleft. This allows a new kind of proprietarization, this is what Google is frequently accused to be indulging in. To be honest, Google also releases back a wide range of contributions and does many other very good deeds to Free Software, so don't ask me to take on Google for this.
But this also disproves quite remarkably the idea that only by holding the copyright one can commercially exploit the codebase at a sufficient level that it can be invested in. If it was the case, many of my clients would be out of business. Luckily for me and for us all, that is not the case. ;-)