Help keep the Internet free

A big part of the Internet is built on LAMP (Linux, Apache, MySQL and PHP/Perl/Python). Now Oracle is trying to buy Sun, which owns MySQL.

It's not in the Internet users interest that one key piece of the net would be owned by an entity that has more to gain by severely limiting and in the long run even killing it as an open source product than by keeping it alive. If Oracle were allowed to acquire MySQL, we would be looking at less competition among databases, which will mean higher license and support prices. In the end it's always the consumers and the small businesses that have to pay the bills, in this case to

Thanks for all the help in the first Save mysql effort. The blog got hit by more than 60,000 users and we where able to generate an approximate number of 10,000 emails to the EC. New answers are still coming in. Of the answers 0.7 % says "I trust Oracle". The rest 99.3 % says that they don't trust that Oracle would be good owner of MySQL.

We have got an indication that this is making a difference within EC, but we don't want to take any chances. We need to counter BOTH the about 400 Oracle customers that Oracle has persuaded to contact the EC AND the political and public pressure Oracle is putting on EC.

This is why we are now launching a world wide campaign in several languages to get a very large number of names that we will give to those taking the decision. This will include the European Commission (EC) and the representatives of the 27 EU Member States who will meet in Brussels in early January to discuss the case. It will also include regulators in other jurisdictions (where it would, unlike in Europe, not be acceptable to announce in public who they are).

We are searching for volunteers to help us with this effort. If you are interested to help, join the #helpmysql IRC channel on Freenode. Help us keep the infrastructure of the Internet free!

In the rest of the blog I will try to answer all the questions and concerns that were raised in the first Help-MySQL campaign. This is not required reading, but may be of some interest for those the want to know a little more about my thinking of the current situation.

I will do this in the form of a self-interview, something a lot of famous bloggers have done in the past.

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

Oracle is the company that has the biggest market share in revenues for databases in all customer markets/segments. MySQL is the database with the highest number of installed units in all markets (except in the high enterprise market where it has only a medium size unit share). If Oracle were allowed to buy MySQL then Oracle would almost be in a monopoly position in many market segments.

MySQL is causing Oracle sales losses around 1 billion usd/year (in lost sales to MySQL and because of having to do heavy discounting when competing with MySQL). Why would Oracle have an interest to invest in an open source MySQL long term?

Oracle has studied MySQL a long time and even offered to buy it twice before, but I have not yet seen the logic or explanation from Oracle that would explain how they can continue to develop and support MySQL without cannibalizing the most profitable part of their business.

There is no other logical reason why Oracle would buy MySQL than to control it, reduce the competition with the present Oracle offering and slowly change it to a more closed source product and start charging for it and at the same time eliminate the competition between MySQL and Oracle.

If we examine what has happened lately, we don't get any reassurance that Oracle would be a good owner:
  • Instead of working with the EC to quickly resolve things, Oracle has delayed the process in every imaginable way and instead resorted to public pressure to try to convince the EC to quickly approve the deal.
  • Oracle did not provide any remedies to the EC and the public promises they have published are just empty promises.
  • As part of the new layoffs in Sun, a lot of open source people, including people from the MySQL group have been fired. It seems that Oracle has been part of choosing the people that will be laid off.
  • Oracle as a company is not known for releasing its own software as open source. The open source software it has acquired, like InnoDB, has after being acquired, been developed secretly and slowly which is against how things are done in the open source environment. Larry Ellison's own statement about open source summarizes it nicely "We don't have to fight open source, we have to exploit open source".
  • The main work Oracle has contributed to open source is extending the Linux kernel, but they have done that mainly to ensure that their own products works better on Linux.

Q: Can Oracle change the license of MySQL ?

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.

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

With killed, I mean a project that is not actively developed and for which you don't get bug fixes or support. By not spending money on development of the open source version of MySQL and/or position it in the market as 'not reliable' or 'for testing only' Oracle could make the open source very unattractive for most users. The open source version of MySQL would not be an attractive alternative for long and users will start searching for other alternatives. The easiest alternative, because of no migration costs, will be paying for a closed source Enterprise version of MySQL from Oracle.

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.

Q: But why can't one just a fork (make a copy of it and start developing it)?

MySQL is an infrastructure project, a building block which others either enhance (like storage engines) or which they embedded in other products (think of a GPL library).

You can fork a GPL infrastructure project, but not the economic ecosystem around it. You can read more about it in my earlier blog posting.

The short summary is:
  • The fork can't be used with other products that are using MySQL as a building block for their closed source applications.
  • The fork has to work in an environment where no one has to pay for it. (How can there be enough money to earn for serious development ?)
  • In addition to the above, it's also very hard to do a full fork of a project like MySQL. You need, among other things:
  • Leaders that have passion for the project (Almost all big successful open source projects have passionate leaders that help coordinate and provide a vision).
  • People who know the code and can maintain and extend it.
  • Money: For hardware, company infrastructure, marketing to get known (especially if you fork a known trademark, like MySQL) etc.
