Alexandre Oliva wrote:
> 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.
Separate sections. Not separate files, not separate media, not separate
delivery carriers. Separate sections. Whatever that means, it is the
way separate works are defined.
> How is it different? The question is whether firmware and
> 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.
Note that it doesn't say anything about files there.
> 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.
How else could you tell if the parts are related or not, unless you were
part of the creative process.
> But why not stick to the CPU microcode example?
Because you got the facts wrong. It's not distributed even close to
Does 'close' have something to do with whether it is a separate section
or not? Isn't it in the same vmlinuz imaage somewhere?