Save MySQL by letting Oracle keep it GPL

In this article I am responding to many parts of Monty’s post at http://monty-says.blogspot.com/2009/12/help-keep-internet-free.html which are just plain not true, or are exaggerations.

I will give my own answers to the self-interview questions Monty provides, as I feel he is using his name and popularity to spreading fear that is not warranted.

Q: Why don’t you trust that Oracle would be a good owner of MySQL?

I cannot say whether or not Oracle would kill MySQL. However, I have already stated I believe Oracle will not kill MySQL. This is based on the fact that Oracle has had the chance to kill MySQL for several years, by making InnoDB proprietary, and has not.

Folks can debate until they are blue in the fact about whether or not it is in Oracle’s best interest to kill MySQL. Actually, I see more logic in the arguments that Oracle should kill MySQL, than in the arguments why it should not. But the fact remains that Oracle has had better opportunities to kill MySQL and has not. The “why” does not really matter; Oracle has put in development effort into making MySQL better, with InnoDB, instead of killing off MySQL — years before Oracle had any possible ownership.

Q: Can Oracle change the license of MySQL ?
Monty’s entire answer is:

Oracle can’t change the license for old versions of MySQL. They can however change the license for all new code and put a majority of all new development on the new closed source version. Over time the MySQL GPL code from Oracle will be as usable as Betamax video cassettes. It is just not enough to give promises for the next 5 years as MySQL will be needed in the market for years to come.

Again, I point to the fact that Oracle could have done this 5 years ago with InnoDB — several years before Percona and Monty AB came along with their own forks. Read Jeremy Zawodny’s post from 2005 and especially the comments. For instance:

Comment: “this does put a crimp in MySQL’s dual licensing model, because they won’t necessarily be able to sell a MySQL/InnoDB solution commercially unless Oracle agrees.”

Fact: The comment is true — however, Oracle did agree, and MySQL did sell a commercial version of MySQL+InnoDB for a while (remember the big problems with the community/Enterprise version split? MySQL sold MySQL, with InnoDB, and Oracle allowed them to.)

Comment: “InnoDB was the only thing MySQL had going for it to seriously compete with Oracle, and Oracle knew it. Now that Oracle is acquiring InnoDB, in a year ot two, we’ll see Larry Ellison but the major squeeze on MySQL AB to either pay up for licensing InnoDB or not include it at all.”

Comment: “Now, what happens when Oracle decides to put a little squeeze on that license cost or heavily influence the evolution and support of that product? MySQL customers and prospects will have to reevaluate their database investments and analyze short and long term impact on their businesses.”

Comment: “I’ve been an Oracle customer for 15+ years. Based on that relationship, I have no reason to believe that Oracle has anything but their own interests in mind. MySQL users should be very worried.”

Fact: InnoDB is still GPL, still freely distributed with MySQL. The fears of these commenters were unwarranted. Just as the fear Monty is trying to spread is unwarranted.

Q: MySQL is free (GPL) software, how could anyone be able to kill it?

Monty says: “GPL only guarantees that the (old) code will always be free. It doesn’t guarantee the economics around the project or that anyone can or will develop it further.”

He is factually accurate here. However, he continues to spread fear that MySQL will die because the “economies around the project” will suffer. This is actually contradictory to what the general public wants, by Monty’s own petition:

(From http://helpmysql.org/en/stats at the time of this writing):
Total number of confirmed sign-ups: 691
Suggested solutions:

1) MySQL must be divested to a suitable third party that can continue to develop it under the GPL. 650 94.1 %

2) Oracle must commit to a linking exception for applications that use MySQL with the client libraries (for all programming languages), for plugins and libmysqld. MySQL itself remains licensed under the GPL. 357 51.7 %

3) Oracle must release all past and future versions of MySQL (until December 2012) under the Apache Software License 2.0 or similar permissive license so that developers of applications and derived versions (forks) have flexibility concerning the code. 383 55.4 %

Look at that — over 94% of responders think MySQL should continue to be released under the GPL. But remember what Monty said?

