4 ms·
What? The FSF and copyright in general does not worry about static vs dynamic linking. They focus on "derivative works.". The only question that matters is "
by admax88qqq 5y ago
What? The FSF and copyright in general does not worry about static vs dynamic linking. They focus on "derivative works.".
The only question that matters is "does this piece of software derive from this other piece.". How they are linked together has no meaning. Hackers like to misunderstand that and think they can work around the GPL by how they bundle the two pieces together.
The CLISP case is a classic example. It bundled and dynamically linked readline, and as a result it got a significantly better command line interface. The author argued that this didn't make it a derivative works and didn't need to licence his code as GPL as a result. But that violated the terms of readline, which plainly says if you want to use readline to provide a powerful command line interface then you have to license your code as GPL.
You can always opt not to use the useful libraries and code that exist as GPL, but you can't take your cake and eat it too.
- deleted 5y ago[deleted]
- dralley 5y agoLGPL absolutely does care about linking. Section 4d specifically talks about shared libraries and requires you to be able to "re-link" the application with a modified version of the library, if dynamic linking is not used. When people talk about how the LGPL isn't a good license, it's largely because A) C and C++ are really the only two systems languages for which dynamic linking is even an option and B) header-only libraries, templates/generics, and heavy use of inlining can make "re-linking" a statically linked executable basically impossible.
- admax88qqq 5y agoYeah the LGPL gets a little technical, but at ita core it's really just saying there needs to be a way for the user to replace the LGPL library that is used. If it was statically linked on then some sort of relink ability needs to be provided. It's more like advice for people who want to incorporate LGPL software.
- trasz 5y agoWhat if the readline was really libedit(3), a BSD equivalent with the same API/ABI? How is the app a derived work of readline then?
- admax88qqq 5y agoIt wouldn't be? If the software was built for libedit then I'm sure that's fine. In the clisp case it was clearly built for libreadline, and trying to unbundle and repackage it differently doesn't erase that fact. What the courts will ask and what you need to ask yourself is, was the distribution model for a software done in a way to try to circumvent the spirit of the license? Law and contracts are not code. They are not interpreted in the strictest reading of the words, but in a reasonable interpretation of their meaning.
- trasz 5y agoBoth libraries provide the same API and ABI. From application’s point of view there is no difference: it depends on the user’s choice which package is installed. Also, there is no intent to circumvent: it’s just that there are two implementations of the same thing, one GPL, one BSD.