![]() |
|
URL of the article:
The Top Seven MySQL Licensing Questions
by J.A. (Zak) Greant, MySQL AB Community Advocate
And Seven Simple, Direct Answers
This article aims to clearly answer seven of the most common questions asked by PHP users about MySQL's licensing. For each question, this article attempts to provide a simple and direct answer that focuses on the intent of the question, rather than its literal meaning. Additionally, for each question and answer, there is also a more detailed and technical supporting discussion.
Introduction This article endeavors to provide advice that is responsible, practical, conservative, and true. However, please keep in mind that it is not a substitute for professional legal advice. In matters of software licensing, it is prudent to seek the advice of a lawyer who specializes in software licensing and intellectual property law, and who understands the issues as they pertain to Free Software and Open Source. Audience This article is written for the professional PHP programmer, but should also be of benefit to any reader with an interest in the topics discussed. The answers given tend to focus most strongly on the needs of the independent software vendor who develops and distributes software made with PHP and MySQL. Q #0: How does MySQL AB make money? A: MySQL AB sells licenses and various services (like certification, support and training) for our software. Discussion This is the most common question that I am asked about MySQL at PHP conferences. MySQL AB makes money in much the same way that many other software companies make money: we sell licenses to, and services for, our software. At the same time, we also license our software free of charge under the terms of a license that allows others to do almost anything that they want with the software. They may study, disassemble, sell, re-engineer, or even re-engineer and sell the software, as long as they always share it (and works based on it) under the terms that we licensed it to them. The combination of the two different licenses is called dual licensing. Q #1: What is dual licensing? A: Dual licensing allows the user of a program to choose between two different sets of terms and conditions for their use of the software. Discussion When software is dual licensed, it means that one of two different sets of licensing terms may be chosen for each particular copy of the product. MySQL AB allows users to choose between the GNU General Public License (GPL) and a standard proprietary license. The proprietary license is fairly standard for the proprietary software industry and is similar to what is commonly used by other commercial software vendors like Hewlett-Packard or Novell. It can briefly be summed up by stating that, in exchange for a fee, MySQL AB allows you to run a copy of the licensed MySQL software and provides some additional assurances of importance to business users such as certain indemnities related to intellectual property. As with most proprietary licenses, few other rights are granted. The GPL is a Free/Libre and Open Source Software (FLOSS) license that grants licensees many rights to the software under the condition that, if they choose to share the software, or software built with GPL-licensed software, they share it under the same liberal terms. At MySQL AB, we often say this very simply as: If you are free, we are free. If you are proprietary, we are commercial. Q #2: When should I use MySQL under the GPL? A: Whenever you want to study, extend, and freely share MySQL and software based on MySQL. Discussion The GPL grants licensees a broad set of rights, including the right to copy the software, freedom to create modified copies, and permission to distribute original and modified copies of the software to others. The rights are granted under the following condition: copies of GPL licensed software (or software that is based on the GPL-licensed software) can only be distributed under the terms and conditions of the GPL. Additionally, the GPL requires that the source code of the program is included with any executables or that it be made freely available for only the cost of distribution. Some examples of legal use of GPL-licensed software include:
Visit http://www.fsf.org/licenses/licenses.html#GPL for comprehensive and accurate information on the GPL. Q #3: When should I buy a proprietary license for MySQL? A: Whenever you distribute proprietary software that uses, includes or requires MySQL. Discussion Proprietary software, for the purposes of this discussion, is software that is not licensed under a Free Software or Open Source license. Commercial software is simply software that is sold - regardless if it is proprietary or not. In some cases, proprietary software and GPL licensed software are not incompatible. The crux of the issue revolves around a key concept of copyright law known as derivative work. If a derivative work is created with GPL licensed software, that work can only be distributed under a GPL license. The U.S. Copyright Act, at 17 U.S.C. §101, defines a derivative work as: ... a work based upon one or more pre-existing works, such as a translation, musical arrangement, dramatization, fictionalization, motion picture version, sound recording, art reproduction, abridgment, condensation or any other form in which a work may be recast, transformed or adapted. A work consisting of editorial revisions, annotations, elaborations or other modifications which, as a whole, represent an original work of authorship, is a derivative work Authoritatively determining when a work is or is not a derivative of another work can only be done by a court of law. Of course, legal experts with experience in these matters and an understanding of national copyright laws can make educated guesses about when a work is or is not a derivative work. MySQL AB always recommends that proprietary software use the proprietary version of MySQL. With this strategy of always pairing valid proprietary licensing with valid proprietary licensing, the obligations and rights of the licensor and the licensee are quite clear. If you wish to use MySQL as a part of your software, but do not wish to distribute the software under the GPL (or one of another set of FLOSS licenses - see Q #4 for details) or purchase a proprietary license from MySQL, then we invite you to discuss further with us and/or to consult a lawyer who is an expert in proprietary and FLOSS software licensing. Q #4: When do I need to purchase a proprietary license for PHP programs built with MySQL? A: Whenever you distribute proprietary software that uses, includes or requires MySQL. Discussion As in every other case, if your software is not FLOSS licensed, MySQL AB recommends the use of the proprietary version of MySQL. However, it would be unethical to not disclose the facts. It is not clear that the combination of a proprietary PHP script, GPL-licensed MySQL software and PHP would violate the GPL. When the PHP engine executes a PHP script, the license of the PHP script is irrelevant. Nothing in the licensing of the PHP engine makes any requirements on the licensing of the PHP scripts that it runs. Even if the PHP engine were licensed under the GPL, this fact would still be true. When a PHP script uses MySQL, it only does so via PHP's interface to MySQL. A developer can create a script that uses MySQL, but never have to distribute any MySQL source code. Asserting that this is a derivative work might be difficult. While MySQL AB recommends that proprietary software use the proprietarily licensed version of MySQL, the licensing fees may make this difficult for less expansive proprietary applications. If you wish to purchase licensing, but find the licensing fees prohibitive, please write to community@mysql.com. We may be able to help arrange terms that are more suited to your needs. Note: Readers learned in the ways of FLOSS licensing know that the distribution of derivative works formed from GPL-licensed software and non-GPL-licensed software is not legal in most cases. To avoid this problem and to allow for greater compatibility between GPL-licensed software and non-GPL FLOSS software, MySQL AB has issued a special exception to the terms and conditions of the GPL licensing for the MySQL client libraries. The full details of the exception can be found at http://www.mysql.com/products/licensing/foss-exception.html. Q #5: Is MySQL support included in PHP 5? A: Yes. There are two extensions for supporting MySQL in PHP 5. Discussion In PHP 5, there are two MySQL extensions available: the old MySQL extension for MySQL versions up to 4.1 and the new, improved MySQL extension that supports all versions of MySQL (including MySQL 4.1 and greater). There is a difference in how MySQL support is included with PHP 5 compared to PHP4. In the past, a public domain MySQL client library was bundled with PHP. This was done to make it easier for less experienced users to use MySQL with PHP. However, a combination of problems surrounding how the MySQL client was included with PHP led to the unbundling of the MySQL client library. The major factors were:
Currently, to use MySQL with PHP, both PHP and MySQL must be installed and support for MySQL must be enabled when building PHP. Q #6: Why did MySQL AB change the license of the MySQL client libraries to the GPL from the LGPL? A: To better support our dual-licensing model. Discussion MySQL AB's guiding business principle is that of fair exchange or Quid Pro Quo (something for something). We reflect this principle in our business model by giving our software away for FLOSS use and by selling it for proprietary use. The LGPL licensing for the MySQL client made it easy for organizations to distribute proprietary software without contributing to the FLOSS community or paying money to MySQL AB to fund further development. In short, they were not participating in a fair exchange. MySQL AB relies on having a healthy and fair exchange with the community of MySQL users. When it comes to software licensing, we interact with the community in the same way that they choose to interact with others. When dealing with proprietary software, we sell licenses for MySQL. When dealing with FLOSS software, we give away GPL licenses for MySQL. This simple approach lets us have a viable business model that meets the needs of many different types of users. For more information on this model, read MySQL AB CEO M?en Mickos's excellent article on dual-licensing, fair exchange and Quid Pro Quo at the rather unwieldy URL of: http://mysql.com/newsletter/2003-11/a0000000220.html. Closing Notes Thanks for reading! I hope that this article has made the MySQL licensing easier to understand and has helped to clear up a few related issues. If you want to discuss the article or issues in more detail, please hit our forums and submit your article request (link at end of article). Glossary
|
||
|