The case for independence – Oracle, Sun and what to do with MySQL [updated]

The European Commission is looking into the Oracle-Sun merger, and MySQL is the biggest stumbling block. For Oracle, MySQL apparently is one of the biggest attractions of the deal. It would mean that the biggest maker of proprietary database software gains control of the best-known Free Software database project. That’s a worrying prospect for many.

During the recent days, a heated public debate saw an open letter by former MySQL CEO Mårten Mickos, closely followed by a contradiction by MySQL’s initial author Michael ‘Monty’ Widenius, which accompanied a submission [pdf] to the European Commission by his new company, Monty Program AB. The final contribution so far was made by a joint letter of three parties: Richard Stallman, James Love and Malini Aisola for Knowledge Ecology International (KEI) and Jim Killock for the Open Rights Group (ORG). On Wednesday, the European Commission declared that it wasn’t satisfied with Oracle’s response to its questions. And today, Groklaw chimes in on the debate, among other things drawing an ever-so-vague connection between Monty Widenius and Microsoft (via CodePlex). There is also news (see p. 26 d and below) that an IBM executive was involved in manipulating Sun’s share price in order to prepare the company for a takeover.

From the Free Software perspective, MySQL’s future is indeed the big question mark over the deal. Another important issue is what will happen to Sun’s software patent portfolio. We’ll look at both these question in depth, and propose a solution.

1 Is MySQL really competing against Oracle’s products?

For the European Commission, this is a competition investigation. It thinks that if Oracle gains ownership of MySQL, that might be bad for competition in the database market. But does MySQL even serve the same market as Oracle? Are the two really competing against each other?

Yes, it seems that way. MySQL’s former CEO Marten Mickos stated to the European Commission that MySQL “focus[ed] on markets which Oracle was ignoring”. That’s not the whole truth. Sun’s Project Peter shows that at least Sun does indeed see MySQL as a competitor for Oracle:

“Project Peter is an internal effort to assist Sun / MySQL customers in migrating from Oracle to MySQL by offering them a comprehensive solution that consists of Professional Services, Best Practices, and a set of approved third party migration tools and utilities that will enable them to move to MySQL in a way that is as easy as possible.”

Mickos’ argument that “Oracle might as well cannibalize themselves, than have someone else do it” is somewhat nonsensical, but points in the same direction: MySQL could only possibly cannibalise Oracle if it poses a real competition. Whether MySQL would eat into Oracle’s market share from inside the company or from the outside is essentially a moot point here. Neither variant is in Oracle’s interest.

So both the current owner of MySQL and its former CEO think that yes, MySQL does compete with Oracle.

2 Scenarios for MySQL in Oracle

If Oracle is allowed to buy MySQL as part of Sun, what possible scenarios are there?

If Oracle gets to keep MySQL, it would own the copyright on the codebase. Oracle could do with MySQL whatever it wanted. It could decide to keep MySQL running as a Free Software project and actively develop it. It could also decide that MySQL is too much competition for Oracle’s own proprietary products, and shut the project down.

Thanks to the properties of the GPL, neither of these scenarios is particularly worrying. The rights once granted cannot be revoked by any party, Oracle included, and customers can rest assured that the code base for forks such as MariaDB will continue to stand on solid legal grounds.

If Oracle decided to throw its weight and resources behind MySQL, the project could develop very quickly indeed. But that would mean that MySQL could soon pose even greater competition to Oracle’s proprietary programs. So this is an unlikely option.

3 The OpenOffice trap

But what happens in the likely case that Oracle neither kills MySQL nor develops it at full throttle?

The travails of OpenOffice provide an example of what that future would look like. OpenOffice is widely used, and it’ll also end up under Oracle’s control. But Oracle isn’t offering office suites of its own, so the competition authorities aren’t worried about this one.

In order to be able to provide proprietary licenses, Sun Microsystems needed to obtain copyright from third parties that wanted to contribute to OpenOffice.org. Typically, developers wouldn’t get any money in return for their copyright assignments. With them, developers sign away the right to sell proprietary licenses to the code they contribute, something that many companies and individuals are reluctant to do.

