Having been a free software user and supporter for many years, I am disheartened by some of the comments made in the MySQL/Oracle debate regarding the GNU Public License (GPL) and other licenses. There is much throwing around of misconceptions and untruths about licenses and their differences. In this blog, I shall take on some of the bigger misconceptions.
While Linux is indeed distributed under the GPL, as is MySQL, Linux has an exception that allows anyone to run any kind of applications (including closed source applications) on top of Linux.
There is nothing in the GPL that forbids running closed source applications on top of GPL-licensed software. The only thing that GPL has in this regard is that if you make changes to GPL-licensed software and re-distribute it as a binary, then you must make the modified source code available. This is the reason why commercial Linux distributions make available their source code, either online (as Red Hat does) or on the demand of those who purchase copies (à la SUSE). It is also the reason why there are many commercial software products running on Linux, such as the Oracle Database Server, MATLAB, etc., etc.
I think that GPL is a great open source license, in many cases the best license. The GPL license ensures freedom of the code and at the same time gives the copyright holder a very strong control on the code and it’s ecosystem, especially it’s closed source customers.1
This is another contradiction. How does the GPL give the copyright owner strong control over its closed source customers? In fact, the rules of GPL mandate that any closed source customer is able to obtain a copy of the source code for their closed source version. Furthermore, that customer is then able to release the source code to anyone, and if they want to, sell their own version. So in fact, with the GPL there is no way to control their closed source customers.
Currently, anyone can take the MySQL source code and make changes to it, as Percona and Monty AB currently do. If, however, they decide to sell a closed source copy, they must also provide the source if asked to do so–as the GPL enforces.
Oracle should change the license of MySQL to a more permissive Open Source license that would ensure that if Oracle would try to kill MySQL, the community would be able to take over and rescue MySQL and develop it as a product that can be freely used by everyone.
The fact that it is GPL-licensed means that anyone fork it and create their own version, as Percona and Monty AB have done, regardless of whether Oracle kills it or does not. So what would releasing MySQL under a more permissive Open Source license (such as the Apache Software License or the BSD license) give the community?
Nothing, I believe. It would give anyone the freedom to take MySQL, make changes to it, and sell it as a closed source product, without having to share the source. And that sounds to me like a much better way to control one’s closed source customers than the GPL.
So, a change of license would benefit only those who want to produce and sell a modified version of MySQL and sell it without the obligation to give away the source code.