To continue develop a fork of MySQL so that it continues to be a competing force in the database industry, you need 5-10 musd/year to put on development. There is very little chance that a fork can get enough money to do the needed development when there are very few companies that can use the fork to generate direct revenue. There are also very few investors that are prepared to put money into a product with no sure income stream and a model that is only based on services.

I don't know if there ever has been a successful fork of a big infrastructure program like MySQL. It is wishful thinking to claim that released under the GPL license is enough remedy for Oracle and "if Oracle is doing something bad" a fork will 'appear' and take care of things.
  • I don't think that competition cases should be judged based on wishful thinking.
Oracle has made a big point that they are not a threat to MySQL because anyone can just fork it. If they really believe this is true, then they would have divested MySQL a long time ago to get a quick clearance of the Oracle/Sun deal and would then have forked MySQL. They would not have let Sun lose 1 billion usd (based on Larry Ellison's estimate) while waiting for clearance because of MySQL.

If MySQL were be so easy to fork, Sun would also not have paid 1 billion for MySQL.

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

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

However with an owner that has nothing to gain by developing MySQL, under an open source license, things are totally different.

The reason we are continuing with MariaDB is that all persons in Monty Program Ab are committed to work on the product, for which many of us have worked for close to 10 years.

We don't expect to make a lot of money while doing this, but we hope to be able to ensure that MySQL can continue to live as an open source product for some extended time.

In the discussions now people are very easily saying that "there is no problem, the community will take care of it if Oracle tried to kill MySQL".

I can tell you it's not easy; I have the best possible team working on MariaDB, still it has taken us 9 months to do some small required changes and create an infrastructure to be able to do our first release (we released a beta last month and are now working on releasing a release candidate (RC)).

We are spending 100,000 Euros/months just to keep MySQL alive (as MariaDB) and there are no sure signs we will ever be able to get that money back. Fortunately we have enough funding so we can continue some years with doing this. This is however not sustainable forever.

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

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 without being affected by the Linux copyright or GPL:

"NOTE! This copyright does *not* cover user programs that use kernel services by normal system calls - this is merely considered normal use of the kernel, and does *not* fall under the heading of "derived work"

Compare this to Sun's statement about commercial licenses:
"For OEMs, ISVs, VARs and Other Distributors of Commercial Applications:
OEMs, ISVs, VARs and other distributors that combine and distribute commercially licensed software with MySQL software and do not wish to distribute the source code for the commercially licensed software under version 2 of the GNU General Public License (the "GPL") must enter into a commercial license agreement with Sun"

The main reasons companies are taking part developing Linux is that they want their hardware and software to work with Linux. They don't make money directly on Linux, they make money on the things around Linux, without being affected by the GPL.

As closed source vendors can't use a fork of MySQL, because with the fork they are affected by the GPL, they will not spend time or money to develop the MySQL fork.

Q: What does your company, Monty Program Ab do?

Monty Program Ab Ab is a development company. We are working on a branch of MySQL, called MariaDB. MariaDB is an enhanced (faster, more features and less bugs) drop-in replacement of MySQL that is only available under GPL.

Monty Program Ab is planned to be a small company with a close connection to its employees and we have no plans to grow to more than 50 people (as after 50, you often lose the family-friendly feeling in the company).

We do mainly development of new features and extensions to MariaDB and MySQL. We also provide level 3 support to companies delivering support on MariaDB.

We don't do and don't plan to do e.g. end user support or training. We don't plan (and we don't want) be a new MySQL AB.

Monty Program Ab is created around the 'Hacking Business Model' that in practice makes the company 'employee owned'. There is no money I can personally make from Monty Program Ab.

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

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.
I am hoping for the EC and other regulators to ensure the first of the above. Monty Program Ab was created to ensure the second.

Q: In your view, what are the possible solutions for the Oracle / Sun / MySQL deal?

The European Commission (EC) has recognized that MySQL and Oracle are competing products and issued a statement of objections (SO) against the merger between Oracle and Sun on 11'th of November 2009.

As long as the products are recognized to be competing, any solution that the EC would accept has to ensure that there is as much competition in the database field before the merger as after the merger.

For this, I only see two working solutions:
  1. Oracle should divest MySQL.
  2. 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.
Divesting is the normal case to handle competition cases.

Doing a license change is a controversial thing that the EC can't force Oracle to do. This is however something that Oracle can suggest to the EC as a remedy to not have to divest MySQL.

Personally I would prefer divestiture as this is a clean solution to the problem. However, I could personally live with the solution 2) as this would achieve my main personal objective: That MySQL can't be killed.

Q: Isn't it unreasonable to require Oracle to change the license of MySQL?

Yes, of course neither the EU nor any other jurisdiction could dictate anything like that. Divestiture is the normal solution when you need to clear competition concerns. But since Oracle is trying to get away with some compromise, and if a compromise is what we get, it should be one where MySQL has a chance to survive. Not a compromise that just means a different kind of death for MySQL.

Q: How do the proposed remedies benefit your company, Monty Program Ab?

We do not know but hope that many companies would be unhappy with the new competitive situation if Oracle is the owner and would seek out MariaDB instead. But a big portion of the revenue would not come to us (as we cannot sell licenses, we do not produce first line support...)