“GPL only guarantees that the (old) code will always be free. It doesn’t guarantee the economics around the project or that anyone can or will develop it further.”

Oracle has kept the GPL licensing for InnoDB for 4 years. Oracle has promised to keep GPL licensing for MySQL for at least 5 years. They are doing as much as they can to guarantee that MySQL will continue to use the GPL. Why is there confidence that a third-party will keep MySQL under the GPL license? It really depends on who the third party is! Oracle has a proven track record of keeping MySQL’s critical code (InnoDB) open and GPL’d.

Using the GPL is not what Monty wants — he wants to be able to have the “economy” around MySQL, by having the exceptions noted in suggestion 2, or a different license entirely, as noted in suggestion 3. He writes:

“The fork can’t be used with other products that are using MySQL as a building block for their closed source applications.”

Factually, this statements is true. But it is misleading; plenty of products can be closed source and use MySQL. Under the GPL, it is not legal to redistribute a closed version of MySQL. Effectively, this means a closed source product cannot *embed* MySQL. MySQL currently is dual-licensed and sells embedded licensing, so that closed source products can in fact redistribute a closed version of MySQL.

Crystal Reports is an excellent example of a legal, closed-source commercial product that can run using MySQL as backend storage. Crystal Reports does not have to pay an embedded license, because they do not embed MySQL in their product.

Anyone can redistribute MySQL, for free or commercially, so long as they keep the source open. MySQL itself did this, with the Enterprise version.

Monty does not want MySQL to be GPL’d. He says this himself:

“It is wishful thinking to claim that released under the GPL license is enough remedy for Oracle”

Ask yourself this: If Oracle sells MySQL to a third party that keeps MySQL GPL’d, will Monty use his popularity to go after them, until they change the licensing? What’s the difference between Oracle owning MySQL and keeping it GPL, and a different company owning MySQL and keeping it GPL? There is no difference to the community. GPL is GPL, no matter who owns it, and the problem is not Oracle owning MySQL, it’s that Monty does not want MySQL to be GPL’d.

Note that solutions 2 and 3 in the poll, exceptions and alternatives to GPL, have just over 50% support, much less than the 94% that agree MySQL should be GPL’d. I can hear the argument now — “Well, that’s still over half, that’s the majority!” Except that the poll is self-selecting for people who do not want Oracle to acquire MySQL. There are many, many people, including myself, who think that it is OK for Oracle to buy MySQL and keep the status quo of the GPL — and those opinions are excluded from the poll.

I do not have a different poll, but I feel that most people that are happy with (or even just OK with) Oracle acquiring MySQL and keeping the license GPL (similar to solution 1, with over 94% agreement to those who do not want Oracle to acquire MySQL). Therefore, if there was a regular poll, not Monty’s “petition plus a poll”, I feel we would see similar near-consensus that MySQL should stay GPL, regardless of who owns it.

Q: You are doing your own fork of MySQL called MariaDB. How can you do that if it’s so hard to fork MySQL?

Monty says: “When we started with MariaDB, MySQL was owned by Sun, which has a lot of reasons to keep MySQL alive and well. We had seen no changes in the policies of SUN regarding licenses or costs. In this scenario it’s possible to do a successful fork if you can provide added value to what Sun is doing (like working more closely with the community).”

There is no difference between Sun or Oracle here — only Monty spreading fear, uncertainty and doubt (FUD) that Oracle *might* close the source of MySQL. As I said before, people can argue about what Oracle might or might not do. History has proven that Oracle will keep MySQL open source and GPL’d, and for me that is stronger than any conjecture of what Oracle *might* do.

Q: Why have a lot of companies put money into developing Linux? Doesn’t Linux have the same problems with GPL as MySQL?

Monty says:
“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.”

See the argument above about embedded licensing, complete with naming Crystal Reports as a successful, legal, commercial, closed-source product that uses MySQL as a backend.

Q: Why are you working with the EC to try to block the deal?

Monty’s answer:
“I have two main objects in my business life:

