Is MySQL Open Source or Commercial?
Is MySQL Open Source or Commercial?
MySQL is one of the most popular database management systems that is widely used both in industry and for commercial purposes, as well as for learning or education purposes. Due to this wide-ranging demand in the industry, the following question generally arises: is MySQL open source?.
The core MySQL database management system is primarily an open-source software that is available for free within compliance with the terms of the GNU General Public License (GPL) or other open-source licenses. This basically implies that the source code of MySQL can be downloaded, used, and modified by anyone without paying any kind of license fee.
Apart from that, there also exists a commercial edition of MySQL, incorporated by Oracle, which has ownership of MySQL at present. The MySQL commercial edition consists of tech support, add-on features, and extra services apart from all the facilities available in the MySQL open-source version.
Thus, we can conclude that MySQL is both open source software that is accessible for free within the terms of the GPL as well as, there exists commercial editions of MySQL which is licensed by the Oracle organization.
Rights and Duties with Respect to the GPL
The term "open source" is often misunderstood to mean software that is free of cost. While it is true that GPL-licensed software can be used without payment of fees, provided certain conditions are met, the concept of open source extends beyond this. Thus there are few rights and duties that are associated with respect to the GPL. Following are some rights and duties with respect to the GPL:
- With access to the source code, users can address any issues that may arise without depending on a software vendor.
- They can also attempt to fix problems or add features, and seek help from the developers' group. Additionally, since the code is visible to many developers, there are fewer chances of any undesirable surprises like backdoors.
- One is also permitted to modify GPL products and sell the resulting new programs. However, if one wants to use a GPL program as a basis for a commercial product, they must make their own source code freely available under the GPL with any changes made. This can be a challenge for commercial developers who prefer not to share their code. Therefore, any program derived from GPL software is subject to the terms of the GPL.
Use of MySQL with an Open Source License
In this section we will go through scenarios where MySQL can be used with an Open Source License:
- We can use MySQL free of cost for locally developed applications that are not being used for commercial purposes. However, in the event that the resultant solution is intended for sale to customers, licensing fees will come into play. The MySQL homepage states that the software can be used for free only by those where no modification, copying, or distribution is done.
- We can use MySQL freely within a website. If you create a PHP application and set it up with your internet service provider (ISP), you are not required to make your PHP code accessible for free under the GPL.
- An internet service provider can offer MySQL to its customers without any constraint of paying any licensing fees, as long as MySQL operates solely on the computer of the ISP and is deemed internal.
- We can use MySQL free of charge for projects that operate under the GPL or similar free licenses. For example, if you have developed a new free email client for Linux and wish to use MySQL to store emails, you can do so without any additional costs.
Use of MySQL with a Commercial License
In this section we will go through scenarios where MySQL can be used with a Commercial License:
- If you intend to sell the software's newer version or you intend to sell a product that is based on MySQL, you are required to ensure that the source code of your modifications is openly accessible without any restrictions, as per the terms of GPL. This means that you cannot extend or modify MySQL without sharing your changes with the MySQL community under GPL.
- Developing a commercial product that utilizes MySQL as the database while refraining from making the code openly available in an open-source sense is prohibited under the terms of GPL. If you are a commercial developer and do not wish to abide by the limitations of the GPL, you may purchase a commercial MySQL license and sell your product along with it. This way, you can use MySQL without making your code available under the GPL.
MySQL provides commercial licenses in two formats for consumers who purchase their database applications which are as follows:
MySQL Network
The MySQL Network program grants purchasers the privilege to operate a single MySQL Pro Certified Server with InnoDB support for a duration of one year. It's worth noting that irrespective of the number of CPUs it possesses, a server is regarded as a single computer. There are no restrictions on the number of clients that can establish connectivity with the server, and the program includes access to specially included in the offerings are compiled server versions known for their exceptional stability, as well as support through email and telephone, as well as other services. During the period of the program, the MySQL server (including versions 4.0 and 5.0) has gotten updates that are free.
Classic Commercial MySQL License
As a result of the implementation of the MySQL Network program, traditional normal licenses have become less common and are now difficult to find. Classic MySQL licenses, which can be purchased through the hindmost link in the provided list, have no expiration date but are limited to a specific principal server version. This means that if you possess a license for version 4.0, it is necessary to acquire a new license for version 5.0. However, the cost of these licenses is comparatively reasonable when compared to other commercial database systems.
Commercial Licenses for Client Libraries (Connector/ODBC, Connector/J, etc.)
Apart from the MySQL server, MySQL also provides client libraries essential for application program development. It's worth noting that there are also other drivers available outside the MySQL company, such as the PHP driver:
C-API
This is the application interface for C programming.
Connector/C++
This library is designed for C++ programming.
Connector/J
A JDBC driver for Java programming.
Connector/MXJ
This is a J2EE MBean driver for Java programming.
Connector/NET
A .NET driver is mainly used for programming under Windows.
Connector/ODB
An ODBC driver for programming under Windows.
Client Licenses for the PHP Project, F(L)OSS Exception
In recent years, the client libraries' GPL licenses in MySQL have caused some issues with other projects that are open-source. For instance, the PHP project is subject to a different license that is open-source is in a more unrestricted manner and imposes lesser constraints on commercial applications. In the event that PHP was to release the MySQL client library under the GPL license, the whole PHP project would be subject to it. As a result, MySQL established an exception that permits the PHP project to integrate the MySQL client library into PHP.
MySQL has defined a FLOSS or FOSS license exception for alternative open-source projects that do not employ the GPL license. FLOSS refers to Free/Libre and Open Source Software, and projects that are open source and are licensed under the FOSS exception that are allowed to incorporate the MySQL client library into their code while being exempt from the GPL limitations. Further details regarding these license exceptions can be accessed on the MySQL website through the following links:
Red Hat has historically found the MySQL license exceptions to be insufficiently broad. As a result, Red Hat Enterprise (RHEL) and Fedora Core Linux distributions contained the outdated MySQL 3.23.n package for many years. However, this changed with the release of Red Hat Enterprise 4 in February 2005 and Fedora Core 4 in April 2005, as both distributions began to include MySQL 4.1, which was then the most stable version of MySQL available.
MySQL AB Logos and Trademarks
To display the logo of MySQL AB dolphin on their web pages, domains, books, products, etc, many users of the MySQL database are interested. MySQL AB welcomes and encourages this, but it needs to be mentioned that the trademarks of MySQL AB include the word MySQL and the MySQL dolphin logo, which should be acknowledged and can only be used according to the rules specified in their trademark policy available at the official website
The Original MySQL Logo
The initial logo of MySQL dolphin was created by Priority, an advertising agency in Finland, in 2001. It was selected as a fitting symbol representing the MySQL database because dolphins are known for being fast, quick, and agile animals that can easily navigate through vast amounts of data. The company has a special affinity for dolphins.
However, it should be noted that the use of the initial logo of MySQL Dolphin is restricted to be used only ny MySQL AB representatives and those who have obtained written permission to use it. Additionally, the MySQL dolphin logo and the word "MySQL" are both trademarks of MySQL AB and can only be used in accordance with the company's trademark policy available at website
MySQL Logos That May Be Used Without Written Permission
MySQL AB permits the use of specific requirements Use logos on third-party websites without written permission. Interested parties can download these logos from MySQL logo page. However, the mode of usage of the mentioned logos is subject to their trademark policy, which is also available on their website. The policy outlines specific requirements, such as using the logo as displayed on MySQL's official website, not altering the graphics or design, making it clear the website where the trademark is being displayed has been created or is owned by you, and not using the trademark in any way that poses any kind of harm to MySQL AB. If the trademark is used on a website, it must be clickable and lead directly to MySQL's official website. MySQL AB reserves the right to revoke the right to use its trademark if any requirements are violated. In the event that the MySQL database is utilized within an application under GPL, the application is required to be open source and capable of establishing a connection with a MySQL server.
When Do You Need to Write Permission to Use MySQL Logos?
To use MySQL logos, permission in a written form from MySQL AB is necessary for the following situations:
- Displaying any MySQL AB logo except the Conditional Use logos mentioned previously on websites or elsewhere.
- Displaying any MySQL AB logo anywhere except on your website.
- For the purpose of overseeing the utilization of MySQL trademarks on books, products, and other materials, MySQL AB needs to do so for legal and commercial reasons. Exhibiting the logos of MySQL AB on commercial products will typically require a fee. This is because MySQL AB believes that it is reasonable for returning a few of the revenue for the MySQL database's development.
MySQL AB Partnership Logos
To use the logos of MySQL partnership, it is necessary to have a partnership agreement with MySQL AB in written form. These agreements are only available to certified MySQL trainers and consultants who have partnered with the company.
Using the Word MySQL in Printed Text or Presentations
MySQL AB appreciates references made to the MySQL database, but it should be noted that the term "MySQL" is referred to as a trademark that is owned by MySQL AB. Therefore, adding the trademark symbol (™) is required when incorporating the word "MySQL" into any text, specifically on its first or most prominent occurrence. It is also appropriate to state that "MySQL" refers to a trademark owned by MySQL AB where necessary. For more details, one can check out the trademark policy available at the website.
Using the Word MySQL in Company and Product names
Written permission from MySQL AB is required to use the word MySQL in product or company names or in internet domain names.
Conclusion
- MySQL is primarily an open-source software that can be downloaded, used, and modified without paying any license fees.
- MySQL also has a commercial edition that provides additional services and support.
- The GPL license associated with open-source software has certain rights and duties that need to be followed.
- MySQL can be used for free for locally developed applications and projects operating under the GPL or similar free licenses.
- Commercial use of MySQL requires a commercial license and the source code of any changes made must be made freely available under the GPL.
- MySQL Network offers a one-year license to run one MySQL Pro Certified Server, while Classic Commercial MySQL License has no expiration date but is limited to a specific principal server version.
- Client libraries such as Connector/ODBC and Connector/J are available for application program development.