MySQL, an open-source database company, has taken a step to mend a rift in the open-source world by updating a controversial licensing provision that had broken a close tie between the MySQL database and another software package.
The rift divided MySQL and PHP, software that lets computers construct customized Web pages on the fly. The two packages are found alongside each other so often, along with the Linux operating system and the Apache Web server, that there’s an acronym, LAMP, to label the software combination.
On Thursday night, MySQL published a license exception that, the company said, permits PHP to resume its previous practice of bundling MySQL components called libraries, said Zack Urlocker, MySQL’s vice president of marketing.
MySQL’s exception is “a step in the right direction,” said Andi Gutmans, a PHP creator and vice president of technology for Zend, a company that sells PHP programming tools. Gutmans also expressed confidence that other remaining issues will be resolved.
MySQL’s move illustrates the growing pains in the open-source software movement as it becomes a mainstream part of the computing industry.
Much attention is devoted to cases such as the SCO Group’s attack on Linux, where there’s friction between the open-source community’s philosophy of sharing and the proprietary software world’s love of secrecy. But the MySQL issue shows that there are challenges that must be addressed even between stalwart allies in the open-source movement.
And there are plenty more complexities. Some of them will surface next week at the Open Source Business Conference in San Francisco, at which MySQL will tout the benefits of the licensing strategy that lay at the root of the PHP issue.
MySQL, along with fellow open-source database company Sleepycat and programming component maker Trolltech, employ a strategy under which they make their software available both under an open-source license for use in open-source software and under a commercial license for inclusion in proprietary software.
The dual license approach–which only works in the case where a single entity owns the copyright to all the source code in a software package–will be the crux of boasts expected from companies at the conference that they’ve all doubled revenues.
In MySQL’s case, the Swedish company uses the General Public License (GPL) to cover its database software and the supporting libraries that other programs use to interface with the database. Previously, though, the libraries were covered by the Lesser General Public License (LGPL).
An essential difference between the two licenses is that proprietary or other non-GPL software may be tightly linked to LGPL software.
Until June, the PHP package had included MySQL’s libraries, ensuring that PHP programmers could easily take advantage of the database when building a Web site. But the license change by MySQL led PHP creators to remove the MySQL components.
The library change didn’t mean that PHP and MySQL couldn’t be used together, only that MySQL “was downgraded from its unique status to the level of most other PHP extensions,” where other databases such as Oracle and PostgreSQL are, Gutmans said.
In a later beta version of PHP, the programming team bundled different database software, a package called SQLite.
MySQL made the library change because some with proprietary software were inappropriately using the MySQL software, arguing that the LGPL libraries were an acceptable interface for their proprietary software, Urlocker said.
“There were people misusing the GPL, using our server tightly coupled with their applications, claiming the GPL didn’t apply because the client libraries weren’t under the GPL, they were under the LGPL,” Urlocker said. The change meant that commercial software companies no longer could claim they didn’t need to purchase a commercial license from MySQL.
The change affected open-source allies, though–not just PHP and Zend but also Red Hat, the leading seller of the Linux OS.
“Red Hat logged the issue with MySQL maintainers that MySQL could no longer work with PHP packages because of these licensing changes; hence Red Hat (wasn’t) able to upgrade to this newer version of MySQL because of this licensing conflict with other packages that are shipped” in Red Hat’s distribution of Linux, said Karen Bennett: vice president of tools and application development, in a statement. “We had to pull the upgraded package from our beta of RHEL 3”–Red Hat Enterprise Linux, the company’s premium product.
Red Hat doesn’t plan on including MySQL in the future, spokeswoman Leigh Day said–though not because of the license issue. Rather, it was a business decision: “Our core competency is not to service and support a database,” Day said, likening the situation to the company’s termination in 2002 of the Red Hat Database project it began in 2001.
These issues should now be resolved, Urlocker said. Because MySQL owns copyright to all the MySQL code, it can include additional license provisions to its software. The new provision, called the Free and Open Source Software License Exception, “enables people to use MySQL client libraries with other open-source projects under other open-source licenses other than the GPL,” Urlocker said.
The exception is “very encouraging,” Gutmans said in an e-mail interview. “However, we are still working with MySQL on other problematic aspects,” he added.
The next issue to be addressed is a provision that will enable proprietary software libraries to run side-by-side with MySQL’s libraries, Gutmans said. He said he expects that issue to be worked out “in coming weeks.”
PHP once stood for Personal Homepage and now stands for PHP: Hypertext Preprocessor.
Good deal, hopefully now they can get the MySQL 4.x into Fedora, though it sounds like Redhat might be reluctant to do so.