If MySQL were divested to a strong player in the market that would care about MySQL and would have the trust in the market, Monty Program Ab would get a hard competitor and would have a hard time to get business.

If MySQL were licensed under a permissive license, like BSD, then the users would benefit as they now can securely continue to use MySQL in all context. Monty Program Ab would also switch to only produce code under BSD for the MariaDB server, to ensure that also MariaDB can be used in all context.

Monty Program Ab would benefit very little from of this; We cannot take money from selling BSD; We can only hope that there is a market demand for our skilled engineers.

The companies that would benefit the most from BSD are the companies that enhance MySQL (storage engine vendors and companies providing extensions to MySQL) and companies that embed MySQL in their products, like Adobe or Cisco.

The reason we are hoping for regulators to get the deal blocked on the current basis is thus not to earn more money, but because it's more important for us that MySQL will continue to be free, available for all, and developed in a way that meets the needs of all major market segments.

Q: As you are suggesting a license change, is GPL then a bad Open Source license?

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.

Thanks to this property of GPL, it's safe for many closed source vendors of embeddable software, to release their software as GPL. They get the benefit of the open source community, they help promote free software and can still make a good living of it. Those that need the software under another license than GPL are paying the bills.

I am constantly encouraging companies to release their software as GPL, including companies like MoSync, that I have myself invested

It's however the strong control that GPL gives the copyright holder for embeddable software that is a problem in this particular case of MySQL. It gives Oracle the possibility to slowly kill MySQL as not everyone can use it. Oracle can this way starve the ecosystem around MySQL so that nobody can live there decently.

The code is still free, but in practice not everyone would or could use it.

This is why GPL is not very often used for libraries (and other infrastructure software). For libraries one normally uses LGPL, that allows anyone to freely use the software in their application.

What MySQL AB did, that was unique at the time, was to use the 'inconvenience of GPL' in a library as a way to do dual licensing. By providing commercial licenses for MySQL, everyone could use MySQL (for commercial vendors for a small price).

In short, GPL is a fantastic license, but without dual licensing, not very good for a library that is to be used by everyone.

Q: What other things can go wrong if regulators approves the deal?

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.

Note that not even PostgreSQL is safe from this threat! For example, Oracle could buy some companies developing PostgreSQL and target the core developers. Without the core developers working actively on PostgreSQL, the PostgreSQL project will be weakened tremendously and it could even die as ar result.

Q: There have been some suggestions on the net that in the past you did approve of Oracle buying MySQL. Have you now changed your mind?

"Anyone who knows me, knows that I don't change my mind" :)

Jokes aside, when the Oracle proposition to buy MySQL first time come up, I said that I could stand behind the deal only if the MySQL license was changed to BSD as part of the deal. Even back then, I wanted to ensure that MySQL would continue to be free, available and developed to meet the needs of all major market segments, in spite of what Oracle would try to do to it.

Q: Are MySQL and Oracle really competing products ?


To be fair, they don't compete for all applications and it's in many cases prohibitively expensive, risky and time-consuming to migrate an old Oracle application to work on MySQL.

However for new applications MySQL and Oracle are competing in almost every customer segment. Oracle has for years tried to come into the Web market, but has not succeeded, mainly because MySQL has already been there.

When a MySQL sales person goes and visit customers, it's in most cases Oracle, and in many cases only Oracle, that MySQL is competing with.

Q: How about MySQL on Windows? Does MySQL compete with MS SQL Server?

Windows was not the key target platform for MySQL. Almost all developers at MySQL AB worked on Linux/Unix and did their development there. This was not because we didn't want MySQL to run well on Windows, but because we had not found developers that wanted to work on MySQL on Windows and also because most of our big customers were running Linux/Unix.

It's also clear that Sun would never have been interested in MySQL if MySQL primarily compete on Windows (as Oracle claim it does).

Q: Why can't everyone just switch to PostgreSQL?

PostgreSQL is a great database; I am friends with many of the PostgreSQL core developers.

The problems with PostgreSQL are:
  • It's not compatible with MySQL (different feature sets and different support by various applications) and it's far from trivial (in many cases practically impossible) to convert MySQL applications to PostgreSQL and vice versa.
  • It doesn't have a single strong company backing that MySQL has to deliver high class support globally.
  • The PostgreSQL market is also, as far as I know, dominated by Enterprise DB that provides a closed source version of PostgreSQL, which is not good enough for companies standardizing on open source.
So for the Oracle/Sun/MySQL case, PostgreSQL is not an answer that would help approve the deal, the market share is too small.

Q: Don't you care about what happens to Sun?

Yes, I grew up developing on Sun hardware and I feel deeply for Sun. However MySQL is my project that I have worked on for 27 years and must be my first priority.

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.

Q: "What differentiates MySQL from other open source products Oracle would be acquiring with Sun, like Java or Open Office?"

Oracle doesn't have competing products for Java and Open Office, so there is no reason to assume that Oracle would not take good care of them and generate money from them.

