IT Channel.com

Using MySQL licensing: Open source license vs. commercial license

By null

One of the most interesting features of MySQL is the license. MySQL is an open source project. That is, the complete source code of MySQL is freely available. Since June 2000 (that is, since version 3.23.19) the GNU Public License (GPL) has been valid for MySQL. It is thus ensured that MySQL will continue to be freely available in the sense of the open source idea. (For commercial applications of MySQL there is a second, commercial license available in addition to GPL. More on this later.)

Rights and Duties with Respect to the GPL

Open source is often incorrectly interpreted to mean "without cost." It is indeed true that GPL software can be used without payment of fees, provided that one adheres to certain conditions. However, the open source idea goes much further:

Chapter table of contents: What is MySQL?

Part 1: Database glossary 
Part 2: MySQL features 
Part 3: MySQL limitations 
Part 4: MySQL version numbers 
Part 5: MySQL licensing
Part 6: MySQL version names 
Part 7: MySQL alternative

Use of MySQL with an Open Source License

The following list collects the different situations in which one may freely use MySQL in the sense of GPL:

Use of MySQL with a Commercial License

In the sense of GPL the following uses are prohibited:

The advantage of the program MySQL Network is in the additional services and the free update option. Classic licenses are cheaper, on the other hand, once the MySQL server has been installed and should just run.

Tip: Further information on MySQL licensing can be found at the following sites:
https://www.mysql.com/company/legal/licensing/
https://www.mysql.com/network/
https://order.mysql.com/ https://shop.mysql.com/?sub=vt&id=software

Commercial Licenses for Client Libraries (Connector/ODBC, Connector/J, etc.)

In addition to the actual MySQL server, the MySQL company offers client libraries that are necessary for the development of application programs (there are additional drivers that have been developed outside of the firm MySQL, such as the PHP driver):

C-API: Application interface for C programming
Connector/C++: Library for C++ programming
Connector/J: JDBC driver for Java programming
Connector/MXJ: J2EE MBean driver for Java programming
Connector/NET: .NET driver primarily for programming under Windows
Connector/ODB: ODBC driver for all programming under Windows

Like MySQL, these drivers are available under GPL. Many MySQL client libraries, such as the JDBC driver Connector/J, used to be available in earlier versions under LGPL (lesser Gnu public license), which implies fewer restrictions for commercial applications. The situation changed, however, with version 4.0.

If you wish to use these drivers in commercial applications, the following rule is in force: If MySQL client programs access a MySQL-licensed server, then this server license is valid for the client libraries. It is thus usually unnecessary to obtain licenses for the use of client libraries, because the client libraries are automatically included with the server license.

However, if you develop and sell a commercial program but do not deliver it together with MySQL and leave the installation of the MySQL server and its licensing to the customer, then you must obtain licenses for the client libraries used in your program.

Explicit licensing of the client library is seen by the MySQL company as an exception, since as a rule, the server is licensed. Commercial licensing of the client library actually represents nothing other than a protection of the MySQL company's commercial interests. They want to avoid the situation in which commercial developers get around having to obtain a commercial license simply by not providing the MySQL server. The customer then loads the GPL version of the MySQL server from the Internet and believes that all is right with the world. In such a case the MySQL company would receive nothing for the development of a commercial MySQL product.

Client Licenses for the PHP Project, F(L)OSS Exception

Since MySQL 4.0, the GPL license for client libraries has led to problems with some other open source projects. For example, the PHP project is not subordinate to GPL, but to another open source license that is considerably more liberal and contains fewer restrictions for commercial applications. If PHP were to provide the MySQL client library under GPL, the GPL would have to hold for the entire PHP project. PHP developers were not agreeable to this. MySQL therefore defined an exception that permitted the PHP project to make the MySQL client library part of PHP.

For other open source projects that do not use the GPL license, MySQL has defined the FLOSS or FOSS license exception. FLOSS stands for Free/Libre and Open Source Software. (On the MySQL Web site the exception is often abbreviated FOSS.) Open source projects that exist under a license that is part of the FOSS exception are permitted to integrate the MySQL client library into their code without the GPL restrictions coming into play. Further details on these license exceptions can be found here:
https://www.mysql.com/company/legal/licensing/faq.html
https://www.mysql.com/company/legal/licensing/foss-exception.html

Red Hat has long considered these license exceptions as not extensive enough. Therefore, the Linux distribution Red Hat Enterprise (RHEL) and Fedora Core for years contained the obsolete MySQL 3.23.n package. That has changed with Red Hat Enterprise 4 (February 2005) and Fedora Core 4 (April 2005). Both distributions contain MySQL 4.1, which at this time is the most stable version of MySQL.

Chapter table of contents: What is MySQL?

Part 1: Database glossary 
Part 2: MySQL features 
Part 3: MySQL limitations 
Part 4: MySQL version numbers 
Part 5: MySQL licensing
Part 6: MySQL version names 
Part 7: MySQL alternative

The above tip is excerpted from from Chapter 1, "What is MySQL?" of The Definitive Guide to MySQL 5 by Michael Kofler, courtesy of Apress. Find it helpful? Purchase the book here.

About the author: Michael Kofler holds a Ph.D. in computer science from Graz Technical University. He has written a number of successful computer books on topics such as Visual Basic, Visual Basic .NET, and Linux. Michael is the author of The Definitive Guide to MySQL 5, Third Edition and Definitive Guide to Excel VBA, Second Edition from Apress.

02 Jan 2007

All Rights Reserved, Copyright 2006 - 2024, TechTarget | Read our Privacy Statement