Page 1 of 1

PHP and MySQL licensing

Posted: Wed May 19, 2004 1:18 pm
by Burrito
We have developed an application that requires both PHP and MySQL. We'd like to be able to package PHP and MySQL with our application so that users who don't have them installed, can run an install script to get everything set up and running with our application. This would include users who are using Windows 2000 servers with IIS.

My question is, does the licensing agreement for PHP and/or MySQL prohibit the distribution of those products with another application...I know what you're thinking, "go read the licensing agreements and find out". But I get lost in all of the legal mumbo jumbo. It's like trying to learn Spanish by reading French to me. So I figured if someone knew the answer and would be willing to shed some light, I'd check in here first.

thx in advance,

Burrito

Posted: Wed May 19, 2004 2:03 pm
by Weirdan
You can include PHP as long as you include their license and clearly state that your distribution package includes PHP. And don't name your product PHPsomething, it's prohibited by their license.
Nevertheless, read the PHP license ( http://www.php.net/license/3_0.txt ). This license is simple and straightforward.

MySQL is completely different beast. It's GPLed (you can buy commercial license for $459 per server, of course ;) ).

Posted: Wed May 19, 2004 2:17 pm
by twindagger
I read the mysql license and noticed that they make an exception for programs developed with php to their GPL license (6th bullet here:
http://www.mysql.com/products/licensing ... cense.html). To me, this says that you can distribute mysql and php with your application as long as you don't use mysql without php. Is this correct?

Posted: Wed May 19, 2004 2:34 pm
by Weirdan
according to this section of GNU licensing faq: http://www.gnu.org/licenses/gpl-faq.htm ... reterIsGPL
you should release your software under GPL or not to use MySQL. PHP license does not apply here, as it seems to me.
However, when the interpreter is extended to provide "bindings" to other facilities (often, but not necessarily, libraries), the interpreted program is effectively linked to the facilities it uses through these bindings. So if these facilities are released under the GPL, the interpreted program that uses them must be released in a GPL-compatible way. The JNI or Java Native Interface is an example of such a facility; libraries that are accessed in this way are linked dynamically with the Java programs that call them.
PHP provides "bindings" to functions of mysql client library it linked with. MySQL releases their client libraries under GPL since 2001.