This reluctance is often based on principle. Developers might object to their contribution being used in proprietary software, or to Sun making money off their work without them receiving a share. They might also be worried that once they had signed their rights away, there would be no way to get them back. Even if people were willing to trust Sun Microsystems more than most companies, there was no telling whether the company would ever sell the rights in OpenOffice.org or be acquired by another company that possibly enjoyed less trust, a company such as Oracle.

It was for these reasons and for reasons of project management that many in the industry shared a feeling that the development of OpenOffice.org was held back by Sun’s control over the project. It was frequently suggested that the project would dramatically increase in contributors, dynamics and development if it were placed in its own non-profit association.

Should Oracle decide to continue the proprietary business with MySQL it would find itself in a similar situation – only that even fewer third party developers are likely to trust Oracle with their copyright on improvements to MySQL. The likely consequences would be slower development of MySQL, a migration away from MySQL towards other Free Software databases and MySQL forks, and possibly a growing fragmentation and re-orientation of the MySQL ecosystem for a couple of years. MySQL would be living in suspended animation.

The good news for all users and customers of MySQL of this would be that this is likely to preserve stability for the next years, although some may receive occasional sales calls to “upgrade to Oracle’s DB.” The bad news for Free Software would be that MySQL will no longer race for first place.

4 MySQL’s dual licensing strategy

It is MySQL’s dependence on a single company which had led the project into this mess. That dependence is a consquence of MySQL’s dual licensing strategy.

The basis of this strategy was that basically all contributors had to assign their copyright to the owner of MySQL. In this way, whoever owns MySQL is the sole copyright holder, and gets to determine the license under which the project is distributed.

According to the letter sent by Monty Program AB to the European Commission, an important part of the revenue for MySQL came from proprietary licenses to manufacturers who embedded the database server into the firmware of mobile phones and similar products, and didn’t want to distribute the resulting applications under the GPL.

When MySQL is embedded into other applications, the connection typically happens via linking. The GPL says that if your program links to a program under the GPL, both programs must be distributed under the GPL. Vendors who didn’t want this got a proprietary license from MySQL AB.

This leaves the embedded market for MySQL 100% dependent on the owner of the copyright to the codebase for supply. Now that owner could soon be called Oracle – presumably not something that MySQL’s founders envisaged years ago when they designed their dual licensing strategy.

Monty AB’s letter argues that MySQL could only grow so quickly thanks to its revenue stream from proprietary licensing. We would argue that what really put the limit on MySQL’s growth was not the “infectuous” (Monty AB’s unfortunate expression) GPL. It was MySQL’s dual licensing approach hampered the growth of what could have turned into a much bigger ecosystem. The present, smaller, ecosystem could end up at the mercy of just one company, Oracle. This dependence is a legitimate cause for concern now. But it’s also a reason to think about whether that model was such a good idea in the first place.

Worrying about proprietary companies and their business models is not one of FSFE‘s priorities. Improving the strategic management of Free Software projects is. For MySQL, the dual licensing strategy is a trap that is now closing. It has made sure that MySQL is controlled by only one company: First MySQL AB, then Sun, and now perhaps Oracle. This is never a good situation for a Free Software project to be in.

The dual-licensing approach, and the reliance on proprietary licenses as a source of revenue, has severely hampered the growth of what could have turned by now into a much bigger ecosystem. The strategy has led to a huge gap between the original developer (MySQL as a company) and second-tier firms providing support and development services. It also forced developers who wanted to contribute to MySQL to sign unequal copyright agreements. Some did, some didn’t. As a consequence, MySQL’s development community is not as strong as it could be.

Carlo Piana sums it up nicely:

