Re: GPL linking question
> Hi all,
> A question about linking non-free programs to GPL; specifically, about
> what 'linking' specifically means. I'm specifically referring to a
> (hypothetical) program which requires the mysql server.
> The mysql server is GPL. The proprietary program implements its own
> mysql client to connect to the server; it doesn't link against the
> mysql client code (which is also GPL).
> The mysql.com web site says you require a commercial license for the
> mysql server (ie you cannot use it under the GPL) if (among other reasons):
> "You have a commercial application that ONLY works with MySQL and ships
> the application with the MySQL server. This is because we view this as
> linking even if it is done over the network."
> Is that a fair definition of linking?
> (Note that the above clause is only on the web site, and isn't actually
> added to the GPL they use for the mysql server software itself.)
> The GPL FAQ seems to imply that if you keep the proprietary and
> GPL components at "arm's length", like a compiler and the kernel,
> or an editor and the shell, that's OK. See
> What if the application bundled MySQL but could also connect to other
> SQL servers, such as Oracle or MS SQL?
> Hamish Moffatt VK3SB <email@example.com> <firstname.lastname@example.org>
The MySQL people don't know what they are
talking about. If I create a client for a server without using anyone
else's copyrighted code, then I can put whatever license I want on
that code. This might mean I have to rewrite or reverse engineer
compatible headers. Think of it this way: if someone writes a GPL'd
webserver, then they can't demand that any client that can connect to
it is GPL'd (unless I use code from their server). Similarly for a
GPL'd ftp server or SAMBA server. If I don't use any of your code,
you have no say in what license the code is under.
If you have patents on the protocol, you could have some say about
client code. However, that is true regardless of the server license.