Originally Posted By: Feindbild
Are you sure code linking against mysql.dll would need to be GPL too?

Yes. That's the major point of the GPL. If you directly link against, or incorporate GPL'd code, your work must be under the GPL or a GPL conform license (as opposed to, for example, the 3 or 4 clause BSD license which requires you to only attribute the work).
There is a special version of the GPL, called LGPL, which allows you to link against binaries which are under the license without having to open up your source code (for example the glibc is under this license, so just because you use the standard C library on Linux doesn't mean your source code has to be GPL).

But, here is the point: You have to link against it. You can use other forms of communication, for example IPC or the programs ABI, to communicate with the program without having your applications become infected by the GPL. This is crucial, for example, it allows you to ship a disassembler like Hopper which can work with GDB, but doesn't have to be open source. Another example: GCC itself. Just because you compile some source with the GCC, or write an IDE which uses GCC doesn't mean your source code must be GPL. If the GPL'd program/library isn't part of your program (and it becomes if you link against it), you are good to go.

And that's why your PHP scripts are fine. PHP is under the GPL (and must be, because it links against a huge amount of GPL software), but your scripts don't have to be. They don't link against mysql, openssl or anything, they are just interpreted by PHP which does everything, and which in return is licenses under the GPL. Okay, now I hear you: But Ruby is under the 2-clause BSD, you don't know jackshit. Yes, Ruby is, but Ruby isn't PHP. It's not an umbrella over every open source software that didn't run away fast enough, the interpreter doesn't link against any GPL software. The mysql Gem however does, and guess what license it is under? GPL, of course.


Oh, and speaking of MySQL, if you want to use it, but hate the GPL: You can dual license GPL software. I mean, it's yours, you can change the license whenever the fuck you feel like it, with the exception that you can't change it in retrospect. Oracle does that, if you want, you can go to them and ask for a non GPL licensed MySQL. They will give you their bank details and you wire them some money (no, actually, if you smell like enough money, they will send an Oracle rep to you who gives you a five hour long power point presentation about why YOU need Oracle db and their enterprise support)


Shitlord by trade and passion. Graphics programmer at Laminar Research.
I write blog posts at feresignum.com