* Save the product, that I worked on for 27 year, from getting killed as an open source project.
* Ensure that the core developers of MySQL, who I have worked with for many years, get a good ‘home’ where they can continue to develop MySQL.”

Oracle has already promised to keep MySQL alive as an open source product, so the first item does not apply as a valid reason. As for the second item, if he cared so much about the core developers of MySQL, why does he continue to let Sun lose tons of money while this deal stagnates? Why not just encourage Percona to hire them all to work on Xtradb? (Monty has limited MariaDB to 50 employees, because after that it loses the “family feel” — which I agree with — so MariaDB could employ some, but not all, of the developers).

This post is getting long, but here is a good clue that Monty is spreading FUD — he makes “the sky is falling” and “slippery slope” arguments:

“If the deal is approved based on the fact that ‘MySQL can be forked’, that will be a big blow to open source Software.
It means that open source software is not protected for anticompetitive measures and it will be ok for big companies to freely buy up their open source competitors and kill them.”

Monty cannot use facts to win his case, so he is resorting to scare tactics by effectively saying: “If Oracle acquires MySQL, open source software is doomed!”

Another good FUD tactic — blame the enemy: “We also have to recognize that it’s Oracle that is holding Sun hostage just to get MySQL. Oracle could have got the deal closed very quickly if they had divested MySQL and just forked it.”

Actually, it is Monty that is responsible. Before he started his campaign against Oracle, the EC would have approved the deal. Monty is spreading fear by doubting what Oracle will do with MySQL in the future. The future is uncertain; it is also possible a third party will close MySQL’s source.

Monty’s argument is like a bank robber saying “If everyone would have just stayed on the floor, I would not have had to shoot.” That is indeed a factual statement — just like Monty’s accusation that Oracle could close the deal quickly if they listened to his demands.

In short — Oracle has a proven history of keeping InnoDB free and open source. There is no reason to believe they would not keep it free and open source, and they have promised to keep it free and open source for the foreseeable future — 5 years is a LONG time in software development terms. For example, Ruby only gained acceptance only 3 years ago.

In this article I am responding to many parts of Monty’s post at http://monty-says.blogspot.com/2009/12/help-keep-internet-free.html which are just plain not true, or are exaggerations.

I will give my own answers to the self-interview questions Monty provides, as I feel he is using his name and popularity to spreading fear that is not warranted.

Q: Why don’t you trust that Oracle would be a good owner of MySQL?

I cannot say whether or not Oracle would kill MySQL. However, I have already stated I believe Oracle will not kill MySQL. This is based on the fact that Oracle has had the chance to kill MySQL for several years, by making InnoDB proprietary, and has not.

Folks can debate until they are blue in the fact about whether or not it is in Oracle’s best interest to kill MySQL. Actually, I see more logic in the arguments that Oracle should kill MySQL, than in the arguments why it should not. But the fact remains that Oracle has had better opportunities to kill MySQL and has not. The “why” does not really matter; Oracle has put in development effort into making MySQL better, with InnoDB, instead of killing off MySQL — years before Oracle had any possible ownership.

Q: Can Oracle change the license of MySQL ?
Monty’s entire answer is:

Oracle can’t change the license for old versions of MySQL. They can however change the license for all new code and put a majority of all new development on the new closed source version. Over time the MySQL GPL code from Oracle will be as usable as Betamax video cassettes. It is just not enough to give promises for the next 5 years as MySQL will be needed in the market for years to come.

Again, I point to the fact that Oracle could have done this 5 years ago with InnoDB — several years before Percona and Monty AB came along with their own forks. Read Jeremy Zawodny’s post from 2005 and especially the comments. For instance:

Comment: “this does put a crimp in MySQL’s dual licensing model, because they won’t necessarily be able to sell a MySQL/InnoDB solution commercially unless Oracle agrees.”

Fact: The comment is true — however, Oracle did agree, and MySQL did sell a commercial version of MySQL+InnoDB for a while (remember the big problems with the community/Enterprise version split? MySQL sold MySQL, with InnoDB, and Oracle allowed them to.)

