MySQL's License
The MySQL server version 3.22 and below is under the MySQL Free Public license, which is applicable to non-Microsoft platforms, and is included at the end of this book. It is a very liberal license, requiring payment under limited circumstances. Some parts of the MySQL tools are under the GNU public license. Some parts of the MySQL tools are in the public domain. The MySQL server itself is not under the GNU license or in the public domain. On Microsoft platforms, the license for version 3.22 and below is a different license and requires payment after a trial period. Check their Web site for details concerning the Microsoft licensing details.
MySQL server version 3.23 is now released under the GPL license. Version 3.23 is still in alpha as of this writing, but should be released soon. It is in your best interest to upgrade to version 3.23 as soon as it is stable because the GPL license is less restrictive than the MySQL license.
Free Use Within Limitations
MySQL version 3.22 is generally free for use on Unix and OS/2 platforms. On the Microsoft Windows platform, you must pay for a license after a trial period of 30 days.
You must pay for a license for MySQL version 3.22 if you include MySQL in a product or service for which you charge. You must pay for a license if you bundle MySQL with a distribution that is not redistributable by others.
One MySQL license goes with one machine. It covers an unlimited number of customers and CPU's on that machine. It covers an unlimited number of users on that machine. This license is the most generous license for an SQL database that exists, in my opinion.
If you are using MySQL version 3.23 or later, the GPL license applies. It is free to use for any purpose, commercial or otherwise. You do not need to pay for a license to put it on any machine, or to use it for any purpose.
Implications and Examples
A few example situations covered under the MySQL license for version 3.22 are as follows:
- You install MySQL on a server and charge for that service. You must pay for a license.
- You install MySQL on an office machine in the company you work for. You build an intranet Web-based email application. No payment is necessary.
- You decide to distribute MySQL for Linux on a CD with some other free applications. You include the source code to MySQL. No payment is necessary.
- You bundle MySQL with an application and sell the application to others. MySQL is installed as a normal part of the installation process. A payment is necessary.
- Your customer already has a non-OEM version of the MySQL license for a machine. You install MySQL and charge a fee. You do not have to pay for an additional license.
It is always a good idea to pay for a MySQL license for version 3.22 or below, for any kind of installation where you expect problems. With the MySQL paid license, you get support from the creators of MySQL. They are very responsive, and handle problems quickly. I've seen their support efforts in the past, and their help far outweighs the amount of the license fee. It is a very good deal.
If you use MySQL version 3.23, these rules do not apply because of the GPL license. You can bundle MySQL with any application or provide any service with MySQL. However, you must provide the end customer with the source code or the ability to obtain the source code.