On Jun 18, 2008, Les Mikesell <lesmikesell@xxxxxxxxx> wrote: > Alexandre Oliva wrote: >> I agree that the GPL doesn't grant permission for the distribution of >> such derived works under terms others than those specified in the GPL. > OK, then the relevant question becomes whether the kernel or the > firmware is a derived work, not whether they are distributed together > or not. Except that the GPL's exception distinguishes the cases in which they are distributed together and not. So, no, we can't make this simplification you suggested. >>> And the GPL's 'work as a whole' concept >> >> I don't know what you're talking about. "work as a whole" appears >> only once in the license, and there 'work' is not a verb, but rather >> part of the "modified work" phrase. > Once is enough - and it is the definitive requirement: Sorry, I misunderstood what you wrote. As it's probably clear from my response, it looked like you'd written 'works'. My fault. > "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." > The question is, does taking some code and an opaque binary blob and > sticking them in the same file make a 'work as a whole' or is it > identifiable sections of code and separate data that are not derived > from the Program? This only matters if you distribute them as separate works. When you distribute them as a whole, you don't get the exception. >>>> It is *distributed* as part of the program, and that's what copyright >>>> law restricts by default. >>> Which is irrelevant if you have permission to distribute all parts. >> If they form a coherent whole to the point of being regarded by a >> court, according to copyright law, as a derived/collective work, then >> it is relevant. And then, this is not the case we're talking about >> here. > How is it different? The question is whether firmware and microcode > are part of the kernel 'work as a whole', which, I don't think > depends on how they are distributed at all. Read again, very carefully, the sentence you quoted. Especially the "when you distribute them as separate works" part. > Are you sure that the opaque blob of firmware can't be replaced by any > other opaque blob of bits without affecting the other part? Quite the opposite is true. Doesn't change the fact that the combined work tg3.c, later integrated in linux, was created based on those two original works. > Would the code continue to work if you replace those bits with > something else that would work in the hardware it loads? Whether it works or not is not relevant to tell whether it's derived. I have no idea of what happens if you replace it with something else. Quite likely the hardware will crash or freeze or whatever results you might expect by throwing random bytes at a microprocessor. > But why not stick to the CPU microcode example? Because you got the facts wrong. It's not distributed even close to the kernel. -- Alexandre Oliva http://www.lsd.ic.unicamp.br/~oliva/ Free Software Evangelist oliva@{lsd.ic.unicamp.br, gnu.org} FSFLA Board Member ¡Sé Libre! => http://www.fsfla.org/ Red Hat Compiler Engineer aoliva@{redhat.com, gcc.gnu.org} -- fedora-devel-list mailing list fedora-devel-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/fedora-devel-list