Open Office is also an end user product under a permissive license, LGPL, which means it can easily be forked if Oracle would not take good care of it.

With MySQL this is unfortunately not the case.

Q: Didn't you sell MySQL to Sun? Do you want to have the cake and eat it too?

First a little background:

I started to work on a code that would later become MySQL in 1982. MySQL was released in 1995 under a dual licensing scheme that allowed David Axmark and me to very quickly work full time on developing MySQL.

I lost the rights to the MySQL copyright in 2001 when MySQL AB was created and we allowed investors to come in. We needed to bring in investors to be able to create a full-scale working company to satisfy big customers and to be able to hire more developers and take MySQL to the next stage. To ensure that MySQL would continue to be free, David and I stated in the shareholder agreement that MySQL AB would have to keep MySQL under an open source license. The problem with a shareholder agreement is that it is terminated when the company is sold. This is just how things works.

David and I however thought that this would not be a problem, as we would help ensure that MySQL would be bought by a good owner.

I continued to lead the MySQL project and have been one of the leaders and top contributors for the project since then.

When the sales process to Sun started, I was at the time not anymore in the MySQL Board (just a MySQL shareholder). I was just informed about the deal, after it was agreed to. I did get money for my shares, that is true, but it did not change in any way my dedication or involvement in the MySQL project.

Q: Was SUN a good owner?

Even though I had no say in the deal, I was happy because I thought that Sun, who has been one of the big advocates of open source, would be a good home for MySQL. MySQL was also the missing piece in Sun's software stack and as Sun didn't own any database competing with MySQL, it would be in Sun's interest to continue developing MySQL as an open source database.

This was proven right a couple of months later when the old MySQL management, who was still in charge of MySQL development, announced that they would now, (when they were not anymore bound by the shareholder agreement), add closed source addons to MySQL. Sun's upper management stepped in and forced MySQL's management to retract the statement.

After the Sun deal, I continued to work on MySQL and the Maria storage engine in Sun (in the CTO lab) and, together with Sun upper management, to help Sun be a driving force in open source. I also tried to get Sun to improve the MySQL development organization and change the MySQL development model to be more community friendly.

Q: You left SUN. Did you put pressure on SUN to be able to set up your own company?

The reason I left Sun was that after almost one year of trying, the MySQL development organization was still lacking vision, strategy and engineering excellence and it did not engage with the community.

Some of the developers did in addition not fit in a big publicly listed company and started to talk about leaving SUN.

To ensure we would not start to lose critical MySQL resources from the MySQL ecosystem and to ensure that MySQL would live on, I departed from Sun on good terms, with an understanding of what I needed to do and without any competition clauses.

I created Monty Program Ab and continued to work on a branch of MySQL, now under the name of MariaDB, together with the community and the core MySQL developers that left Sun. We are now 19 persons in Monty Program Ab and all totally dedicated to keep MySQL alive.

Q: How did things change when Oracle came into the picture?

Now when Oracle is trying to buy Sun, I am continuing to what I have always done and never stopped doing; Do what I can to ensure that MySQL is kept alive as an open source product, free and available for all. With Oracle as a buyer this is not a guaranteed outcome, which is why I am working to get the EC to ensure that Oracle can't kill MySQL even if they tried.

As seen from my this and previous answers, the main benefit I can personally get by working with regulators to get the deal blocked, is that MySQL is not killed. This is also the only logical answer, as I already have enough money and could just sit down and relax instead of spending 18 hours a day to try to keep my project alive.

The cake at stake is a free infrastructure for the Internet, which is a cake that millions of MySQL users and billions of Internet users are enjoying today.

Q: Sun paid a billion dollar for MySQL. What did Sun buy?

Sun bought:
  • The MySQL trademark
  • The copyright to the MySQL server and other components (and thus control of the MySQL economical ecosystem).
  • Access to the MySQL community of 15 millions users and probably more than 50 millions installations.
  • MySQL AB's customers contracts.
  • The core developers work contracts
  • All other assets in MySQL AB
What they didn't buy was the control of MySQL as an open source project. You can't buy an open source project with money, the currency in open source is trust. Anyone can and is allowed to fork MySQL and continue develop it outside of Sun and the community will follow the branch/fork they trust more. This doesn't however guarantee that the fork will succeed, especially not economically. In the worst case no one will win, like what happened to the BSD operating system.

Q: Who would like to buy MySQL?

It has been speculated that I would be interested in buying MySQL. This is completely untrue. First I don't have that kind of money (all of the original founders of MySQL got collectively less than 12 % of the Sun deal). Second I am not interested in MySQL AB.

I much more prefer to work in a small family-oriented company, where things are handled in a fair, transparent and open source way.

