[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: GPLed firmware flasher ...




Michael Poole wrote:

>Which FAQ question besides this one (with anchor #IfLibraryIsGPL) deals
>with programs that use a GPLed library?
>
>    If a library is released under the GPL (not the LGPL), does that
>mean that any program which uses it has to be under the GPL?  Yes,
>because the program as it is actually run includes the library.

You know, this is the muddiest part of this, IMHO. Consider
q_hello_world.c and the default Qt in your typical Debian system.

The (copyrightable) work is "q_hello_world.c". Period. The ELF
q_hello_world is another expression of q_hello_world.c, made by an
automated process (or a series of automated/automatable,
non-intelectually-novel processes namely "make q_hello_world").

But "q_hello_world" (ELF) does *not* "include" any part of Qt. Even if
it "includes" the Qt symbols, they are not "the Qt symbols", they are
(for instance) "the stdio.h symbols". But it's well established in case
law that interface definition symbols are not copyrightable. So, let's
move on.

Imagine the "working memory space" of a running instance of
"q_hello_world". Ok, you can argue that this memory space has a copy of
Qt mapped onto it. But it's not "included" in q_hello_world in no way.
Besides, an automated process mapped and fixed up symbols of Qt onto
this memory space. There is no intellectual work involved.

And the main item of this is: the program does *not* _include_ the
library. This is why dynamic linking mostly put (IMHO) the GPL down. The
linking phase is in the running phase of the software, and the second
para of GPL section 0 is clear:

<< Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope.  The act of running
the Program is not restricted, >>

So, unless you can determine by abstraction, filtration and comparison
that q_hello_world.c is a derivative work of Qt (say for instance that
it fiddles with intimate internal structures of Qt to print its
greeting, making it dependend on a certain version of Qt, not by means
of Qt's interface, but thru its implementation...) the GPL does NOT
apply to q_hello_world.c. Its author is *not* copying, distributing, or
modifying Qt. The GPL stated that other activities are NOT covered.
Running the code inside Qt is a granted right.

>That seems the same as what I said except that the FAQ uses "includes"
>where I used "is a derived work of."  (-legal went through the "mere
>aggregation" flame war recently, and I would rather not repeat it.)
>
>Michael Poole

No flames intended, sorry if this is tangent to the subject (if not OT
altogether):

* "derived work of" (I prefer the word "derivative") is an expression
with *legal* meaning, namely it means << work that constitutes a novel
intellectual transformation of the original work >> (BR Law 9610/98
"Author's Rights Act", translation mine, I know USC 17 is similar and
others too)

The GPL avoids this expression, and uses the definition "work based on
the program":  << The "Program", below, refers to any such program or
work, and a "work based on the Program" means either the Program or any
derivative work under copyright law: that is to say, a work containing
the Program or a portion of it, either verbatim or with modifications
and/or translated into another language. >>

The inconsistency between the parts of this paragraph is beyond remedy:
it says first that a "work based on the Program" means << the Program or
any derivative work under copyright law. >> Is that it? no, really, it
really, really, means << a work containing the Program or a portion of
it, either verbatim or with modifications and/or translated into another
language. >> Which one?

If you consider that the first one is correct (*), then the LGPL is just
a marketing ploy. :-) If you consider the second one as being the
correct, then the flash-flasher program is banned unless you clarify in
flasher's license that "I consider one ELF binary as a << volume of
storage or distribution medium >> in the terms of the last para of the
section #2 of the GPL" (yes, you can do that if you are the copyright
holder).

(*) as I do, for consistency with section 0 para 2...

HTH,

Massa



Reply to: