MySQL AB's namesake database is a package that many would list among the crown jewels of Free Software. The Swedish company's database has been deployed over five million times by the company's own count. Yet, some, quite legitimately wondered if certain wording on the MySQL site might indicate the company is backing away from Free Software, and, more specifically, the GNU General Public License. We wanted to know if this was an actual concern or simply a misunderstanding, so OfB contacted MySQL AB to find out more information.
The whole question arose from the text MySQL AB publishes on its web site concerning why one would need to purchase a commercial license for its software. “When your application is not licensed under either the GPL-compatible Free Software License as defined by the Free Software Foundation or approved by OSI, and you intend to distribute MySQL software (be that externally to customers or internally within your organization), you must first obtain a commercial license to the MySQL product,” the site explains. At press time, the remark concerning internal distribution had been removed after the commercial licensing page was revised based on user feedback, MySQL AB told OfB.
At first glance, this might not catch anyone's attention, but after considering it, it becomes apparent that this sounds like stricter requirements than those laid down by the General Public License. For example, the Free Software Foundation's documentation on the General Public License, which they wrote, explains that “[y]ou are free to make modifications and use them privately, without ever releasing them.” The document then continues, “This applies to organizations (including companies), too; an organization can make a modified version and use it internally without ever releasing it outside the organization.” If this is the case, a company desiring to keep its code private would not need to purchase a commercial license as the MySQL site indicates.
The information on MySQL's commercial license page also seems to be a bit far reaching when it suggests that one's program must be licensed under the GPL or another Free Software license if MySQL is distributed with the product. A good analogy here is that it is legal for a proprietary web browser to communicate with a GPL licensed web server, and vise versa — the programs are communicating to each other, but not actually combining code together. In the same way, it is theoretically possible to communicate with the MySQL server either using a third party Free Software tool that allows linking to proprietary packages, such as one licensed under the LGPL or BSD licenses or by developing a proprietary program that can communicate with MySQL through networking protocols. In plain English, this means there are ways that one could have a proprietary program communicate with a GPL licensed program without violating the GNU General Public License. Furthermore, simply distributing a proprietary product and GPL licensed product together is called “mere aggregation,” something explicitly permitted by the GPL.
One developer from a small consulting firm who requested anonymity explained his concerns about the issue and how it had led the company he works for to have all of its clients purchase MySQL licenses out of fear of litigation. “MySQL AB has bent the intentions of the gpl to say that any proprietary application I write that causes my customer to have to install a copy of MySQL, whether or not it uses the MySQL client libraries, must be licensed under [the GPL].”
We wanted to know if this assertion was correct or if MySQL's site was simply a bit confusing on the point of when licensing is required, so we contacted them. Zack Urlocker, MySQL's vice president of marketing, agreed to answer our questions on the matter.
The big question we wanted to know was if MySQL was adding restrictions to the GPL or if the terms on the site were simply a broad overview that represents suggestions that in no way alter the permissions given by the license. Urlocker confirmed to us that MySQL did not consider the page to be an addition to the GPL, but rather information for those attempting to understand — in simple terms — why they might need a MySQL commercial license. He noted that it doesn't even begin to attempt to cover all possible scenarios, just the ones the company believed to be the most common. Does that mean that MySQL accepts the Free Software Foundation's positions on what the GPL permits? Urlocker said this was the case, telling OfB that “we tell people to talk to the guys at the FSF,” if they have questions about the terms of the license.
On the other hand, while Urlocker said the company is not adding restrictions on to the GPL, he felt that attempting to, as he put it, “circumvent” the GPL by communicating with the database using a third-party tool and TCP/IP or another protocol was a gray area and while perhaps following the letter, it was not following the spirit of the General Public License. He remarked that it ignores the “spirit of [MySQL's] 'Quid Pro Quo' philosophy,” and that developers should “abide by the GPL license, not seek loopholes to exploit it.”
The documentation on the General Public License from the Free Software Foundation, the creator of the license, is silent on the issue of whether software communicating with a GPL licensed program via standard protocols must be under a compatible license. Bradley Kuhn, executive director of the FSF, told us that “[the] FSF maintains that deciding what types of activity are prohibited by the GPL is extremely context-dependent.” He continued by asserting “since GPL relies completely on copyright law, whether or not something is a derivative work depends on what is said in the copyright law and surrounding case law, not any particular thing the GPL tself
Kuhn declined to comment on the case of MySQL and its licensing. “We have no specific comment on how MySQL AB structures their marketing literature.”
Some sources we talked to suggested that unixODBC could be used to connect a proprietary program with the GPL licensed MySQL, since unixODBC is licensed under the LGPL. Nick Gorham, of the unixODBC project, responded, “Its certainly my intention that commercial apps can use unixODBC, that's why the driver manager and support libs are released under the LGPL.” On the other hand, he also noted, “I would say that if the [MySQL] driver is used for a commercial purpose, then the presence of other code [unixODBC] won't change the fact the driver is being used commercially,” he told us.
Urlocker pointed out that “it is never wrong to buy a commercial license,” noting that “we like being able to continue releasing new versions” of MySQL, and that the commercial licenses are what generates the revenue that MySQL AB uses to pay its development team to continue developing the MySQL database.
Emphasizing the company's commitment to the GPL, he stressed that MySQL thinks “the GPL is the best license there is” and that MySQL AB works “closely with the Free Software Foundation.” On the flip side, Urlocker said the company would consider a different license in the future, if a better one became available. “The GPL is not a perfect license … but it is the best that is available.”
Concerning the fear of litigation suggested by the consultant mentioned earlier, Urlocker said, “We are never going to be the license police.” While the company has no desire to legitimize uses it sees as going against the philosophy of the license, he emphatically denied that MySQL had any interest in spending time suing users over what it sees as gray areas.
“[MySQL] is always open to feedback from our users on ways to better serve them whether it's a licensing issue or a product feature, documentation, support, etc.,” Urlocker told us.
The main point he made to us is that his company believes “strongly in Open Source.” The company has actually tried to increase the freedoms provided by the GPL, Urlocker asserted, with the “MySQL FOSS exception” that allows some Open Source Initiative approved licenses, that are incompatible with the GPL, to still make use of the GPL licensed version of MySQL.
New Offerings on the Horizon
Speaking of the new releases made possible by MySQL's dual licensing business model, Urlocker pointed out that MySQL 4.1 is presently in beta and “should be released for production” within four to five weeks. According to information provided by the company, the new release will feature OpenGIS geographical data support and the ability to send multiple SQL statements via a C language MySQL API call and receive the results back at once, among other additions and enhancements.
MySQL 5.0, the first major update to the product since the MySQL 4.0 “production” release was announced in early 2003, is presently in the alpha stage of development. “New stored procedures and views” are among the features that this upcoming release will include. Some other interesting features may also make it into the code before the release, but Urlocker said that his company prefers to “under promise and over deliver.”
Urlocker also pointed out with excitement the changes he sees in the Free Software and Open Source sector. “You use to have to be a pioneer [to use Open Source],” he told us, but he believes that is no longer true. He noted, for example, that there are now over a hundred different products that come with MySQL, and third party support is growing, with such notable additions as Quest Software's preview release of the TOAD for MySQL development environment and upcoming support in Embarcadero Technologies' cross-platform and cross-database administration tool, DBArtisan.
He also pointed to the introduction of premier support by MySQL. Urlocker said that this was intended to provide services such as a technical onsite account manager, for organizations requiring advanced, commercial level support from MySQL AB. “As Open Source becomes more popular, corporate managers are looking for these types of things,” he told OfB.
Due to the company's quick expansion and the growth of the Free Software sector, Urlocker also told us his company is presently seeking to fill quite a few job positions in the United States and abroad. Those interested in available positions can find out more on the MySQL web site.