> What does internal distribution mean? Is it another thing than copying?
I've wondered that myself. See http://www.gnu.org or http://www.fsf.org to get more information on the GPL. Licensing, etc., is explained on their site, http://www.mysql.com/doc/en/Licensing_and_Support.html and they tend to be willing to answer questions if you send mail to their sales crew. Remember that publishing and distribution are two separate things. I think they used not to be very concerned about internal distribution, except in cases where the numbers were large, but I think their lawyers and business people having been pushing them to avoid ambiguities. > Consider this example: > > A company has 2 database servers and want to install MySQL on both servers. > Is MySQL free for the first server, but require a license for the second > server? Or are MySQL free for both servers? Don't get me started. http://www.mysql.com/doc/en/Using_the_MySQL_software_under_a_commercial_license.html http://www.mysql.com/doc/en/Using_the_MySQL_software_for_free_under_GPL.html It looks to me as if distributing a modified version of MySQL appears to require either the use of the GPL on your modifications or the purchase of a license for each copy distributed. Modification includes linking an application to either MySQL or to one of the MySQL provided drivers. A GPL compatible license may also be used, I think, and if that path is chosen, it must be applied to all of your application source. Previously, the drivers were under the LGPL, which allowed linking an application that was not GPL compatibly licensed, and that was significantly easier to work with. Apparently (without further elucidation from MySQL) you can't distribute PHP linked with the new versions of the drivers (or even to libraries designed to work only with parts of the driver API that are uniquely MySQL's and therefore covered by MySQL's copyright). As a result, PHP 4 is distributed with libraries linked to the old drivers, and PHP 5 is distributed without the MySQL specific drivers directly linked. So the end user of an app written for PHP 5 must install MySQL and its drivers; separately install PHP and either compile the MySQL libraries in or, for MSWindows, set it up to use the MySQL shared libraries dll; and then install the app. You could provide an installer to install both PHP and the app, I think, but the installer for MySQL would have to be separate. (And if you built your own separate installer for MySQL, the installer would have to be under the GPL.) This would be because PHP is not under the GPL license, but under the PHP license, which does not require modifications to be published under a GPL compatible license in order to be distributed. If you use a generic driver, you may be able to avoid the GPL effects, but that's really beside the point. If it makes you money, and if you want it to continue to make you money, logic itself requires you to send some of the action back to the people that build it. In MySQL's case, the people who build it have set up a licensing program to make it easier to cooperate financially and technically. <rant> If you used, for instance, PostGreSQL, even though that license does not place any publishing or licensing requirements on linked code, the logic remains. Support the developers, or expect to find yourself stuck without support. Vote with your money, so to speak. (As I see it, the two specific advantages of open source and free software are, first, you can legally modify it to your own purposes, and, second, you can usually set up some way to get a good start without paying through the teeth just for the right to find out if your project is going to roll like a tank or roll in the tank. The concept of making money with no expenses at all is a mirage, and a dangerous one, and when you hear the suits talk about "frictionless economy", tell them to take their manure generators elsewhere.) </rant> -- Joel Rees, programmer, Kansai Systems Group Altech Corporation (Alpsgiken), Osaka, Japan http://www.alpsgiken.co.jp -- MySQL General Mailing List For list archives: http://lists.mysql.com/mysql To unsubscribe: http://lists.mysql.com/[EMAIL PROTECTED]