However, there are a lot of potential buyers on the market: (Note that this is just speculation, I have no information about the intentions of any of the companies mentioned below)
  • IBM (DB2 and MySQL are working in mostly different markets and our sales persons very seldom compete with DB2).
  • Any of the major Linux distribution vendors.
  • Fujitsu (as Fujitsu has close connections with Sun, it has it's own storage engines and is also doing development of databases).
  • Some investment group who would like to take MySQL public (like it was originally planned).

Q: Any final words?

Just that all users of MySQL still have time to influence their own future by going to helpmysql.org and sign the petition to help keep MySQL free and available for all.

We are searching for volunteers to help us with this effort. If you are interested to help, join the #helpmysql IRC channel on Freenode.

Help us keep the infrastructure of the Internet free!


Oracle gives only empty promises for MySQL

The save-mysql-campaign is a success thanks to you. Oracle have had to come out with some public promises.. This is an encouraging start, which shows that we are on the right track, but we have to keep the pressure up! Thanks for the help so far, but please continue contacting companies to send emails to the European Commission (EC). The battle is not over yet!

In this blog I will analyse point by point what Oracle is really offering.

Before we go into details, what one has to understand is that Oracle can afford to employ the best lawyers on the planet and, as the Oracle/Sun/MySQL deal is a big and important deal, we can safely assume many professionals have worked on those MySQL promises. We can safely assume that there are no 'mistakes' or oversights in the commitments. They are drafted to show the maximum of what Oracle would be prepared to do for MySQL. From the scope and the limitations of this we can deduce what their future plans for MySQL most likely are.

The most significant fact is that everything is limited to 5 years. After that period Oracle is free to do anything, including to stop developing an open source version of MySQL. After five years, Oracle can demand storage engine vendors to buy licenses or publish their products under GPL for things that are already shipped and/or any future shipments with old versions of MySQL.

The other significant fact is that Oracle didn't formally file the promises as remedies with the EC but only issued a press release. This means that they are not legally binding. There is no mechanism put in place to ensure that Oracle is following them and if Oracle is not following them, there is nothing that can be done about it (if the EC now says it could revoke its approval of the deal, that's not realistic). This also shows total lack of respect for the European regulatory procedure and that Oracle prefers to do a public battle instead of really solving the problem and going through a market test in which customers and competitors have a chance to tell the EC what they think.

So let's go over Oracle's MySQL-related promises one by one.

"1. Continued Availability of Storage Engine APIs. Oracle shall maintain and periodically enhance MySQL's Pluggable Storage Engine Architecture to allow users the flexibility to choose from a portfolio of native and third party supplied storage engines.

MySQL's Pluggable Storage Engine Architecture shall mean MySQL's current practice of using, publicly-available, documented application programming interfaces to allow storage engine vendors to "plug" into the MySQL database server. Documentation shall be consistent with the documentation currently provided by Sun."

No change from the past. However, as we will see later, there is no incentive anymore for third party vendors to develop storage engines, so this promise doesn't mean anything.

"2. Non-assertion. As copyright holder, Oracle will change Sun's current policy and shall not assert or threaten to assert against anyone that a third party vendor's implementations of storage engines must be released under the GPL because they have implemented the application programming interfaces available as part of MySQL's Pluggable Storage Engine Architecture.

A commercial license will not be required by Oracle from third party storage engine vendors in order to implement the application programming interfaces available as part of MySQL's Pluggable Storage Engine Architecture.

Oracle shall reproduce this commitment in contractual commitments to storage vendors who at present have a commercial license with Sun."

This looks at first sight like a nice promise, but it's in fact an empty promise per se (only the resulting contracts would be binding, but there's no assurance anything useful will come out of it) and, even worse, a promise with a hidden agenda.

The Storage Engine API is pretty new and far from finalised. Most storage engine vendors are extending and working around the officially documented API in various ways, so they asically have to be forkers in addition to using the API. Most advanced storage engines also use other pluggable API's in the server. The way Oracle's promise is written, it doesn't really apply to any of the commercial storage engines.

As this is a non-assertion not to sue, not an exception, Oracle can after 5 years stop all storage engine vendors from distributing any new copies of their software, both for old and new versions of MySQL.

This will put the storage engine vendors in a tricky situation: They cannot get any investment money for lack of a long-term perspective and as their products in many cases only work with MySQL, the only company that could buy them is Oracle and Oracle would be the one that would set the price for the company (no competition).

As most of the closed source storage engine vendors can't afford to release their engines only under the GPL (they can't survive on support alone), this will kill their incentives for developing their engines further.

Combining this with no commitment to continue selling commercial licenses or with a fixed price for these licenses, the closed source storage engines can't work with big application vendors (as these can only use MySQL under the GPL, which is usually not a viable alternative for them).

This promise also doesn't give any protection for closed source plug-ins or closed source applications that are embedding or using MySQL.

It's also unclear inhowfar this promise applies to any extension to the API that storage engines vendors or forks may do.

If Oracle had honest intentions, this promise would not have been done as a non-assertion but via an exception that would be tied to code for each release of MySQL and would be perpetual and irrevocable for each version released on that basis.

"3. License commitment. Upon termination of their current MySQL OEM Agreement, Oracle shall offer storage vendors who at present have a commercial license with Sun an extension of their Agreement on the same terms and conditions for a term not exceeding December 10, 2014.

Oracle shall reproduce this commitment in contractual commitments to storage vendors who at present have a commercial license with Sun."

This just emphasises that after 5 years, the gloves are off and storage engine vendors have to negotiate new terms with Oracle, at Oracle's mercy.

Looking how the current promises are written and considering that most of the storage engines are competing with Oracle, I would not like to be in the storage engine vendors' shoes after December 10, 2014. This looks like a long time but if you have to invest for the long term, it's soon enough to stop investing now (more or less).

By limiting the promise to those who "at present have a commercial license with Sun" Oracle keeps all options open with respect to any new commercial licensees. So they want MySQL to continue to live in the past and not to have a secure future with new partners of all sorts.

"4. Commitment to enhance MySQL in the future under the GPL. Oracle shall continue to enhance MySQL and make subsequent versions of MySQL, including Version 6, available under the GPL. Oracle will not release any new, enhanced version of MySQL Enterprise Edition without contemporaneously releasing a new, also enhanced version of MySQL Community Edition licensed under the GPL. Oracle shall continue to make the source code of all versions of MySQL Community Edition publicly available at no charge."

Notice that Oracle DOES NOT promise that the code for the Enterprise Edition and the Community Edition will be the same, as it has so far always been for MySQL. There is also no promise that the Enterprise Edition will be available under GPL (which is the case today).

It was brought to my attending that in MySQL 5.0 (and only for this version), the community edition was slightly different in that it had more features (SHOW PROFILE) than the Enterprise Edition. The important part is that in no version the Enterprise Edition had more or different features than the Community Edition. Sorry for forgetting this.

I think this is a clear indication, or almost an announcement, that Oracle will start adding either closed source extension to the Enterprise Edition or start developing it in a separate code tree and with a completely new feature set.

This would be bad for open source users of MySQL and would make it VERY hard for a fork to be compatible with the Enterprise Edition.

By focusing most development on the Enterprise Edition, Oracle would over time decrease the interest in the Community Edition and be able to turn MySQL into a closed source database that they can price any way they want and this way ensure it doesn't compete with Oracle's other offerings. They could do this in practical terms during the five years and after the five years even formally.

MySQL 6.0 is already available under GPL, so no change in this respect either.

"5. Support not mandatory. Customers will not be required to purchase support services from Oracle as a condition to obtaining a commercial license to MySQL."

This is no change from current practice. However, as there is no commitment for the price of commercial licenses and Oracle can thus rise prices significantly any time, this is an empty promise.

"6. Increase spending on MySQL research and development. Oracle commits to make available appropriate funding for the MySQL continued development (GPL version and commercial version). During each of the next three years, Oracle will spend more on research and development (R&D) for the MySQL Global Business Unit than Sun spent in its most recent fiscal year (USD 24 million) preceding the closing of the transaction."

The previous spending on R&D was 24 million at Sun and an estimate of 30-80 million done outside of Sun (storage engine vendors, closed source extensions and plugins and not to forget the work that has been done by the MySQL community).

Under these commitments, there is very little incentive for the R&D outside of Sun to continue so in fact the spending on R&D on MySQL will significantly decrease over time.

Oracle has not specified where the money will be spent. My assumption would be that a major part of the spending would go to a closed source MySQL Enterprise addition and thus has very little value for the open source community. Since commercial customers also need the community version to be powerful (the two types of customers really depend on each other), they would also be affected very negatively.

There are no guarantees that the spending in engineering would be directed in areas where MySQL challenges Oracle's own database (such as ERP applications). They can do any number of things because databases are a huge field without those things really meaning competition within Oracle.

"7. MySQL Customer Advisory Board. No later than six months after the anniversary of the closing, Oracle will create and fund a customer advisory board, including in particular end users and embedded customers, to provide guidance and feedback on MySQL development priorities and other issues of importance to MySQL customers."

There is already a MySQL Customer Advisory Board. As there are no commitments as to what influence the Board will have (on which issues it would advise and on which one it would decide, with other things such as appointment rules and voting procedures missing as well), this is an empty promise.

8. MySQL Storage Engine Vendor Advisory Board. No later than six months after the anniversary of the closing, Oracle will create and fund a storage engine vendor advisory board, to provide guidance and feedback on MySQL development priorities and other issues of importance to MySQL storage engine vendors.

There is already a MySQL Storage Engine Vendor Advisory Board. As there are no commitments as to what influence the Board will have (on which issues it would advise and on which one it would decide, with other things such as appointment rules and voting procedures missing as well), this is an empty promise.

"9. MySQL Reference Manual. Oracle will continue to maintain, update and make available for download at no charge a MySQL Reference Manual similar in quality to that currently made available by Sun."

Sun is already providing a MySQL reference manual free of charge.

What is important here is that Oracle has NOT addressed one of the major complaints from the community, which has repeatedly asked to get the manual licensed under a permissive license as without a manual even a trivial fork (such as by a storage engine vendor) is almost impossible to do.

"10. Preserve Customer Choice for Support. Oracle will ensure that end-user and embedded customers paying for MySQL support subscriptions will be able to renew their subscriptions on an annual or multi-year basis, according to the customer's preference."

