- By Grant Gross -
NuSphere, the MySQL services company in the middle of a messy business dispute with former partner MySQL AB, has GPLed the code to a product in the center of that controversy, and the two sides may be ready for a cease-fire.
NuSphere released the code for Gemini, its MySQL table type, a few hours after the launch of its MySQL.org site Monday. MySQL AB, a Sweden-based company that operates MySQL.com and employs the original creators of the Open Source MySQL database, is claiming NuSphere violated the GPL by tying Gemini to its Advanced MySQL project, which NuSphere released earlier this year.
MySQL AB also accuses NuSphere of violating its trademark by continuing to use the MySQL brand in its products and on MySQL.org, which the Swedish company sees as competition to its site.
The release of the Gemini table type was announced in a NuSphere press release, although it's not featured on the front page of MySQL.org. To get to the Gemini download from the front page, choose downloads, then MySQL database version 3.23, and it's on that page. Or, follow this link.
Britt Johnston, CTO of NuSphere, says the Gemini release includes a piece of the code that seems to have been a bone of contention over getting Gemini included in the official MySQL code.
Michael "Monty" Widenius, one of the creators of MySQL and CTO of MySQL AB, disputes Johnston's earlier complaint about MySQL AB not accepting code from NuSphere.
"The only thing I have ever refused when it comes to Gemini was when Britt once suggested that they should only release part of Gemini as open source, but leave critical things like crash-recovery outside under an restricted commercial license," Widenius says.
Johnston says crash recovery is part of this week's GPL release. "NuSphere will
continue to offer Enhanced MySQL that contains a commercially licensed version of the Gemini component that is a bundle of performance, support, and maintenance improvements desirable for deployment of commercial applications," he adds.
Widenius says he would welcome a full GPL release of Gemini. "We would include it in the MySQL source, as we planned all the while," he says, on the phone from Finland Tuesday afternoon. "That's the Open Source way to do it. Even if someone else doesn't play by the rules, you think they should, we are still trying to do the right thing."
Meanwhile, tensions between the two former business partners may be easing. On Monday, MySQL AB issued an "invitation to NuSphere and progress" suggesting the two sides sit down at a neutral site and negotiate an end to the conflict.
Johnston responded to the MySQL mailing list late Tuesday, saying the two companies have agreed to meet Friday. "NuSphere would welcome a fresh approach by MySQL AB to resolving
these issues. The public postings and attempts to incite the
community were not in the best interest of MySQL," he wrote to the list. "We would
welcome a productive dialog rather than a public campaign."
Johnston also suggested the two sides back off on lawsuits they've filed against each other. "MySQL AB must understand that its strong and very public statements denying
the validity of the agreement we entered into on June 21, 2000, denying the rights granted to use MySQL related trademarks, and now
denying the financial and technical contributions that NuSphere has
made to MySQL, all underscore the need to seek legal enforcement of
our rights. Any delay that NuSphere could agree to would require
that MySQL AB show restraint and a spirit of cooperation in its
ongoing public statements."
There still seems to be a misunderstanding between the two companies about how Widenius accepts code for the main MySQL server project, and why Gemini hasn't been included in MySQL so far. Widenius says it's true that he asks server code contributors to grant him the copyright to their contributions, but he says he's long accepted code for the MySQL client project. He also disputes Johnston's claim that MySQL AB won't accept NuSphere code, even though Johnston has said NuSphere launched MySQL.org in response to Widenius' rejection of NuSphere's code.
"MySQL AB will not accept any code to what they call the
server (SQL engine and MyISAM table handler) without turning over complete rights to the MySQL AB," Johnston says. "MySQL always accepts client contributions, however, they do have a rather interesting licensing twist saying effectively that the use of any client for a commercial purpose requires a commercial license. That is an issue we have
discussed, and I expect we will work out along with the others we have."
But Widenius says he's accepted code in the server project as well, including the BDB table handler from Sleepycat and NuSphere's Gemini table handler, until NuSphere requested it be removed from the 4.0 code. Johnston says he didn't request that it be removed from the not-yet-released 4.0, just moved to 3.23 "as a way to get
a beta release out."
Johnston adds, "We integrated the Gemini table handler into 3.23 under the
GPL, and before we were able to integrate the Gemini storage
engine component, the business issues currently being aired
interfered with the technical work and it was never completed."
Widenius remembers a different chain of events. He says Gemini was included in the MySQL 4.0 code in January, and in March, "when we had noticed that MySQL 4.0 would be delayed a bit, I agreed with Britt Johnston that we should move Gemini from
MySQL 4.0 to MySQL 3.23 instead ... Then I just
waited for Britt to put GEMINI into the 3.23.34 source tree (NuSphere
had the right to push code into the MySQL source tree), but this never
"When I later asked why they hadn't pushed MySQL into the 3.23 tree, as
we had agreed upon, they only answer I got was that their priorities
had changed and they had a hard time deciding if they wanted to do the
push in 3.23 or 4.0."
Widenius does acknowledge that he rewrites code that's been contributed to the project, but he defends that as a standard way of doing business. "We have also got numerous patches and code suggestions which we have
added to the MySQL server code," he adds. "We have, of course, fixed, recoded and
optimized almost all patches that we got, but this is something that
needs to be done to ensure that the overall quality of the MySQL server
code stays at a high level."
Widenius says that one of MySQL AB's main sources of revenue is selling its licenses for embedded usage, so "we need to have control over the
basic functionality of the server so that we can release a version of
MySQL without the GPL copyright if our customer demands this."
He adds, "This means that if someone submits a big patch or a larger addition that could be classified as 'piece of art' to some critical part of the MySQL server, we need to get a shared copyright of this before we can add this to the server. This is not something uncommon for open
source projects and in the past we have had no problems in getting a
shared copyright from the author."