MySQL is so good that it can be used via a lot of interoperability tools and via network without suffering big loss of performances, therefore the incentives to use a proprietary version come from the licensing issues of the very limited cases when a derivative product is to be distributed on proprietary terms. A proprietary standalone version of MySQL has no appeal compared to the Free Software licensed one. But in general, I know of very few cases of companies keeping a healthy dual licensed scheme (the only one I know for sure is Funambol). Dual licensing is very complicated to maintain, it requires copyright assignment, and this assignment is very hard to obtain from developers (this is at least my experience in drafting assignment agreements for clients).

The only quibble with Carlo’s argument here is that the cases where someone buys a proprietary license for MySQL in order to distribute it as a package together with a proprietary storage engine and/or application might not be as infrequent as he thinks. In these cases, MySQL begins to look more like a library.

5 GPLv3

At the current stage of the discussion, it’s worthwhile to think about the license that MySQL is distributed under. Currently, that is the GPLv2 only. MySQL doesn’t come with the common “or any later version” clause that many Free Software projects use to benefit from updates to the GPL. If the copyright to the code base rests with a fiduciary, that fiduciary could re-license the project to GPLv3.

As more and more Free Software projects move to the latest version of the GPL, a MySQL under GPLv2 would be excluded from integrating code from those projects. By going to GPLv3, MySQL would be in a position to benefit from a stream of innovation in the long term.

In theory, Oracle could also take MySQL to GPLv3. But since the company is quite possibly not interested in seeing MySQL reach the next level, it is unlikely that this would happen. Issues like this are the reason why the choice of license is such a strategic decision for every Free Software project.

6 The easy part: MySQL’s trademark

There is something else that has MySQL companies worried. Sun holds the MySQL trademark. For a long time, companies have offered services for MySQL, often along with drop-in binaries of the software. They’ve made use of the trademark to advertise their work. Rumour has it that Sun did start enforcing the trademark against third-party services, e.g. by getting Google to ban people from buying “MySQL” as an AdWord.

Oracle could could continue this practice,or even enforce the trademark more vigorously than Sun has apparently done, e.g. by stopping third parties from distributing drop-in MySQL binaries. This would severely hurt companies who are offering services around the database.

But Oracle has little to gain from this strategy, since it would essentially shoot itself in the foot. The company is a citizen of good standing in the Free Software community. Oracle has made efforts to become a citizen of good standing in the Free Software community long before the company set out to acqire Sun.

Pulling a trademark stunt such as the one described above would cause a huge stink, but would probably produce very little actual gain for the company. On the contrary, it would push more second-tier service companies to offer support for MySQL forks like MariaDB, decreasing the value of the MySQL trademark.

In order to put concerns about this aspect of the acquisition to rest, Oracle should commit to not enforcing the MySQL trademark against third parties and drop-in binaries derived from the original MySQL software.

7 The ticking time bomb – Sun’s patents [Update]

Sun has a substantial software patent portfolio, and many of those patents cover Free Software. In the wrong hands, they could do a lot of damage.

Carlo Piana (who is acting as legal counsel for Oracle) argues that Oracle might walk away from buying Sun if it doesn’t get MySQL as part of the package. Then Sun, unable to survive on its own, would break apart, and the company’s patents could be bought by anyone. Some particularly worrying candidates include Microsoft, which has started to aggressively enforce patents against Free Software (remember TomTom?), or a patent troll (or “non-practicing entity”) with no reputation to lose.

This is a realistic worry, and it’s a scenario worth preventing. But not at any cost. Though Oracle hasn’t enforced its own patents against Free Software until now, this kindness might not last forever. Oracle could gain a huge amount of confidence from the Free Software community by letting everyone know that it doesn’t plan to enforce its Sun-enlarged patent portfolio against Free Software in the future.

Sun could have defused the ticking time bomb of those patents. It owned them, and could have made sure that Free Software will never suffer from them, through very much the same measures as the ones we’re proposing for Oracle. That’s an opportunity which Sun has missed.

Now Oracle will get the chance to do better. The company could publish a legally binding agreement to not assert its patents against Free Software. This would give Oracle equality of arms against proprietary competitors, becaue it could still enforce those patents against them. At the same time, it would give the company a boost in trust from Free Software developers. Joining the Open Invention Network would be a useful step, too.