As this is the main thing that other companies can compete with Oracle on, it's clear and logical that they will continue to do this. Even if they stopped it, they couldn't prevent others from providing this particular service.

"The geographic scope of these commitments shall be worldwide and these commitments shall continue until the fifth anniversary of the closing of the transaction. "

5 years, or any other limited period of time, is not satisfactory and customers and partners would immediately looe interest in MySQL with this promise.

The only workable solution would be binding commitments with perpetual effects and on an irrevocable basis, which is not what Oracle has offered!

My conclusions:

- Oracle is apparently planning to split MySQL Enterprise and MySQL community code bases and most likely concentrate most development only on a closed source version.
- There will be significantly less money spent on MySQL-related R&D than before!
- Oracle has not offered a solution for ANY closed source applications, like storage engines vendors, plugins or applications using MySQL.
- Oracle has not offered anything important that would give forks a better basis to start from, even though Oracle said in the whole process that forking would be a solution.
- Oracle has not listened to the complaints from the open source community, storage engine vendors or applications vendors and is not giving them ANYTHING they have asked for. Some of these things can be found here.
- Oracle's promises that relate to commercial licenses are limited to those who "at present have a commercial license with Sun". So they want MySQL to continue to live in the past and not to have a secure future with new partners of all sorts.
- Oracle is trying to win the case through press releases and public pressure instead of really eliminating the European Commission's concerns. They show no respect for the European authorities or how we do things here. Oracle just want to dictate their own terms and expect us to accept them on face value.

From this I conclude that Oracle CANNOT be trusted as an owner of MySQL and we have to continue our battle against the MySQL part of the merger to ensure that MySQL will continue to be free and available for all, forever, on a reliable basis and with real innovation happening!

We have clear indications that our worldwide petition and our campaign of sending emails to the EC and is having an effect. Please continue to find users of MySQL and get them to send a letter to the Commission! Spread the word through all channels. We can still save MySQL!


Help saving MySQL

I, Michael "Monty" Widenius, the creator of MySQL, am asking you urgently to help save MySQL from Oracle's clutches. Without your immediate help Oracle might get to own MySQL any day now. By writing to the European Commission (EC) you can support this cause and help secure the future development of the product MySQL as an Open Source project.

What this text is about:
- Summary of what is happening
- What Oracle has not promised
- Oracles past behavior with Open Source
- Help spread this information (Jump to 'What I want to ask you to do')
- Example of email to send to the commission (Jump to 'send this to:')

I have spent the last 27 years creating and working on MySQL and I hope, together with my team of MySQL core developers, to work on it for many more years.

Oracle is trying to buy Sun, and since Sun bought MySQL last year, Oracle would then own MySQL. With your support, there is a good chance that the EC (from which Oracle needs approval) could prevent this from happening or demand Oracle to change the terms for MySQL or give other guarantees to the users. Without your support, it might not. The EC is our last big hope now because the US government approved the deal while Europe is still worried about the effects.

Instead of just working out this with the EC and agree on appropriate remedies to correct the situation, Oracle has instead contacted hundreds of their big customers and asked them to write to the EC and require unconditional acceptance of the deal. According to what I been told, Oracle has promised to the customers, among other things, that "they will put more money into MySQL development than what Sun did" and that "if they would ever abandon MYSQL, a fork will appear and take care of things".

However just putting money into development is not proof that anything useful will ever be delivered or that MySQL will continue to be a competitive force in the market as it's now.

As I already blogged before, a fork is not enough to keep MySQL alive for all future, if Oracle, as the copyright holder of MySQL, would at any point decide that they should kill MySQL or make parts of MySQL closed source.

Oracle claims that it would take good care of MySQL but let's face the facts: Unlike ten years ago, when MySQL was mostly just used for the web, it has become very functional, scalable and credible. Now it's used in many of the world's largest companies and they use it for an increasing number of purposes. This not only scares but actually hurts Oracle every day. Oracle have to lower prices all the time to compete with MySQL when companies start new projects. Some companies even migrate existing projects from Oracle to MySQL to save money. Of course Oracle has a lot more features, but MySQL can already do a lot of things for which Oracle is often used and helps people save a lot of money. Over time MySQL can do to Oracle what the originally belittled Linux did to commercial Unix (roughly speaking).

So I just don't buy it that Oracle will be a good home for MySQL. A weak MySQL is worth about one billion dollars per year to Oracle, maybe more. A strong MySQL could never generate enough income for Oracle that they would want to cannibalize their real cash cow. I don't think any company has ever done anything like that. That's why the EC is skeptic and formalized its objections about a month ago.

Richard Stallman agrees that it's very important which company owns MySQL, that Oracle should not be allowed to buy it under present terms and that it can't just be taken care of by a community of volunteers. http://keionline.org/ec-mysql

Oracle has NOT promised (as far as I know and certainly not in a legally binding manner):

