Oracle promise to chuck GPL for MySQL PSE pleases EU
This morning, the European Commission has welcomed a set of commitments made by Oracle to maintain, and even enhance, the viability of the MySQL division of Sun Microsystems, after Oracle's acquisition of Sun is complete. This even though neither Oracle nor Sun are European companies, though they both do business in Europe, and MySQL maintains one headquarters branch in its native Sweden.
The concessions may be considered a big win for outgoing Commissioner for Competition Neelie Kroes, whose job swap will see her in Viviane Reding's seat next month. The Oracle + Sun deal had already been cleared by US regulators, and had been pushed by a majority of US senators from both parties. Fifty-nine of those senators wrote Comm. Kroes last month pressing her to accept the deal and move on, which prompted her last week to make a public comment literally telling senators to <!article id="1260319381">shut up and go fix health care.
Oracle's promises for MySQL would appear to go above and beyond even those of Sun, especially with regard to commitment of new research and development funds toward improving both the commercial and community MySQL engines.
What may easily be recognized as the most sweeping of Oracle's commitments this morning is a unilateral promise, for the first five years of the merger, that Oracle will refrain from threatening legal action against any third party that chooses to implement MySQL's Pluggable Storage Engine architecture without distributing code for that implementation under the General Public License.
"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," the company stated this morning. "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."
In an ironic way, Oracle is promising to make one of the most important open source components of MySQL's IP arsenal, open...kind of. Pluggable Storage Engine (PSE) refers to MySQL's technology for opening multiple vendors' storage engines for access through a common database language, in a transparent way such that the language itself need not be altered to support the underlying engine. Different engines utilize different data and table types, so the pluggable components make those systems accessible uniformly.
As MySQL explains it, PSE "allows a database professional to select a specialized storage engine for a particular application need while being completely shielded from the need to manage any specific application coding requirements."
One of the most important plug-ins to have been released for this architecture came in May 2008, from InnoDB -- a company that was itself purchased by Oracle in 2005. Although the MySQL team has been implementing its own storage component, called Falcon, it's actually the InnoDB storage engine that has ended up being the default for MySQL's Windows Essentials package.
IBM's DB2 on AS/400 computers (now called IBM i) is also supported by way of <!external href="http://solutions.mysql.com/engines/ibm_db2faq.html">a component called IBMDB2I, making IBM's the biggest third party commercial brand supporting the architecture. <!external href="http://dev.mysql.com/doc/refman/5.1/en/storage-engines-other.html">A handful of smaller vendors are also supported. But Oracle itself has been absent from this list.
IBM's, InnoDB's, and others' plug-ins are only distributable at present by way of the General Public License, which means the source code for those plug-in components must be used as well. That's in keeping with both the spirit and the letter of the GPL, which says that implementations of GPL software must themselves be shared in full.
Oracle's commitment this morning, in the name of greater openness -- especially with commercial vendors -- may also be seen as self-serving. Under its own self-guidance, Oracle would be capable of adding its own brand of database storage engine to the mix, without forcing itself to reveal its own source code. Thereby, it would not hold other vendors to a different standard.
While that might anger some parts of the open source community, with the other hand, Oracle is offering a very large olive branch: Among its other commitments this morning is one to nearly synchronize the development of MySQL's Commercial and Community editions.
"Oracle shall continue to enhance MySQL and make subsequent versions of MySQL, including Version 6, available under the GPL," the company stated. "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."
Here, "contemporaneously" can be taken to mean "in short order," though probably not "simultaneously." Still, the promise should appeal to open source contributors who had in recent years complained that <!article id="1186760331">the commercial edition was getting special treatment, and that advancements made to the paid edition may not find their way in time to the unpaid edition.
That is, unless open source advocates were to apply a (Bill) Clintonian filter to that statement. Oracle does not say "similarly enhanced," which could mean that the community versions may not get exactly the same, or even the same type of, advancements made to MySQL Enterprise.
This morning's response to Oracle's commitments from the European Commission was minus its usual winter frost: "The European Commission can confirm that it has engaged in constructive discussions with Oracle regarding the maintenance of MySQL as an important competitive force in the database market after Oracle's acquisition of Sun Microsystems. Today's announcement by Oracle of a series of undertakings to customers, developers and users of MySQL is an important new element to be taken into account in the ongoing proceedings. In particular, Oracle's binding contractual undertakings to storage engine vendors regarding copyright non-assertion and the extension over a period of up to five years of the terms and conditions of existing commercial licenses are significant new facts."
The EC's statement concludes by bestowing upon Oracle, if not a complete blessing, then at least a holiday sweet: a second-hand blessing from Comm. Kroes affirming "she is optimistic that the case will have a satisfactory outcome."
Oracle's commitments come just two days after MySQL co-founder Monty Widenius <!external href="http://monty-says.blogspot.com/2009/12/help-saving-mysql.html">stepped up his public campaign to compel the EC to vote against the deal. On Saturday, Widenius wrote that Oracle was, in his view, unlikely to promise to keep MySQL open source unless compelled to do so.
Widenius also added his concerns to those of Free Software Foundation leader Richard Stallman, saying that in the end, it's important which company ends up owning MySQL. As Widenius wrote, "It can't just be taken care of by a community of volunteers."