[UPDATE: Simon Phipps has pointed out that Oracle became a licensee of the Open Invention Network in 2007. That is very good news, and I wonder why Oracle isn’t communicating this fact more aggressively.]

Yet despite the potential risk from those patents, MySQL is too valuable to sacrifice as a pawn in order to seek shelter from the patent danger.

8 The way forward: An independent fiduciary

Fortunately, there is a way out. Oracle could hand MySQL over to an independent non-profit organisation. That organisation would act as a fiduciary, keeping the copyrights in MySQL consolidated in one place. Such an organisation would have to have very strong principles making sure that it safeguards MySQL as Free Software, along with defined measures if it fails to live up to those principles. FSFE‘s Fiduciary License Agreement shows the way to go.

This would solve several problems at once. MySQL would no longer be dependent on a single entity that can do as it pleases. This would prevent today’s scenario from repeating itself in the future.

Developers would no longer have to assign their copyright to an entity they can’t fully trust. They would assign it to the fiduciary, which unlike a person or company would be bound to keeping MySQL available as Free Software. If the fiduciary breached that commitment, the copyright could fall back to the original owners. This way, the developer base for MySQL would become much stronger, letting the project advance more quickly.

Oracle would not get control of MySQL, but that’s precisely what the EC’s competition department is worried about. Putting MySQL into the hands of an independent fiduciary would remove that problem. The job of developing MySQL further will rest with the fiduciary and ultimately with the Free Software community.

The advantage for Oracle is also clear: No one else would own MySQL either. No one else could come and acquire the project, take it proprietary, and turn it into an all-out competitor to Oracle. Oracle already has a good many databases as well as access to all of MySQL’s code (it’s Free Software, after all), so the company’s reason to reach for MySQL is probably partly defensive. In the short term, it would also allow Sun and Oracle to complete their deal, so Sun could stop bleeding jobs and dollars as it allegedly does now.

Conclusions

We hope that both Oracle and Europe’s competition regulators consider the options that FSFE is proposing in order to arrive at a solution that everyone can live with – Oracle, MySQL, the Free Software community and the European Commission.

In order to address our concerns, we would like Oracle to answer the following questions:

  • What are Oracle’s plans for Sun’s software patent portfolio? Is Oracle prepared to enter into a binding agreement not to enforce its patents against Free Software?
  • How will Oracle handle the MySQL trademark? Will other parties be allowed to sell services using the trademark and to distribute drop-in binaries under the customary mysqld name?
  • What will Oracle do when it holds the copyright to the MySQL code base in its hands? Is it prepared to assign those rights to an independent non-profit fiduciary?
  • Under which license will MySQL be distributed in the future?
  • How will Oracle position MySQL in relation to its own proprietary products?

MySQL is an important project, and it is a strong one. Other Free Software projects like Apache and Samba have been able to find support for their development without resorting to proprietary licensing. They each have a broad group of supporters, they’re lively, innovative and independent from any one company. MySQL is certainly in a position to get there too, if it tries.

That’s why the idea of assigning the copyrights to MySQL’s code to an independent non-profit fiduciary is so intriguing, and why FSFE is offering it to Oracle and the EC as a way out of the present deadlock. MySQL could continue to compete with other databases, and competition in the database market would remain healthy. Oracle could rest assured that no other company would get hold of MySQL, eliminating the threat from proprietary rivals. Customers could choose between a number of both proprietary and free databases.

Beyond the individual case of Oracle and MySQL, this solution would set a good example for numerous other Free Software projects. The present danger for MySQL shows how dependence on a single company (brought about by a dual-licensing strategy) puts even the most successful projects at risk. Free Software projects, especially those under the GPL, can live for a long time – certainly longer than the lifespan of many companies. Free Software developers and companies should give their projects a strategy for the long term. If there’s one lesson out of the MySQL case, it is that Free Software loves independence.