views:

47

answers:

1

The GPL and AGPL require derived works to be released under the same terms,I don't understand the terms of "derived",what is the meaning of the "derived".If I develop a client software of mysql(mysql is license under GPL),I use some mysql lib,when I distribute it,may I have to make my software a GPL license?Navicat(a client software of mysql,http://www.navicat.com)is not GPL license ,it's EULA.Does the Navicat use the Mysql library?

+2  A: 

"Derived" in this context is a legal term -- it's defined by copyright law. Wikipedia has a long discussion on the topic, but the word doesn't really have a special meaning here: derived means "based on" and while there are edge cases, it's usually quite clear whether a work is derived or not.

In the case of Navicat, I suspect they paid for a commercial license to use the MySQL libraries rather than use the license granted to them under the GPL. If you base your software on the GPL'd MySQL library then it will almost certainly be derived from it and, if you distribute it, you will need to comply with the GPL.

Andrew Aylett
It's actually not at all that clear, when a piece of software is derived or not. For example, the FSF claims that just linking in code automatically makes a derived work, while pretty much every copyright lawyer I have asked agrees that that's bullshit and that deriving a work cannot possibly happen by just some automatic process.
Jörg W Mittag
@Jörg: My understanding here is that it's the executable that is derived from the library by linking, not the source used to build the executable. The source may possibly not be derived from the library sources, but if you want to distribute the binary (which is derived from both a GPL library and from your source) then you must offer the complete source. This works the other way around too: If you get source from somewhere (under the GPL) and change it to link to a GPL-incompatible library then you can distribute the sources but can't distribute the resulting binary (see: OpenSSL).
Andrew Aylett
@Jörg: if linking a GPLed code didn't constitute derivation, it would be trivial to side step GPL. You would just compile the code as a library with one entry point (main()) and write a trivial wrapper (the "real" executable) that links to it and just forwards main() in exe to that DLL. You get the same functionality but by your logic it doesn't violate GPL. Except it does violate GPL and linking the code compiled as a dll is no different that compiling code into exe. FSF wrote the license so they are an authority on what it means, until the court decides otherwise (which hasn't happened yet)
Krzysztof Kowalczyk