Comment: “InnoDB was the only thing MySQL had going for it to seriously compete with Oracle, and Oracle knew it. Now that Oracle is acquiring InnoDB, in a year ot two, we’ll see Larry Ellison but the major squeeze on MySQL AB to either pay up for licensing InnoDB or not include it at all.”

Comment: “Now, what happens when Oracle decides to put a little squeeze on that license cost or heavily influence the evolution and support of that product? MySQL customers and prospects will have to reevaluate their database investments and analyze short and long term impact on their businesses.”

Comment: “I’ve been an Oracle customer for 15+ years. Based on that relationship, I have no reason to believe that Oracle has anything but their own interests in mind. MySQL users should be very worried.”

Fact: InnoDB is still GPL, still freely distributed with MySQL. The fears of these commenters were unwarranted. Just as the fear Monty is trying to spread is unwarranted.

Q: MySQL is free (GPL) software, how could anyone be able to kill it?

Monty says: “GPL only guarantees that the (old) code will always be free. It doesn’t guarantee the economics around the project or that anyone can or will develop it further.”

He is factually accurate here. However, he continues to spread fear that MySQL will die because the “economies around the project” will suffer. This is actually contradictory to what the general public wants, by Monty’s own petition:

(From http://helpmysql.org/en/stats at the time of this writing):
Total number of confirmed sign-ups: 691
Suggested solutions:

1) MySQL must be divested to a suitable third party that can continue to develop it under the GPL. 650 94.1 %

2) Oracle must commit to a linking exception for applications that use MySQL with the client libraries (for all programming languages), for plugins and libmysqld. MySQL itself remains licensed under the GPL. 357 51.7 %

3) Oracle must release all past and future versions of MySQL (until December 2012) under the Apache Software License 2.0 or similar permissive license so that developers of applications and derived versions (forks) have flexibility concerning the code. 383 55.4 %

Look at that — over 94% of responders think MySQL should continue to be released under the GPL. But remember what Monty said?

“GPL only guarantees that the (old) code will always be free. It doesn’t guarantee the economics around the project or that anyone can or will develop it further.”

Oracle has kept the GPL licensing for InnoDB for 4 years. Oracle has promised to keep GPL licensing for MySQL for at least 5 years. They are doing as much as they can to guarantee that MySQL will continue to use the GPL. Why is there confidence that a third-party will keep MySQL under the GPL license? It really depends on who the third party is! Oracle has a proven track record of keeping MySQL’s critical code (InnoDB) open and GPL’d.

Using the GPL is not what Monty wants — he wants to be able to have the “economy” around MySQL, by having the exceptions noted in suggestion 2, or a different license entirely, as noted in suggestion 3. He writes:

“The fork can’t be used with other products that are using MySQL as a building block for their closed source applications.”

Factually, this statements is true. But it is misleading; plenty of products can be closed source and use MySQL. Under the GPL, it is not legal to redistribute a closed version of MySQL. Effectively, this means a closed source product cannot *embed* MySQL. MySQL currently is dual-licensed and sells embedded licensing, so that closed source products can in fact redistribute a closed version of MySQL.

Crystal Reports is an excellent example of a legal, closed-source commercial product that can run using MySQL as backend storage. Crystal Reports does not have to pay an embedded license, because they do not embed MySQL in their product.

Anyone can redistribute MySQL, for free or commercially, so long as they keep the source open. MySQL itself did this, with the Enterprise version.

Monty does not want MySQL to be GPL’d. He says this himself:

“It is wishful thinking to claim that released under the GPL license is enough remedy for Oracle”

Ask yourself this: If Oracle sells MySQL to a third party that keeps MySQL GPL’d, will Monty use his popularity to go after them, until they change the licensing? What’s the difference between Oracle owning MySQL and keeping it GPL, and a different company owning MySQL and keeping it GPL? There is no difference to the community. GPL is GPL, no matter who owns it, and the problem is not Oracle owning MySQL, it’s that Monty does not want MySQL to be GPL’d.

