Save MySQL by letting Oracle keep it GPL

Dec 29, 2009 / By Sheeri Cabral

Tags: , ,

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:

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.

17 Responses to “Save MySQL by letting Oracle keep it GPL”

  • monty says:

    What you miss is that MySQL had an active, multi-year contract with InnoDB that made it impossible for Oracle to close source InnoDB. It also forced Oracle to keep up maintaining InnoDB and to provide licenses, to a set price, to MySQL Ab.

    Oracle did work on a closed source version of InnoDB, codename InnoDB+, but they never released it, probably because our contract with them stopped them.

    Oracle did hold InnoDB as a Damocles sword over MySQL AB and used it both to slow down MySQL acceptance in the market and to lower our market value. They also used InnoDB as a bargain chip when they tried to buy us.

    We never find out why they did auto renew the InnoDB contract. We at MySQL AB assumed that by keeping on developing InnoDB, but very slowly and not adding critical performance enhancement or patches, they kept their hold on MySQL Ab and stopped competitive engines to emerge.

    If Oracle would not have renewed the contract, MySQL Ab could have started to sue a fork of it and move their embedded customers to Falcon, MariaDB or MyISAM.

    It was because of Oracle buying InnoDB that MySQL Ab spent 10+ million USD on trying to provide an alternative for InnoDB; We didn’t want to be depending on Oracle.

    This was also the reason for why MySQL Enterprise is released under GPL; So that MySQL AB would not be hindered by the GPL in InnoDB.

  • Lukas Vysusil says:

    Sheeri,
    let’s not forget the only certainty in these uncertain times. Corporations exists for the sole purpose of making profit. I actually believe the promises that they will keep MySQL open source, because that does not conflict with the profit concept. What I don’t believe in is that lucrative clients (from the Oracle perspective) will keep using MySQL in the long term. Soon or later major upgrade decision will come and there will be people from Oracle assisting with those decisions. I’m sure there are already ideas sprouting about how to make the transition to the …plug any marketing buzz word here… database smooth and maybe even just for the cost of Oracle support, would you resist such an offer? Will the IT managers and decision makers resist? I don’t know, but if I should place bets, they’d be on Oracle side.

  • Lukas says:

    Of course there have been improvements, important ones too, in the last years. But money driven stewardship have also caused us endless regression bugs, performance loss, confusing roadmaps, weird version splits etc.

    Of course there are plenty of companies that want to embedd MySQL, but if they did not prepare themselves for such a situation they were simply naiv, or is their dependence on MySQL a threat for the market, because there are alternatives (sqlite, firebird) and also because none of them have gotten any significance.

    MySQL will continue to be a critical piece on the internet infrastructure even if stuff like the cluster stuff doesnt get worked on, even if stored procedures continue to suck, even if subquery performance continues to suck. I believe there is enough interest in keep maintaining and improving the pieces that do really matter for solving the web problem, be it by small companies or big ones like Google, Facebook etc.

    Sure it was great to be able to waive Sun’s support chain for a short while, but lets be honest selling MySQL AB’s support contracts wasnt all that easy for me when it came to convince the client to try MySQL. If there is demand there will be competent support offerings and then it will be up to the client to trust my expertise in choosing MySQL and choosing the right support company. Is it ideal? No. Is it a stumbling block? No. Will this cement Oracle’s dominance until eternity? No!

    So while I am not convinced that Oracle will in the long term do whats right for MySQL (then again neither MySQL AB nor Sun did either), it doesnt matter in the grand scheme of things. Sure development might slow down, but like I have said for the longest time, if MySQL becomes a true open source project, hopefully we will use the deveopment resources we have for things we actually need instead of making MySQL worse by adding crap we do not need.

  • Robert Treat says:

    Personally I think the next 3 years are pretty straightforward for Oracle/MySQL, but it is likely hard to predict what will change 5 years from now, even for Oracle themselves. I would +1 Lukas comment, while it is hard to say if Oracle will do the right thing, *neither did MySQL AB or Sun*. Sheeri is write that Oracle has a track record of continuing to support profitable software (let’s not forget BerkleyDB folks), and it just makes sense that they will continue to push MySQL for that reason.

    In short, very good write up Sheeri; in fact the scariest part of this response is that it still does cover all the factual errors and misinformation Monty is spreading.

  • Marten Mickos says:

    Just a brief note, for the records, that Monty’s analysis (above, in response to Sheeri’s posting) of MySQL AB and the InnoDB contract is incorrect and misleading. But debating that old topic won’t do much good.

    “Saving MySQL” consists not of fighting outdated battles, but of going after the immense opportunities that lie ahead – be they new milestone releases, new tools and add-ons, new and improved storage engines, or anything else that will serve the installed base and hence the world.

    Marten

  • Monty — you have spun the FUD so much that you have begun to believe it yourself. You prove my point that Oracle has a history of contributing to MySQL:

    “We never find out why they did auto renew the InnoDB contract.”

    You do not understand why because you assume that Oracle wants to kill MySQL. The problem is that the assumption is faulty!

    Others have rebutted specific points better than I – MySQL has been slow to accept community patches and bug fixes, so InnoDB following suit is *not* a conspiracy.

    Both sides of this debate have good company. However, the entirety of Monty’s position depends on the assumption that Oracle wants to kill MySQL, and if that’s the case, why didn’t Oracle kill MySQL years ago? Even Monty does not understand why!

    I have no idea what Oracle’s actual position is, but it’s obvious from Oracle’s past actions that it does NOT consider MySQL an enemy to be eliminated.

  • Matt says:

    According to the 451 Group’s recent survey 16.8% of MySQL users stated that they thought that Oracle should be allowed to keep it, with a further 4.2% stating categorically that Oracle should be allowed to keep it as long as the code continues to be made available under an open source license. Meanwhile, 34.0% of MySQL users stated that Oracle should hand the database to an independent foundation to continue its development, and 7.7% stated that Oracle should relicense it under a more permissive license than the GNU GPL. Just 3.9% thought that Oracle should be forced to sell it to another vendor. In comparison, 12.3% of MySQL users said they did not care either way and 12.6% didn’t know.

    Clearly the 451 asked different questions from Monty Program, but it provides some interesting context.

    In answer to a different question, 63.9%, of MySQL users said they will continue to use MySQL if it is acquired by Oracle, while 14.4% are less likely to use MySQL, and 5.6% are more likely to use MySQL if it is acquired by Oracle.

    A summary of the survey is here: http://blogs.the451group.com/opensource/2009/12/04/451-group-survey-highlights-user-concerns-over-oracles-proposed-ownership-of-mysql/ Full analysis here: http://www.the451group.com/report_view/report_view.php?entity_id=60700

  • Singer Wang says:

    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.”

    That’s a big piece of FUD and you know it Monty. There is no such exception provided by Linux.

    There is no restrictions on running commercial software on GPL.

  • henrik says:

    hi sheeri

    You seem to know an awful lot of what monty *really* wants. Truth is, the best option for mysql is to continue to be independent of its main competitor, oracle, and there is no benefit for monty program in that scenario. It’s funny how selflessness can confuse so many people these days. If you want to blog about how nice you think oracle is, please continue, but please stop inventing these theories that you know what monty really thinks.

  • Mark Callaghan says:

    Henrik,
    Whether or not Sheeri has done this …

    Why is it OK for MPAB to speculate on the intent of Oracle but not OK for Sheeri to speculate on the intent of Monty?

  • Lukas says:

    also .. its entirely possible for Monty to be selfless and still wrong.

  • dan says:

    how best to kill mysql?

    oppose oracle mysql take over to death so that EC will object the merger. oracle will dis invest mysql to complete the merge and then kill innodb.

    no innodb no mysql…

  • ghassan says:

    I got a simple question to Monty: will he agree to pay Oracle 500M$ to buy-out MySql? Sun paid 1B$ for it, (how much did he get from that?). I think Larry would be happy to sell for that amount, and write-down the remaining half billion is losses.
    Just let him put his money where his mouth is.

    rgds

  • Marc says:

    Sheeri, you suggest that Monty’s position is that Oracle wants to kill MySQL. I think that’s a pretty black and white statement on your part. I think Monty is correct in his view that Oracle could be a threat to the overall future of MySQL by limiting it’s growth. Oracle could steer it, slow it, misguide it, and limit it all without killing it. The fact of the matter is that Oracle is a corporation that is driven by profit alone and they answer to their shareholders. Any time a giant commercial software company wants to absorb a widely used and competitive open source software application, red flags should go up and all should be concerned. Would you be worried if Microsoft wanted to own Apache, Linux or PHP? I would! Finally, Monty made a point already about why Oracle renewed their InnoDB contract. It would make sense from Oracle’s stand point to have a foot in the door and guide and slow down MySQL. If this prevented other directions from being taken, then it makes perfect sense.

    Let’s all remember that profit driven corporations ultimately answer to one thing only, and that’s profit.

  • Hi Sheeri,

    My question has nothing to do with the Oracle/MySQL debate as such, but concerns my understanding of the GPL.

    You mention:

    “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.”

    I am wondering how this is possible. In order to access MySQL, Crystal Reports, must link the MySQL client library.

    The MySQL client library is GPL, and this makes any program that links it a “derived work” which, in turn, also has to be GPL’ed.

    I am wondering how Crystal Reports gets around this problem…

  • Paul — it’s simple, Crystal Reports does not *provide* the client library, it just interfaces with it and uses it, if it’s available.

    So to connect Crystal Reports to MySQL, you need to make sure your system has the appropriate connectors.

    It’s a dynamic link, not a static link, so it doesn’t need to be GPL’d, because it doesn’t redestribute the client library.

  • […] Tai paš? laik? Monty turpin?ja st?st?t, ka tas viss ir tikai tukši sol?jumi un aicin?ja sagl?bt interneta br?vest?bu, kur? faktiski atbild?ja uz biež?k uzdotajiem jaut?jumiem, k?p?c vi?am tik ?oti šis pas?kums nepat?k un, piem?ram, k?p?c tad pats MySQLam ??va nok??t SUN rok?s. K? jau tas gaid?ms rad?s ar? atbildes uz Monty pazi?ojumiem, kaut vai š?, kas maigi izsakoties visai skeptiski v?rt? vi?a so?us. […]

Leave a Reply

  • (will not be published)

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>