Re: GPL vs non-GPL device drivers



As a side note: The distinct wording of the GPL actually *invalidates* the
GNU/FSF claim that dynamically linking a work with, say, the readline
library, means the work is a derivative of said library. The GPL states (in

Not that I can see no, but you could take this to a list with lawyers not
programmers on and improve life for both parties

clause 0) that the license only covers copying, modification and
distribution. Unless they are confusing "Linking" with "copying" or "creating
a derivative work" the claim is invalid - because, as it has been shown, a
mechanical process such as compilation or linking *cannot* create a
derivative work.

If you take the microsoft windows source code and compile it yourself
believe me you will get sued if you ship the resulting binaries and you
will lose in court.

Copyright law deals with the right to copy hence the name. Generally
speaking your right to use a work you have a copy of isn't constrained
(and isn't constrainable) by pure copyright, only by contract. The author
of a book for example has no power to stop you boiling the book if you
don't like it, or using it as bog paper.

I would also note that the FSF makes no claim about dynamic v static
linking, merely about derivative works - which is the boundary the law is
interested in. Indeed the GPLv2 was written in the days where dynamic
linking was quite novel which is one reason the LGPL talks about

"For example, if you distribute copies of the library, whether gratis
or for a fee, you must give the recipients all the rights that we gave
you. You must make sure that they, too, receive or can get the source
code. If you link a program with the library, you must provide
complete object files to the recipients so that they can relink them
with the library, after making changes to the library and recompiling
it. And you must show them these terms so they know their rights."

and says nothing about dynamic/static linking.

Related to that... Though a parser generated by Bison and a tokenizer
generated by Flex both contain large chunks of GPL'd code, their inclusion in
the source file that is to be compiled is mechanical - the true unique work
is in writing the file that is processed by the tool to produce the output.

Flex is more complex because the resulting binary contains both compiled
work of yours and a support library of FSF owned code (-lfl). The non
computing analogy here is the difference between using a paint program to
create a work, and using a paint program to create a work but also
including other artwork (eg clipart). The same is true of the GCC compiler
as it merges your work with supporting library helper code modules which
are themselves creative works. Clearly you could replace those helper
modules with your own work and the result would be different.

A better example for your case might be indent where the program
processes your work mechanically and produces an output that doesn't
contain any other creative works, or most of intltools which merges
translations mechanically. (the merge code is sometimes a little creative
but thats in the sense of being a nuisance not in the legal sense of
creative work)

Alan
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



Relevant Pages

  • Re: Are PHP libraries linked dynamically or statically?
    ... reasoning may not be that strict. ... It is in fact a juridical matter. ... If we agree that the term linking might not be entirely irrelevant, which kind of linking would you say is in effect when a PHP program links to a script: ... The reason why this is important is that dynamically linking is often seen as a licence boundary #Dynamic_linking) ...
    (comp.lang.php)
  • Re: Are PHP libraries linked dynamically or statically?
    ... reasoning may not be that strict. ... It is in fact a juridical matter. ... If we agree that the term linking might not be entirely irrelevant, which kind of linking would you say is in effect when a PHP program links to a script: ... The reason why this is important is that dynamically linking is often seen as a licence boundary #Dynamic_linking) ...
    (comp.lang.php)
  • Re: compilation file dependency
    ... > Compilation in c generally has four phases ... AFAIK preprocessing transforms C to C, ... Assembly would be transforming this another language ... Linking would still be necessary, ...
    (comp.lang.c)
  • Re: compilation file dependency
    ... > Compilation in c generally has four phases ... each "file" is treated as an independent translation unit. ... The linking phase is used to resolve any external references from ... C++ Faq: http://www.parashift.com/c++-faq-lite ...
    (comp.lang.c)
  • openntpd port for freebsd8: removal of custom arc4random_uniform
    ... in the openntpd-4.6 port there's a file called arc4random.c, ... which gets involved during compilation and linking of openntpd: ... statically linked, for FreeBSD 8.0, not stripped ...
    (freebsd-hackers)