Note that solutions 2 and 3 in the poll, exceptions and alternatives to GPL, have just over 50% support, much less than the 94% that agree MySQL should be GPL’d. I can hear the argument now — “Well, that’s still over half, that’s the majority!” Except that the poll is self-selecting for people who do not want Oracle to acquire MySQL. There are many, many people, including myself, who think that it is OK for Oracle to buy MySQL and keep the status quo of the GPL — and those opinions are excluded from the poll.

I do not have a different poll, but I feel that most people that are happy with (or even just OK with) Oracle acquiring MySQL and keeping the license GPL (similar to solution 1, with over 94% agreement to those who do not want Oracle to acquire MySQL). Therefore, if there was a regular poll, not Monty’s “petition plus a poll”, I feel we would see similar near-consensus that MySQL should stay GPL, regardless of who owns it.

Q: You are doing your own fork of MySQL called MariaDB. How can you do that if it’s so hard to fork MySQL?

Monty says: “When we started with MariaDB, MySQL was owned by Sun, which has a lot of reasons to keep MySQL alive and well. We had seen no changes in the policies of SUN regarding licenses or costs. In this scenario it’s possible to do a successful fork if you can provide added value to what Sun is doing (like working more closely with the community).”

There is no difference between Sun or Oracle here — only Monty spreading fear, uncertainty and doubt (FUD) that Oracle *might* close the source of MySQL. As I said before, people can argue about what Oracle might or might not do. History has proven that Oracle will keep MySQL open source and GPL’d, and for me that is stronger than any conjecture of what Oracle *might* do.

Q: Why have a lot of companies put money into developing Linux? Doesn’t Linux have the same problems with GPL as MySQL?

Monty says:
“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.”

See the argument above about embedded licensing, complete with naming Crystal Reports as a successful, legal, commercial, closed-source product that uses MySQL as a backend.

Q: Why are you working with the EC to try to block the deal?

Monty’s answer:
“I have two main objects in my business life:

* Save the product, that I worked on for 27 year, from getting killed as an open source project.
* Ensure that the core developers of MySQL, who I have worked with for many years, get a good ‘home’ where they can continue to develop MySQL.”

Oracle has already promised to keep MySQL alive as an open source product, so the first item does not apply as a valid reason. As for the second item, if he cared so much about the core developers of MySQL, why does he continue to let Sun lose tons of money while this deal stagnates? Why not just encourage Percona to hire them all to work on Xtradb? (Monty has limited MariaDB to 50 employees, because after that it loses the “family feel” — which I agree with — so MariaDB could employ some, but not all, of the developers).

This post is getting long, but here is a good clue that Monty is spreading FUD — he makes “the sky is falling” and “slippery slope” arguments:

“If the deal is approved based on the fact that ‘MySQL can be forked’, that will be a big blow to open source Software.
It means that open source software is not protected for anticompetitive measures and it will be ok for big companies to freely buy up their open source competitors and kill them.”

Monty cannot use facts to win his case, so he is resorting to scare tactics by effectively saying: “If Oracle acquires MySQL, open source software is doomed!”

Another good FUD tactic — blame the enemy: “We also have to recognize that it’s Oracle that is holding Sun hostage just to get MySQL. Oracle could have got the deal closed very quickly if they had divested MySQL and just forked it.”

Actually, it is Monty that is responsible. Before he started his campaign against Oracle, the EC would have approved the deal. Monty is spreading fear by doubting what Oracle will do with MySQL in the future. The future is uncertain; it is also possible a third party will close MySQL’s source.

Monty’s argument is like a bank robber saying “If everyone would have just stayed on the floor, I would not have had to shoot.” That is indeed a factual statement — just like Monty’s accusation that Oracle could close the deal quickly if they listened to his demands.

In short — Oracle has a proven history of keeping InnoDB free and open source. There is no reason to believe they would not keep it free and open source, and they have promised to keep it free and open source for the foreseeable future — 5 years is a LONG time in software development terms. For example, Ruby only gained acceptance only 3 years ago.