- To keep (all of) MySQL under an open source license.
- Not to add closed source parts, modules or required tools.
- To keep the code for MySQL enterprise edition and MySQL community edition the same.
- To not raise MySQL license or MySQL support prices.
- To release new MySQL versions in a regular and timely manner. (*)
- To continue with dual licensing and always provide affordable commercial licenses to MySQL to those who needs them (to storage vendors and application vendors) or provide MySQL under a more permissive license
- To develop MySQL as an Open Source project
- To actively work with the community
- Apply submitted patches in a timely manner
- To not discriminate patches that make MySQL compete more with Oracles other products
- To ensure that MySQL is improved also in manners that make it compete even more with Oracles' main offering.

From looking at how Oracle handled the InnoDB acquisition, I don't have high hopes that Oracle will do the above right if not required to do so:

For InnoDB:
- Bug fixes were done (but this was done under a contractual obligation)
- New features, like compression that was announced before acquisition, took 3 years to implement
- No time tables or insight into development
- The community where not allowed to participate in development
- Patches from users (like Google) that would have increased performance was not implemented/released until after Oracle announced it was acquiring Sun.
- Oracle started working on InnoDB+, a better 'closed source' version of InnoDB
- In the end Sun had to fork InnoDB, just to be able to improve performance.

It's true that development did continue, but this was more to be able to continue using InnoDB as a pressure on MySQL Ab.

Note that Oracle's development on the Linux kernel is not comparable with MySQL, because:
- Oracle is using Linux as the main platform for their primary database product (and thus a better Linux makes Oracles platform better)
- The GPL code in the kernel is not affecting what is running on top on it (because of an exception in Linux).

Because we don't have access to a database of MySQL customers and users the only way we can get the word out is to use the MySQL and Open Source community. I would never have resorted to this if Oracle had not broken the established rules in anticompetitive merger cases and try to influence the EC by actively mobilising the customers after the statement of objection was issued.

It's very critical to act upon this AS SOON AS POSSIBLE as EC, depending on what Oracle is doing, needs to make a decision around 2010-01-05. Because of the strict deadline, every email counts!

What I want to ask you to do:

- Forward this email/message to everyone that you know is using MySQL or Open Source/free software and to all email list where you know there are people present that use or care about MySQL and open source (please check first that this email hasn't been sent there before)
- Alternatively send emails with information about this and tell them to read http://monty-says.blogspot.com/2009/12/help-saving-mysql.html
- Add links on your web site to http://monty-says.blogspot.com/2009/12/help-saving-mysql.html with the text "We are using MySQL, help save it", for the duration of the next two week.
- Blog about this (feel free to include this text or just link to my blog)
- Call by phone (don't contact by email, this is urgent) your boss or VP and ask him to read this email and send a letter to the EC commission ASAP!
- If you don't have anyone to contact above, send an email to the EC!

As we want the EC to get a correct picture of the situation, we want you to first fill in the upper part and then choose one of the proposed texts below that best matches your view of the situation. Feel free to supply your own text and additional information if you think this will help the EC to reach a better understanding of how MySQL is used.

Send this to: comp-merger-registry@ec.europa.eu
If you want to keep us updated, send a copy to ec@askmonty.org

If you have extra time to help, fill in the following, if not, just skip to the main text.

Size of company:
How many MySQL installations:
Total data stored in MySQL (megabyte):
For what type of applications is MySQL used:
Should this email be kept confidential by EC: Yes/No

Copy or use one of the below texts as a base for your answer:

I don't trust that Oracle will take good care of MySQL and MySQL should be divested to another company or foundation that have everything to gain by developing and promoting MySQL. One should also in the future be able to combine MySQL with closed source application (either by exceptions, a more permissive license or be able to dual license MySQL under favourable terms)


I think that Oracle could be a good steward of MySQL, but I would need EC to have legally binding guarantees from Oracle that:
- All of MySQL will continue to be fully Open Source/free software in the future (no closed source modules).
- Open Source version and dual-licensed version of MySQL should have same source (like today).
- That development will be done in community friendly way.
- The manual should be released under a permissive license (so that one can fork it, the same way one can fork the server)
- That MySQL should be released under a more permissive license to ensure that forks can truly compete with Oracle if Oracle is not a good steward after all.
- One should be able to always buy low priced commercial licenses for MySQL.
- All of the above should be perpetual and irrevocable.

There should also be mechanism so that if Oracle is not doing what is expected of it, forks should be able to compete with Oracle

I trust Oracle and I suggest that EC will approve the deal unconditionally.


Let us prove to Oracle and EC that the Open Source community is a true force and we take good care of our citizens and we prefer to work with companies that does the same!

The future of MySQL is in your hands!

Thanks for the help!
Michael Widenius
Creator of MySQL

UPDATE: Oracle has made some public promises that only fixes this one issue marked with (*).

NOTE: Their promise to storage engines vendors is not future safe as it's a time-limited non-assertion (they promise to not sue for 5 years), but they could still sue one for using a storage engine with old code after the 5 years. They limited the promise to the storage engine API but not to other plugin API:s that almost every pluggable storage engine uses. They clarify this, Oracle should change this to be a license exception for all plugins and it should be valid perpetual with the released code. It's also unclear if this non-assertion is valid if the vendor makes extension to the interfaces (which most storage engines do).