5 ms·
> If you use any 3P library it’s a derived dependency by law. Is that what you are arguing? It’s settled law at this point. Not it's definitely not. For B to b
by poizan42 3y ago
> If you use any 3P library it’s a derived dependency by law. Is that what you are arguing? It’s settled law at this point.
Not it's definitely not. For B to be a derivative work of A it needs to include copyrightable elements of A. But if B merely dynamically links to A then it only contains knowledge of the API surface of A. And SCOTUS refused to rule on the copyrightability of APIs in Google LLC v. Oracle America, Inc. In the EU APIs seems to be explicitly called out as non-copyrightable by Directive 2009/24/EC Article 1(2):
> 2. Protection in accordance with this Directive shall apply to
the expression in any form of a computer program. Ideas and
principles which underlie any element of a computer program,
including those which underlie its interfaces, are not protected
by copyright under this Directive.
- gumby 3y agoAn utterly irrelevant side point since the whole question is the use of the implementation not the API. If you call write() in Microsoft’s libc you must follow Microsoft’s license terms or you don’t have the right to use it. If you call glibc’s write() the same applies. And if you don’t like glibc’s terms you are free to, say, install bsd’s libc or write your own write() implementation (which probably just does a system call anyway).
- juped 3y agoI don't agree with you but I appreciate you providing me with comments like this to cite when I try to convince people "yes, FSF are really that maximalist; no, that's not a 90s relic they moved on from".
- freedomben 3y ago> I don't agree with you but I appreciate you providing me with comments like this to cite when I try to convince people "yes, FSF are really that maximalist; no, that's not a 90s relic they moved on from". unless you make sure that gumby is speaking for the FSF, then that comment does not provide evidence that the FSF believe that. It's merely evidence that gumby does. I don't understand why people are so quick to take somebody's personal opinion and ascribe it to whatever organization(s) they happen to belong to. This sort of fallacy is why we constantly have to suffer through the "I speak only for myself, not my organization" disclaimers
- gumby 3y ago> unless you make sure that gumby is speaking for the FSF, then that comment does not provide evidence that the FSF believe that. And indeed I do not speak for the FSF and never have.
- juped 3y agoYou've caught me in a dastardly logic trap! Now I can never present anyone evidence for the beliefs of the FSF/GPL-user social cluster. You should try arguing in court for FSF legal theories on linking!
- Andrew_nenakhov 3y agoAnd yes, it is a good thing. Some things shouldn't change just because entitled people are inconvenienced by them.
- juped 3y agoReally bizarre to bring out the snarl word "entitled" over... the persistence of false legal theories?
- chme 3y ago> An utterly irrelevant side point since the whole question is the use of the implementation not the API. I find this interesting, and maybe I am just a bit confused. But here is what I am wondering now. If it is not about the use of an API but about the use of the implementation, then that would mean that the end-user that is running the application which dynamically links to a proprietary library on the end-users pc the one violating the license terms, not the developer that distributed their code without distributing the proprietary library itself. And if the developer has the rights to distribute the library, because it is under GPL, then they could do so, and would not violate the license terms, because they are not doing the dynamic linking and using of the implementation, that would happen only when the end-user starts the application. I never heard about any case against end-users, that for instance used the proprietary Nvidia kernel module, compiled and linked on each end-user's PC. I don't think that works that way, there has to be more to that than just the usage of the implementation that triggers the license violation.
- singpolyma3 3y ago> If it is not about the use of an API but about the use of the implementation, then that would mean that the end-user that is running the application which dynamically links to a proprietary library on the end-users pc the one violating the license terms, not the developer that distributed their code without distributing the proprietary library itself. yes > And if the developer has the rights to distribute the library, because it is under GPL, then they could do so, and would not violate the license terms, because they are not doing the dynamic linking and using of the implementation, that would happen only when the end-user starts the application. If they distribute it together though then it becomes an aggregate work
- anthk 3y agoNo, you are wrong. Libraries have an usage license on linking. Don't comply it, then reimplement your own readline and ship that instead of GNU readline. Period. Motif and Lesstif was an infamous case back in the day. Heck, or using Wine DLL's under Windows instead of the ones bundled from Microsoft.
- poizan42 3y agoA third party library can claim whatever it wants in its license, that doesn't make it enforceable. There needs to be some mechanism that causes the terms of the license to apply to you. If you don't distribute any copyrightable parts of a third party library then you (may?) not be under any obligation to adhere to its license.
- armada651 3y agoEven if you don't personally violate the license, the license may still be enforceable against the users of your program. When the user executes your program and it loads other libraries into its memory space, then it definitely has become a derivative work and the terms of the libraries will apply to the program as a whole.
- simiones 3y agoAt least in the USA, the copying of a program you legally received into working memory doesn't require a license of any kind, it is a type of fair use. I believe the EU has an explicit exception to copyright for the same reason. So I don't think any problem would arise when running the programs. The only pertinent question is whether a program B designed to require library A is a derived work of library A or not - and this is a question for the copyright courts, the license of library A has nothing to say about this. Now, I think even if it were established that program B is not a derived work of library A, it could be possible for library A to have a license that says "you're not allowed to distribute this library to others unless both you and they agree to never link program B or works derived from it with library A". The GPL could be modified to say something like this, and it may still match its original goals - though it may be more difficult to litigate this type of license term (in many countries, license or contract terms can be declared too onerous and be ignored).