4 ms·
So I could compile a program, dynamically link an LGPL library and that's fine, but the moment I statically link the same program I'd be violating the LGPL. I n
by mrweasel 3y ago
So I could compile a program, dynamically link an LGPL library and that's fine, but the moment I statically link the same program I'd be violating the LGPL. I never considered that, don't that make the LGPL a pretty poor license for pretty much anything?
- michaelsbradley 3y agoYou can link statically, see my reply to parent.
- phkahler 3y ago>> You can link statically, see my reply to parent. You can static link code under the equivalent version of GPL license. The point of the LGPL was to compromise so non-free software could still use free libraries. I was unaware of the static compilation aspect of MPL - that's interesting.
- deleted 3y ago[deleted]
- michaelsbradley 3y agoYou can statically link closed/proprietary software with LGPLed code, its just a too common misunderstanding that you can’t do so.
- dartos 3y agoI think the other commenter is wrong. You are restricted from statically linking LGPL code in non free programs unless you follow the restrictions in section 4d of the license
- tom_ 3y agoNot necessarily, because it means LGPL libraries are suitable for use with non-free programs. As the library user, this is good, because you potentially get access to free libraries that you'd otherwise be unable to use. (GPL libraries are off limits for non-free programs.) As the library author, this is also good, because your potential user base is widened, but your library can remain free software. (Of course, you could equally spin it that these are bad things - an exercise for the reader.)
- noirscape 3y agoFwiw a lot of legal scholars have had their doubts on the virality of the GPL when it comes to dynamic linking. The FSF takes a pretty major logical leap by considering dynamically linking a work to a GPL library to be creating a work that falls under the GPL. Both EU and US scholars doubt that mere dynamic linking constitutes making a derivative work. (Specifically for the US, Galoob v. Nintendo ruled that a derivative work "must incorporate a portion of the copyrighted work in some form"; which obviously isn't the case with dynamic linking. - Legal scholars in the EU have come to similar conclusions when it comes to the various EU copyright directives.) Generally speaking it's untested enough ground to kinda avoid the GPL for this usecase anyway, but the FSF's Legal FAQ presents things as fact in a way mostly only benefitting their cause.
- cmitsakis 3y agoexactly. EU law allows linking without producing a derivative work according to this: https://joinup.ec.europa.eu/collection/eupl/matrix-eupl-compatible-open-source-licences#section-3 https://joinup.ec.europa.eu/collection/eupl/matrix-eupl-comp...
- belorn 3y agoThat article makes an interesting argument. If the code is for the purpose of interoperability, and the use does not prejudice the legitimate interest of the copyright holder, and it does not conflict with a normal exploitation of the program, and is independent software, then it may not be a derivative work. It would take a very special situation when a company would rely on fulfilling all those conditions in order to use that as a legal defense.
- belorn 3y agoCould you give a few examples of what you mean as "a lot of legal scholars have had their doubts"? A key question is if different aspect of a work should be considered separate independent works communicating with each other or as a single copyrighted work. In games people often talk about DLL files (in terms of modding), game content like images, video and sound, game engines, game and sever code. How much and what aspects can be modified without the permission of the copyright author? There are generally three arguments I have heard in favor of a "single work". One is that everything will eventually be copied into memory, and thus while independently they may have individual copyrights the combined work which the author calls "The Game" is a single work. The second argument is that all this technical details doesn't matter for a judge or jury. What matter is what those people perceive as a single work. Technical aspects like did the copying arrive there through the internet, a CD, a DLL file, or what have you isn't that important in determining the question about a single work vs interoperability between different independent works. It is all about the experience for the end-user. The third argument I hear is that DDL files or programs that dependent on them are not independent. One can not run them independently, they are generally not developed independently, nor can the "single work" even start if parts are missing. Putting files into DDL is just a form of splitting the work into multiple files for technical convenient reasons, which is not a basis to form a legal distinction between a single work and multiple independent works. If the technical aspect would allow this then anything sent over the internet would loose copyright, since content is split into thousands IP packages which individually might not be large enough to be copyrighted.
- circuit10 3y agoThat does make a difference though, because if you dynamically link it the user can modify the library and put it back in place of the original. Being able to modify things is one of the main aims of the GPL
- pjmlp 3y agoNo, it makes it quite usable for dual licensing scenarios. Those that want to take the work of others for free, get the same payment that they are willing to pay upstream developers for. Otherwise they can dynamically link it and take it as it is, or if it doesn't suit them, pay for the commercial license instead, and share their gold coins with upstream. EDIT: missing words