b) You must cause any work that you distribute or publish, that in whole or
in part contains or is derived from the Program or any part thereof, to
be licensed as a whole at no charge to all third parties under the terms
of this License.
[...]
These requirements apply to the modified work as a whole. If identifiable
sections of that work are not derived from the Program, and can be
reasonably considered independent and separate works in themselves, then
this License, and its terms, do not apply to those sections when you
distribute them as separate works. But when you distribute the same
sections as part of a whole which is a work based on the Program, the
distribution of the whole must be on the terms of this License, whose
permissions for other licensees extend to the entire whole, and thus to
each and every part regardless of who wrote it.
The post on which we're commenting says that "derived" comes from copyright law, and not from the text of the GPL, because the GPL cannot supercede copyright law. What I'm pointing out is that's incorrect - the definition of "derived" comes from what the license itself considers derived. This is because the license puts conditions on "derived from" works in the above term. This is true even if the license says "see copyright law for definition of term X".
When trying to determine what "derived works" means, the intent of the license is relevant. The license cannot restrict your rights beyond what copyright law allows it to do, but it can grant you additional rights on terms of its own choosing, including very restrictive terms.
Importantly for this conversation, something that is derived from "any part" of the program may or may not be a "derived work" of the whole under US copyright law, but may be a "derived work" for the purposes of the above clauses regardless. Plus the latter paragraph has an AND addendum - "AND can be reasonably considered independent and separate works in themselves" - which can restrict beyond the referenced legal definition of "derived".
That is not necessarily the part I was thinking of - I had indeed made some confusion between what the GPL says and what the LGPL and other exceptions-to-the-GPL licenses say.
I have detailed this more in another post, but basically my argument is that the very existence of the LGPL makes sense only if we take the GPL's definition of derived works to include programs which dynamically link with the GPL work (and this is indeed what e.g. Stallman believes).
There are also some similar exemptions in the GPL license for GCC, to make sure that the binary resulting from compiling a program with GCC does not have to be distributed under GCC's license terms even if it might be a derived work of GCC itself (e.g. when the compiler includes bits of code that it does consider copyrighted, such as replacing calls to the library function memcpy with an optimized version that is defined in GCC's source code).
I absolutely agree with you that, when distributing a combined work including GPL code very directly (say, a CD with Linux + some proprietary software), the GPL may well impose extra restrictions even on parts that are not considered derived works under copyright law. You are free to not accept those extra restrictions, but then you have no right to distribute the GPL works at all (though you can still distribute the parts that are not derived works independently).
Courts are supposed to balance the bargaining power of the parties when considering the enforceability of terms. So for the GPL which is a boilerplate clickwrap contract where the parties have not necessarily even communicated before, a court may take a narrow interpretation of such terms. So the unsatisfying answer (to programmers) may be: it depends who you are.
It's not at least in the US a contract at all its a license. As the text says you don't have to agree to it but have no right to distribute said software if you don't agree and no you can't ask a judge for better terms.
In Europe unless the law has changed, in most jurisdictions the typical US style licenses are considered void unless the consumer of such software has been given and agreed to the license before acquisition.
That is why most ship wrapped software started putting a reference to the license on the box.
Yes, but copying a piece of software from a CD into program memory or onto my own hard-drive for archival purposes has been established as a fair-use exemption. So, if I legally acquire a copy of a program (say, I buy a CD), it can't impose extra restrictions after-the-fact through an EULA that only appears when I run it, and I am well within my rights to use my copy (e.g. by copying it into RAM/CPU icache to run it) even if I don't abide by the EULA, according to European Union jurisprudence.
For example, many game EULAs (used to?) impose a restriction on lending the CD to others (you had to seek explicit permission from the copyright holder to do so). If this clause is only knowable after buying the game, then in the EU it is null and void, and I can still use the software and lend it to others per regular copyright law.
If, however, the license must be accepted before purchase/download, my purchase/download can be considered acceptance of this clause and I then have no right to use the software if I don't abide by the license agreement, since the copy was distributed to me only under specific conditions.
This is just like if I buy a book, I have every right to read it, lend it or re-sell it; but we can also sign a contract under which you give me the book but with no right to read past page 87, and no right to lend it to others.
> Yes, but copying a piece of software from a CD into program memory or onto my own hard-drive for archival purposes has been established as a fair-use exemption. So, if I legally acquire a copy of a program (say, I buy a CD), it can't impose extra restrictions after-the-fact through an EULA that only appears when I run it, and I am well within my rights to use my copy (e.g. by copying it into RAM/CPU icache to run it) even if I don't abide by the EULA, according to European Union jurisprudence.
We're talking about the GPLv2 though. It imposes no restrictions that copyright does not impose, so voiding the license is strictly a detriment to the licensee. The people who wrote it were very clever, using the power of copyright that is lobbied-for by the proprietary software industry.
The GPL is a license that applies only to software code and not to the end-user software.
A book allegory is more like an author decides to embed the several chapters of one of Rowling's "Harry Potter" books verbatim in a fanfic novel. You could buy or download the novel and have every right to read it, lend it, or re-sell it but the original fanfic author is in copyright violation. If Rowling had published her books under something akin to the GPL, there might be a legal question as to what constitutes a "derived work" (and this is a real thing in the book publishing world, complete with legals precedents) but at every point the license to use the copyrighted characters, locations, etc. applies only to the author of the derived work, not to their readers.
> The GPL is a license that applies only to software code and not to the end-user software.
I don't know what you are trying to say with this. Binary code distributed to end users is a derived work of the source code, so there is no difference between distributing source code or binary code, from any point of view. And if I illegally create a copy of X's work and sell that copy to Y, X has a right to ask for Y's copy to be destroyed.
And again, I was explicitly talking about the fact that work A can be a derived work of work B even if A includes no amount of B directly. If I re-tell Harry Potter in my own words, replacing every single phrase, name etc., but otherwise keeping the story identical in every way, then my work is almost certainly a derived work of Harry Potter and J.K. Rowling is the only one who has a legal right to distribute the work I created - which also means she has a right to ask for the destruction of all copies of said work that I illegally distributed (not that this would be too easy to enforce).
Similarly, the question arises: if I create a program that has a GCC-shaped hole in it, and distribute to end-users under a proprietary license, to be used with a copy of GCC that they obtain separately, is my work a derived work of GCC or not? This is a real legal question that the GPL has no bearing on.
When trying to determine what "derived works" means, the intent of the license is relevant. The license cannot restrict your rights beyond what copyright law allows it to do, but it can grant you additional rights on terms of its own choosing, including very restrictive terms.
Importantly for this conversation, something that is derived from "any part" of the program may or may not be a "derived work" of the whole under US copyright law, but may be a "derived work" for the purposes of the above clauses regardless. Plus the latter paragraph has an AND addendum - "AND can be reasonably considered independent and separate works in themselves" - which can restrict beyond the referenced legal definition of "derived".