5 ms·
The GPL v2 requires that any code that this code is linked to is also released as GPL. For example, if I want to use Pango, which is GPLv2, in my application,
by danudey 4y ago
The GPL v2 requires that any code that this code is linked to is also released as GPL.
For example, if I want to use Pango, which is GPLv2, in my application, then the GPL requires that I also release my application's source code as GPLv2, or another compatible license.
It also requires that if I make changes to Pango and redistribute it then I need to release the source code for that as well. In other words, if I fork Pango then my fork also has to be GPLv2.
It's not so much that it 'infects' your code as that it's not compatible with closed source (or some open source licenses).
A while back, Microsoft decided to abandon their awful TCP/IP stack and use a better one - FreeBSD's TCP/IP stack. Since FreeBSD is BSD-licensed, it was possible for them to take that code, use it, modify it, and redistribute compiled versions of it, without having to give back any changes or optimizations to the open-source community.
By choosing the BSD license for their code, the project was implicitly saying that they were okay with this code sharing, and so they don't look at this as a bad thing. Microsoft's OS got better, and it didn't cost anyone else anything.
Some groups, however, think that open-source should only benefit open-source, because that's beneficial to users and the world as a whole. This is the purpose of the GPL: you can use our code, but only if all of us benefit and not just you.
- loeg 4y agoTo be clear, the GPL does not say anything in particular about "linking;" that's a common interpretation of what it means to be a derivative work. Wikipedia has a blurb on this: > This key dispute is whether non-GPL software can legally statically link or dynamically link to GPL libraries. Different opinions exist on this issue. The GPL is clear in requiring that all derivative works of code under the GPL must themselves be under the GPL. Ambiguity arises with regards to using GPL libraries, and bundling GPL software into a larger package (perhaps mixed into a binary via static linking). This is ultimately a question not of the GPL per se, but of how copyright law defines derivative works. https://en.wikipedia.org/wiki/GNU_General_Public_License#Linking_and_derived_works https://en.wikipedia.org/wiki/GNU_General_Public_License#Lin...
- hnfong 4y agoFew people mention it, but whether (dynamically) "linking" to a library makes it a derivative work is closely related to the GOOGLE v. ORACLE case. The issue with dynamic linking is basically "copying the API (and ABI)". Unfortunately the USSC didn't really give a clear ruling on this one.
- necovek 4y agoA more obvious case is the one of Linux (GPLv2 licensed) closed source binary modules: Linus has specifically said that he is not opposed to such usage, so it's never been tested in court either.