Login | Register For Free | Help
Search for: (Advanced)

Mailing List Archive: Linux: Kernel

GPL only modules [was Re: [GIT PATCH] more Driver core patches for 2.6.19]

 

 

First page Previous page 1 2 3 4 5 6 7 8 9 Next page Last page  View All Linux kernel RSS feed   Index | Next | Previous | View Threaded


aoliva at redhat

Dec 17, 2006, 5:54 AM

Post #126 of 214 (3301 views)
Permalink
Re: GPL only modules [In reply to]

On Dec 16, 2006, Linus Torvalds <torvalds[at]osdl.org> wrote:

> The whole reason the LGPL exists is that people realized that if they
> don't do something like that, the GPL would have been tried in court, and
> the FSF's position that anything that touches GPL'd code would probably
> have been shown to be bogus.

Or that people would feel uncomfortable about the gray area and avoid
using the GPLed code in cases in which this would be perfectly legal
and advantageous to Free Software. Sure enough, when people create
and distribute proprietary code by taking advantage of Free Software,
that's something to be avoided, but since there are other Free
Software licenses that are not compatible with the GNU GPL, it made
sense to enable software licensed under them to be combined with these
few libraries. Letting concerns about copyright infringement, be such
acts permissible by law or not, scare Free Software developers away
from Free Software was not good for Free Software.

> Do you REALLY believe that a binary becomes a "derived work" of any random
> library that it gets linked against? If that's not "fair use" of a library
> that implements a standard library definition, I don't know what is.

There are many factors involved and you're oversimplifying the issue.

Some claim that, in the case of static linking, since there part of
the library copied to the binary, it is definitely a case of derived
work.

Some then take this notion that linking creates derived works and
further extend the claim that using dynamic linking is just a trick to
avoid making the binary a derived work, and thus it shouldn't be taken
into account, even if there still is *some* information from the
dynamic library that affects the linked binary.

Others then introduce exceptions such as the existence of another
implementation of the library that is binary- and license-compatible,
and that thus might make the license of the library actually used to
create the binary irrelevant.

Some disregard the fact that header files sometimes aren't just
interface definitions, but they also contain functional code, in the
form of preprocessor macros and inline functions, that, if used, do
make it to the binary.

All of these arguments have their strengths and weaknesses. As you
and others point out, and it matches my personal knowledge, none of
them has been tried in court, and the outcome of a court dispute will
often depend on specifics anyway.

So calling these arguments idiocy is as presumptuous as FSF's alleged
behavior. While at that, I feel you allegation is groundless, and I
hope this message makes it clear why, so I wish you'd take it back.


The gray area between what is clearly permitted by a license and the
murky lines that determine what constitutes a derived work, and what
is fair use even if it's a derived work, is not for any of us to
decide. The best we can do is to offer interpretations on intent of
license authors and software authors, and of laws. Even though we're
not lawyers or judges, such interpretations may be taken into account
in court disputes.

When the FSF says a license does not permit such and such behavior,
you apparently interpret that as a statement that the FSF thinks this
behavior wouldn't be permissible by fair use either. This is an
incorrect interpretation. As we've seen above, there *is* a gray area
beyond what is permitted by the license. But the FSF must not give
anyone the impression that the *license* permits actions that would
make it less effective in fulfilling its intent, this would just
weaken the license.

Similarly, when you make an unqualified statement that some action is
permitted, because you mean it's permitted by fair use even if not by
the license, this might be mis-interpreted as something explicitly
permitted by the license. So this weakens the license, one of our
most valuable tools to make the world a better place. Is this what
you intend to do? I hope not.

Thanks,

--
Alexandre Oliva http://www.lsd.ic.unicamp.br/~oliva/
FSF Latin America Board Member http://www.fsfla.org/
Red Hat Compiler Engineer aoliva@{redhat.com, gcc.gnu.org}
Free Software Evangelist oliva@{lsd.ic.unicamp.br, gnu.org}
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo[at]vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/


gallir at gmail

Dec 17, 2006, 7:56 AM

Post #127 of 214 (3297 views)
Permalink
Re: GPL only modules [In reply to]

On Sunday 17 December 2006 14:54, Alexandre Oliva wrote:
> > The whole reason the LGPL exists is that people realized that if they
> > don't do something like that, the GPL would have been tried in court, and
> > the FSF's position that anything that touches GPL'd code would probably
> > have been shown to be bogus.
>
> Or that people would feel uncomfortable about the gray area and avoid
> using the GPLed code in cases in which this would be perfectly legal
> and advantageous to Free Software.  Sure enough, when people create
> and distribute proprietary code by taking advantage of Free Software,
> that's something to be avoided, but since there are other Free
> Software licenses that are not compatible with the GNU GPL, it made
> sense to enable software licensed under them to be combined with these
> few libraries.  Letting concerns about copyright infringement, be such
> acts permissible by law or not, scare Free Software developers away
> from Free Software was not good for Free Software.

LGPL somehow fixes this gray area to allow a wider and clear "fair use" by
allowing people to easily[*] run proprietary programs in a free operating
system.

[*] In the sense they don't need to compile/link the program themselves, which
is clearly legal under the GPL and the FSF intentions (freedom #0).

So, people that just worries about "fair use" could interpret it --besides
the "official" arguments- as a message that makes clear FSF is not trying to
push his agenda into the gray areas of copyright laws.

But the very same evidence is used to loudly support an opposite
interpretation of FSF [evil] intentions, to weaken the legal strength of the
GPL, and to accuse FSF of pushing some hidden and insane arguments.

Presumptuous, to say the least.

--
ricardo galli GPG id C8114D34
http://mnm.uib.es/gallir/
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo[at]vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/


mrmacman_g4 at mac

Dec 17, 2006, 8:25 AM

Post #128 of 214 (3307 views)
Permalink
Re: GPL only modules [In reply to]

On Dec 17, 2006, at 08:54:17, Alexandre Oliva wrote:
> On Dec 16, 2006, Linus Torvalds <torvalds[at]osdl.org> wrote:
>> Do you REALLY believe that a binary becomes a "derived work" of
>> any random library that it gets linked against? If that's not
>> "fair use" of a library that implements a standard library
>> definition, I don't know what is.
>
> Some disregard the fact that header files sometimes aren't just
> interface definitions, but they also contain functional code, in
> the form of preprocessor macros and inline functions, that, if
> used, do make it to the binary.

I would argue that this is _particularly_ pertinent with regards to
Linux. For example, if you look at many of our atomics or locking
operations a good number of them (depending on architecture and
version) are inline assembly that are directly output into the code
which uses them. As a result any binary module which uses those
functions from the Linux headers is fairly directly a derivative work
of the GPL headers because it contains machine code translated
literally from GPLed assembly code found therein. There are also a
fair number of large perhaps-wrongly inline functions of which the
use of any one would be likely to make the resulting binary
"derivative".

On the other hand, certain projects like OpenAFS, while not license-
compatible, are certainly not derivative works. The project was
created independently of Linux and operates on several different
operating systems, so even though it uses the very-Linux-specific
keyring interfaces under 2.6, no GPL licensing could possibly apply.

> The gray area between what is clearly permitted by a license and
> the murky lines that determine what constitutes a derived work, and
> what is fair use even if it's a derived work, is not for any of us
> to decide. The best we can do is to offer interpretations on intent
> of license authors and software authors, and of laws. Even though
> we're not lawyers or judges, such interpretations may be taken into
> account in court disputes.

I agree, and I think that this thread has outlived its useful life.

Cheers,
Kyle Moffett


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


torvalds at osdl

Dec 17, 2006, 9:59 AM

Post #129 of 214 (3317 views)
Permalink
Re: GPL only modules [In reply to]

On Sun, 17 Dec 2006, Alexandre Oliva wrote:

> On Dec 16, 2006, Linus Torvalds <torvalds[at]osdl.org> wrote:
> >
> > The whole reason the LGPL exists is that people realized that if they
> > don't do something like that, the GPL would have been tried in court, and
> > the FSF's position that anything that touches GPL'd code would probably
> > have been shown to be bogus.
>
> Or that people would feel uncomfortable about the gray area and avoid
> using the GPLed code in cases in which this would be perfectly legal
> and advantageous to Free Software.

I agree. A lot of it is about "comfort". But you can _easily_ handle that
comfort level in other ways.

For example, many programs already do have clarifications that certain
uses do not introduce any GPL dependency what-so-ever. The kernel COPYING
makes it clear that user space is not a derived work of the kernel, for
example. You don't actually need to use a different license for this case:
if all you're looking for is "comfort", then you really can comfort people
other ways.

For example, glibc could easily have just come out and said the thing that
is obvious to any sane person: "using this library as just a standard
library does not make your program a derived work".

There really wassn't much need for the LGPL, I think.

> There are many factors involved and you're oversimplifying the issue.

Sure. It's never clear-cut. It's never black and white.

> Some claim that, in the case of static linking, since there part of
> the library copied to the binary, it is definitely a case of derived
> work.

No, the sane way to think about it is that linking just creates an
"aggregate" work. It's no less "aggregate" than creating a CD-ROM that
contains the library and some random program: you "link" them together
with "mkisofs".

Why do people think that using "ln" is _any_ different from using
"mkisofs". Both create one file that contains multiple pieces. What's the
difference - really?

Of course, the _aggregate_ still needs permission from all the copyright
holders in order to be distributed, that goes without saying. But the
GPLv2 clearly allows aggregation.

And don't get me wrong: I do not say that "linking" _never_ creates
derived works. I'm just saying that "linking" is just a technical step,
and as such is not the answer to whether something is derived or not.
Things can be derived works of each other _without_ being linked, and they
may not be derived works even if they _are_ linked.

So "linking" basically has very little to do with "derived" per se.

Linking does have one thing that it implies: it's maybe a bit "closer"
relationship between the parts than "mkisofs" implies. So there is
definitely a higher _correlation_ between "derived work" and "linking",
but it's really a correlation, not a causal relationship.

For example, if you link two object files together where neither is a
"library" with standard interfaces, then the result is most likely a
derived work from both. But it wasn't the "act of linking" that caused
that to happen, but simply the fact that they were part of a bigger whole,
and were meaningless apart from each other.

Think of this in the sense of a book. Does binding pages together create a
"derived work"? Not always: you can have anthologies (which are
*aggregations* of works with *independent* copyright), and the binding of
pages together didn't really do anything to the independent pieces. But
clearly, if you're talking about individual pages in one story, then each
individual page is not an independent work in itself.

Linking is the same way. Are the two pieces you link "independent works"
on their own? If so, the end result is really just an aggregate, no
different from using "mkisofs". They are still clearly separable: you
could have built either piece AGAINST SOMETHING ELSE.

> Some then take this notion that linking creates derived works and
> further extend the claim that using dynamic linking is just a trick to
> avoid making the binary a derived work, and thus it shouldn't be taken
> into account, even if there still is *some* information from the
> dynamic library that affects the linked binary.

See how this whole "trick" discussion becomes a totally moot point once
you realize that "mkisofs" and "ld" aren't really all that different.

Does "mkisofs" create a derived work, or an aggregate? Does "ld" create a
derived work or an aggregate? The answer in BOTH cases is the same: it's
not about the name of the command, or some technical detail about how the
pieces are bound together. Copyright law doesn't concern itself with
"mkisofs" vs "ld". It would be totally INSANE if it did, wouldn't you say?

So if it isn't about "mkisofs" vs "ld", then _what_ is it about?

I gave you one answer above. Feel free to make your own judgements. I'm
just saying that anybody who thinks that copyright law cares about
"mkisofs" vs "ld" is just obviously misguided.

So I think the "dynamic vs static" linking argument is a red herring. It
_is_ meaningful in two ways:

- static linking obviously means that even at a MINIMUM, the result will
_contain_ both things, so at a minimum, you do need the permission to
distribute the pieces as parts of an aggregate work.

In contrast, in dynamic linking, since you're not _actually_
distributing the thing you linked against, you don't need to have the
license to distribute it as an aggregate work.

This particular thing is a non-issue wrt the GPLv2, since you always
have the right to do distribution of aggregates, but it does come up in
some OTHER licenses.

- you can (quite validly, in my opinion) argue that dynamic linking is a
sign of separation, and as such if you're able to do dynamic linking
against an unmodified second work, you have a much stronger argument
that they really can be seen as two independent works. But notice how
this was not a technical argument about the _linking_ per se: this
comes back to a much more important (and much more fundamental) issue
of whether things are independent (and being independent is certainly
one _requirement_ for them not being derived works)

In other words: the _ability_ to do dynamic linking is certainly
meaningful, not because of the linking itself, but because of what it
implies from a perspective of "independence".

So to get back to the example of glibc: if a program _could_ have been
linked against some other library, then that pretty clearly shows that
it's really independent of glibc, and the linking is "mere aggregation"
exactly the same way "mkisofs" is generally considered "mere aggregation".

And that is actually true whether you link dynamically or statically.
Since the GPLv2 allows aggregation, I think you can very much argue in
front of a judge that you could have linked statically against even a
GPL'd glibc.

But notice how the thing changes if you talk about a specialized library
like libqt - and notice how it again doesn't really matter whether you do
dynamic or static linking. Libqt is still a work in its own right, but
what about the program that links _to_ it? You can't generally really
claim that it could equally well have been built against some other
library, so now that program - whether linked dynamically or statically -
obviously cannot stand on its own independently of libqt.

As a result, something that links against libqt is very different from
something that links against glibc.

But note how it wasn't "static" vs "dynamic" that mattered AT ALL. What
mattered was whether they had independent lives.

And finally, in case it's not clear: I'm not a lawyer, and I don't play
one on TV, and if I did, I'd be better looking and wouldn't spend my time
on some technical discussion forum. So I'm not claiming that my viewpoint
is "Right(tm)".

But I _am_ claiming that it makes a hell of a lot more sense as a
viewpoint than the "linking is magic" argument does.

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


gmack at innerfire

Dec 17, 2006, 12:23 PM

Post #130 of 214 (3323 views)
Permalink
Re: GPL only modules [was Re: [GIT PATCH] more Driver core patches for 2.6.19] [In reply to]

On Sat, 16 Dec 2006, Dave Jones wrote:

> On Sat, Dec 16, 2006 at 09:20:15AM -0800, Linus Torvalds wrote:
>
> > Anything else, you have to make some really scary decisions. Can a judge
> > decide that a binary module is a derived work even though you didn't
> > actually use any code? The real answer is: HELL YES. It's _entirely_
> > possible that a judge would find NVidia and ATI in violation of the GPLv2
> > with their modules.
>
> ATI in particular, I'm amazed their lawyers OK'd stuff like..
>
> +ifdef STANDALONE
> MODULE_LICENSE(GPL);
> +endif
>
> This a paraphrased diff, it's been a while since I've seen it.
> It's GPL if you build their bundled copy of the AGPGART code as agpgart.ko,
> but the usual use case is that it's built-in to fglrx.ko, which sounds
> incredibly dubious.
>
> Now, AGPGART has a murky past wrt licenses. It initally was imported
> into the tree with the license "GPL plus additional rights".
> Nowhere was it actually documented what those rights were, but I'm
> fairly certain it wasn't to enable nonsense like the above.
> As it came from the XFree86 folks, it's more likely they really meant
> "Dual GPL/MIT" or similar.
>
> When I took over, any new code I wrote I explicitly set out to mark as GPL
> code, as my modifications weren't being contributed back to X, they were
> going back to the Linux kernel. ATI took those AGPv3 modifications from
> a 2.5 kernel, backported them to their 2.4 driver, and when time came
> to do a 2.6 driver, instead of doing the sensible thing and dropping
> them in favour of using the kernel AGP driver, they chose to forward
> port their unholy abomination to 2.6.
> It misses so many fixes (and introduces a number of other problems)
> that its just unfunny.
>
> The thing that really ticks me off though is the free support ATI seem
> to think they're entitled to. I've had end-users emailing me
> "I asked ATI about this crash I've been seeing with fglrx, and they
> asked me to mail you".
>
> I invest my time into improving free drivers. When companies start
> expecting me to debug their part binary garbage mixed with license
> violations, frankly, I think they're taking the piss.
>
> A year and a half ago, I met an ATI engineer at OLS, who told me they
> were going to 'resolve this'. I'm still waiting.
> I live in hope that the AMD buyout will breathe some sanity into ATI.
> Then again, I've only a limited supply of optimism.

You would think ATI's steaming pile of crap would be a good reason for
them to give up on the whole binary module thing and just release specs so
someone else can write a decent driver.

I made the mistake of purchasing an ATI X1600. No open kernel driver.. no
open X driver. The ATI drivers don't even complile on amd64 on any
recent kernel and their X drivers are prone to random screen corruption
that requires nothing less than a full reboot to clear.

IMO let those morons keep writing themselves into a corner with this crud
and then perhapse they will see for themselves that binary modules are a
horribly bad idea instead of having someone else to blame when this whole
thing finally fails.

Gerhard


--
Gerhard Mack

gmack[at]innerfire.net

<>< As a computer I find your faith in technology amusing.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo[at]vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/


davids at webmaster

Dec 17, 2006, 1:32 PM

Post #131 of 214 (3308 views)
Permalink
RE: GPL only modules [In reply to]

> I would argue that this is _particularly_ pertinent with regards to
> Linux. For example, if you look at many of our atomics or locking
> operations a good number of them (depending on architecture and
> version) are inline assembly that are directly output into the code
> which uses them. As a result any binary module which uses those
> functions from the Linux headers is fairly directly a derivative work
> of the GPL headers because it contains machine code translated
> literally from GPLed assembly code found therein. There are also a
> fair number of large perhaps-wrongly inline functions of which the
> use of any one would be likely to make the resulting binary
> "derivative".

That's not protectable expression under United States law. See Lexmark v.
Static Controls and the analogous case of the TLP (ignore the DMCA stuff in
that case, that's not relevant). If you want to make that kind of content
protectable, you have to get it out of the header files.

You cannot protect, by copyright, every reasonably practical way of
performing a function. Only a patent can do that. If taking something is
reasonably necessary to express a particular idea (and a Linux module for
the ATI X850 card is an idea), then that something cannot be protected by
copyright when it is used to express that idea. (Even if it would clearly be
protectably expression in another context.)

The premise of copyright is that there are millions of equally-good ways to
express the same idea or perform the same function, and you creatively pick
one, and that choice is protected. But if I'm developing a Linux module for
a particular network card, choosing to use the Linux kernel header files is
the only practical choice to perform that particular function. So their
content is not protectable when used in that context. (If you make another
way to do it, then the content becomes protectable in that context again.)

IANAL.

DS


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


dhazelton at enter

Dec 17, 2006, 1:46 PM

Post #132 of 214 (3307 views)
Permalink
Re: GPL only modules [In reply to]

On Sunday 17 December 2006 16:32, David Schwartz wrote:
> > I would argue that this is _particularly_ pertinent with regards to
> > Linux. For example, if you look at many of our atomics or locking
> > operations a good number of them (depending on architecture and
> > version) are inline assembly that are directly output into the code
> > which uses them. As a result any binary module which uses those
> > functions from the Linux headers is fairly directly a derivative work
> > of the GPL headers because it contains machine code translated
> > literally from GPLed assembly code found therein. There are also a
> > fair number of large perhaps-wrongly inline functions of which the
> > use of any one would be likely to make the resulting binary
> > "derivative".
>
> That's not protectable expression under United States law. See Lexmark v.
> Static Controls and the analogous case of the TLP (ignore the DMCA stuff in
> that case, that's not relevant). If you want to make that kind of content
> protectable, you have to get it out of the header files.
>
> You cannot protect, by copyright, every reasonably practical way of
> performing a function. Only a patent can do that. If taking something is
> reasonably necessary to express a particular idea (and a Linux module for
> the ATI X850 card is an idea), then that something cannot be protected by
> copyright when it is used to express that idea. (Even if it would clearly
> be protectably expression in another context.)
>
> The premise of copyright is that there are millions of equally-good ways to
> express the same idea or perform the same function, and you creatively pick
> one, and that choice is protected. But if I'm developing a Linux module for
> a particular network card, choosing to use the Linux kernel header files is
> the only practical choice to perform that particular function. So their
> content is not protectable when used in that context. (If you make another
> way to do it, then the content becomes protectable in that context again.)
>
> IANAL.
>
> DS

Agreed. You missed the point. Since the Linux Kernel header files contain a
chunk of the source code for the kernel in the form of the macros for locking
et. al. then using the headers - including that code in your module - makes
it a derivative work.

Actually, thinking about it, the way a Linux driver module works actually
seems to make *ANY* driver a derivative work, because they are loaded into
the kernels memory space and cannot function without having that done.

*IF* the "Usermode Driver" interface that is being worked on ever proves
useful then, and only then, could you consider it *NOT* a derivative work.
Because then the only thing it is using *IS* an interface, not complete
chunks of the source as generated when the pre-processor finishes running
through the file.

But as David said - IANAL

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


paulus at samba

Dec 17, 2006, 2:45 PM

Post #133 of 214 (3312 views)
Permalink
Re: GPL only modules [In reply to]

Linus Torvalds writes:

> Why do people think that using "ln" is _any_ different from using
> "mkisofs". Both create one file that contains multiple pieces. What's the
> difference - really?

The difference - really - at least for static linking - is that "ln"
makes modifications to each piece to make them work together, and in
the case of a library, makes a selection of the parts of the library
as needed by the rest of the program. What ends up in the executable
is not just a set of verbatim copies of the input files packed
together, but rather a single program where the various parts have
been modified so as to fit together and create a whole. Thus it seems
quite reasonable to me to say that a statically linked binary is a
derived work of all of the object files and libraries that were linked
together to form it. IANAL, of course.

Dynamic linking is different, of course, if only because the final
runnable program is never distributed, but only formed in memory
during execution. Also, the shared libraries are not modified and
incorporated during linking.

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


brendan at opensourcelaw

Dec 17, 2006, 6:43 PM

Post #134 of 214 (3299 views)
Permalink
Re: GPL only modules [was Re: [GIT PATCH] more Driver core patches for 2.6.19] [In reply to]

> It's just that I'm so damn tired of this whole thing. I'm tired of
> people thinking they have a right to violate my copyright all the time.
> I'm tired of people and companies somehow treating our license in ways
> that are blatantly wrong and feeling fine about it. Because we are a
> loose band of a lot of individuals, and not a company or legal entity,
> it seems to give companies the chutzpah to feel that they can get away
> with violating our license.

Why don't you consider some intermediate position? If the issue is that you don't want people infringing copyright, then don't load the module unless it's accompanied by a [text] file in a standard format which states that the module is not infringing.

So the default would be that non-GPL modules would not be loaded, but that the non-load could be easily circumvented by someone with a legitimate non-GPL module. That would mean truly non infringing modules could be loaded. Moreover, anyone could still load an infringing module, but to do so would mean they would need to actively be either reckless or lying (even if all the fields are left blank) - which would not look very good when it was exposed. It would also help educate those people who are bona fide, but ignorant of their obligations.

The file could include (eg):
Module name:
Version number:
License:
I have read the statement on GPL binary modules and the kernel developers' views on GPL-infringement available from [address]: yes/no
I verify that I have reviewed the developer's statement above and honestly believe that this version of this module does not infringe copyright in the kernel when assessed in accordance with that statement. I also verify that in making this verification I am, or am acting on behalf of, the author(s) and copyright owner(s) of this module : [name]
Date verified: [date]
Name of organisation:
Contact email:


If you're interested, I'd be happy to help draft something more involved.


Regards


Brendan

--
Brendan Scott IT Law Open Source Law
0414 339 227 http://www.opensourcelaw.biz
Liability limited by a scheme approved under Professional Standards Legislation
Open Source Law Weekly digest: oswald[at]opensourcelaw.biz

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


junkio at cox

Dec 17, 2006, 10:50 PM

Post #135 of 214 (3316 views)
Permalink
Re: GPL only modules [In reply to]

Paul Mackerras <paulus[at]samba.org> writes:

> Linus Torvalds writes:
>
>> Why do people think that using "ln" is _any_ different from using
>> "mkisofs". Both create one file that contains multiple pieces. What's the
>> difference - really?
>
> The difference - really - at least for static linking - is that "ln"
> makes modifications to each piece to make them work together, and in
> the case of a library, makes a selection of the parts of the library
> as needed by the rest of the program.

Excuse me, but are you two discussing "ld"? ;-)

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


ebiederm at xmission

Dec 18, 2006, 2:28 AM

Post #136 of 214 (3365 views)
Permalink
Re: GPL only modules [In reply to]

Jan Engelhardt <jengelh[at]linux01.gwdg.de> writes:

> On Dec 14 2006 09:52, Chris Wedgwood wrote:
>>On Thu, Dec 14, 2006 at 05:38:27PM +0000, Christoph Hellwig wrote:
>>
>>> Yes, EXPORT_SYMBOL_INTERNAL would make a lot more sense.
>>
>>A quick grep shows that changing this now would require updating
>>nearly 1900 instances, so patches to do this would be pretty large and
>>disruptive (though we could support both during a transition and
>>migrate them over time).
>
> I'd prefer to do it at once. But that's not my decision so you anyway do what
> you want.
>
> That said, I would like to keep EXPORT_SYMBOL_GPL, because EXPORT and INTERNAL
> is somehow contrary. Just a wording issue.

I would suggest that we make the prefix MODULE and not EXPORT. It
more accurately conveys what we are trying to say, and it doesn't
have the conflicting problem with INTERNAL.

I don't know if it is actually worth doing a great rename for such
a simple clarification in language. But it is worth considering
because it would more strongly convey that we don't expect these
symbols to be used by everything.

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


ebiederm at xmission

Dec 18, 2006, 2:55 AM

Post #137 of 214 (3304 views)
Permalink
Re: GPL only modules [was Re: [GIT PATCH] more Driver core patches for 2.6.19] [In reply to]

Things we can say without being hypocrites and without getting into
legal theory:

Kernel modules without source, or that don't have a GPL compatible
license are inconsiderate and rude.

Please don't be rude.

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


mr.fred.smoothie at pobox

Dec 18, 2006, 7:38 AM

Post #138 of 214 (3302 views)
Permalink
Re: GPL only modules [In reply to]

On 12/17/06, Linus Torvalds <torvalds[at]osdl.org> wrote:
>
> Linking does have one thing that it implies: it's maybe a bit "closer"
> relationship between the parts than "mkisofs" implies. So there is
> definitely a higher _correlation_ between "derived work" and "linking",
> but it's really a correlation, not a causal relationship.
>
> But it wasn't the "act of linking" that caused
> that to happen, but simply the fact that they were part of a bigger whole,
> and were meaningless apart from each other.

I think this is the key, both with libraries and w/ your book example
below; the concept of independant "meaning." If your code doesn't do
whatever it is supposed to do _unless_ it is linked with _my_ code,
then it seems fairly clear that your code is derivative of mine, just
as your sequel to my novel (or your pages added onto my book) don't
"mean" anything if someone hasn't read mine.

>
> Think of this in the sense of a book. Does binding pages together create a
> "derived work"? Not always: you can have anthologies (which are
> *aggregations* of works with *independent* copyright), and the binding of
> pages together didn't really do anything to the independent pieces. But
> clearly, if you're talking about individual pages in one story, then each
> individual page is not an independent work in itself.

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


mr.fred.smoothie at pobox

Dec 18, 2006, 7:47 AM

Post #139 of 214 (3316 views)
Permalink
Re: GPL only modules [In reply to]

On 12/17/06, D. Hazelton <dhazelton[at]enter.net> wrote:
> On Sunday 17 December 2006 16:32, David Schwartz wrote:
> > > I would argue that this is _particularly_ pertinent with regards to
> > > Linux. For example, if you look at many of our atomics or locking
> > > operations a good number of them (depending on architecture and
> > > version) are inline assembly that are directly output into the code
> > > which uses them. As a result any binary module which uses those
> > > functions from the Linux headers is fairly directly a derivative work
> > > of the GPL headers because it contains machine code translated
> > > literally from GPLed assembly code found therein. There are also a
> > > fair number of large perhaps-wrongly inline functions of which the
> > > use of any one would be likely to make the resulting binary
> > > "derivative".
> >
> > That's not protectable expression under United States law. See Lexmark v.
> > Static Controls and the analogous case of the TLP (ignore the DMCA stuff in
> > that case, that's not relevant). If you want to make that kind of content
> > protectable, you have to get it out of the header files.
> >
> > You cannot protect, by copyright, every reasonably practical way of
> > performing a function. Only a patent can do that. If taking something is
> > reasonably necessary to express a particular idea (and a Linux module for
> > the ATI X850 card is an idea), then that something cannot be protected by
> > copyright when it is used to express that idea. (Even if it would clearly
> > be protectably expression in another context.)
> >
> > The premise of copyright is that there are millions of equally-good ways to
> > express the same idea or perform the same function, and you creatively pick
> > one, and that choice is protected. But if I'm developing a Linux module for
> > a particular network card, choosing to use the Linux kernel header files is
> > the only practical choice to perform that particular function. So their
> > content is not protectable when used in that context. (If you make another
> > way to do it, then the content becomes protectable in that context again.)
> >
> > IANAL.
> >
> > DS
>
> Agreed. You missed the point. Since the Linux Kernel header files contain a
> chunk of the source code for the kernel in the form of the macros for locking
> et. al. then using the headers - including that code in your module - makes
> it a derivative work.

David didn't miss the point; Lexmark vs. Static Controls, however
unintuitively, ruled that even _verbatim_ copying is not always
copyright infringement in the case of software because of issues like
the doctrine of scenes a faire. In the case of spinlocks, if the only
way to accomplish atomic operations on an architecture is to use
something like the assembler that the inclusion of spinlock.h injects
into your binary, then according to Lexmark vs. Static Controls that
makes that included code unprotectable by copyright.

Where I disagree with David (as I have publicly before on this list),
is that he incorrectly applies the concept of "functional idea" to
"write a linux kernel module." I don't believe that is a "functional
idea" in the sense that is meaningful in the context of software
copyright or patents (at least until someone writes a piece of
software that writes kernel modules).

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


tytso at mit

Dec 18, 2006, 9:02 AM

Post #140 of 214 (3296 views)
Permalink
Re: GPL only modules [In reply to]

On Mon, Dec 18, 2006 at 10:38:38AM -0500, Dave Neuer wrote:
> I think this is the key, both with libraries and w/ your book example
> below; the concept of independant "meaning." If your code doesn't do
> whatever it is supposed to do _unless_ it is linked with _my_ code,
> then it seems fairly clear that your code is derivative of mine, just
> as your sequel to my novel (or your pages added onto my book) don't
> "mean" anything if someone hasn't read mine.

That's a wonderful theory, but I don't believe it's recognized by the
courts. I'm also pretty sure you don't want to go there. Consider
folks who create add-ons to Tivo player, or extensions to MacOS. They
don't _do_ anything unless they are used with the Tivo player. Or a
game meant for a Playstation 3; it won't _do_ anything unless it's
calls the BIOS and system functions provided by the PS3. Does that
automatically make them derived works?

What about a GPL'ed program which interfaces with the iTunes server?
It won't _do_ anything unless it can connect across the network and
talks to iTunes code. Does that make it a derived work?

If the answer is no --- or should be no --- then maybe you should be
more careful before making such statements.

For myself, I believe we actually get the largest amount of
programming freedom if we use a very tightly defined definition of
derived code, and not try to create new expansive definitions and try
to ram them through the court system or through legislatures. In the
end, we may end up regretting it.

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


jmerkey at wolfmountaingroup

Dec 18, 2006, 9:05 AM

Post #141 of 214 (3282 views)
Permalink
Re: GPL only modules [was Re: [GIT PATCH] more Driver core patches for 2.6.19] [In reply to]

Eric W. Biederman wrote:

>Things we can say without being hypocrites and without getting into
>legal theory:
>
>Kernel modules without source, or that don't have a GPL compatible
>license are inconsiderate and rude.
>
>
??????

>Please don't be rude.
>
>
???????

J

>Eric
>
>
>

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


davids at webmaster

Dec 18, 2006, 9:16 AM

Post #142 of 214 (3303 views)
Permalink
RE: GPL only modules [In reply to]

Combined responses to save bandwidth and reduce the number of times people
have to press "d".

> Agreed. You missed the point.

I don't understand how you could lead with "agreed" and then proceed to
completely ignore the entire point I just made.

> Since the Linux Kernel header files
> contain a
> chunk of the source code for the kernel in the form of the macros
> for locking
> et. al. then using the headers - including that code in your
> module - makes
> it a derivative work.

No, it does not. The header files are purely function and not expressive in
this case. Copyright only protects one choice among many equally-practical
choices for expressing the same idea or performing the same function.

> Actually, thinking about it, the way a Linux driver module works actually
> seems to make *ANY* driver a derivative work, because they are
> loaded into
> the kernels memory space and cannot function without having that done.

If every practical way of expressing an idea contains something, then that
something is *not* protectable when used to express an idea of that kind.

> *IF* the "Usermode Driver" interface that is being worked on ever proves
> useful then, and only then, could you consider it *NOT* a
> derivative work.
> Because then the only thing it is using *IS* an interface, not complete
> chunks of the source as generated when the pre-processor finishes running
> through the file.

No, you have it completely backwards.

If a usermode driver interface was equally practical to develop a particular
type of driver, then using the kernel headers would make the driver a
derivative work. Because, in that case, the choice to use the kernel headers
would be a creative choice -- one chosen method among many equally practical
one.

Copyright only protects creative choices, not purely functional ones.

"A Linux 2.6 driver for the ATI X800 graphics chipset" is an idea. If the
only reasonably practical way to express that idea is with the Linux kernel
header files, then using the Linux kernel header files is scenes a fair, not
protected content.

For example, you cannot discuss the Napeleonic wars with using the word
"Napoleon", at least, not nearly as well. So nobody can claim copyright on
the word "Napoleon" when used to describe those wars because it is
deomnstrably *superior*. Only patents protect "best ways". Copyrights
protected "the way I choose among thousands of equally-good ways".

See Lexmark v. Static Controls and the Sega and Atari cases. This is clearly
a cases where "[w]hile, hypothetically, there might be a myriad of ways in
which a programmer may effectuate certain functions within a program . . .
efficiency concerns may so narrow the practical range of choice as to make
only one or two forms of expression workable options." "In order to
characterize a choice between alleged programming alternatives as
expressive, in short, the alternatives must be feasible within real-world
constraints."

The inclusion of the kernel header files in a kernel module is not
expressive, it's purely functional. The kernel header files are simply not
protectable expression when used in a kernel module.

-

>The difference - really - at least for static linking - is that "ln"
>makes modifications to each piece to make them work together, and in
>the case of a library, makes a selection of the parts of the library
>as needed by the rest of the program. What ends up in the executable
>is not just a set of verbatim copies of the input files packed
>together, but rather a single program where the various parts have
>been modified so as to fit together and create a whole. Thus it seems
>quite reasonable to me to say that a statically linked binary is a
>derived work of all of the object files and libraries that were linked
>together to form it. IANAL, of course.

The linker makes no creative choices, so it does not produce a "work" for
copyright purposes. If it does not even produce a work, it cannot produce a
derivative work.

The question is not whether the combination is verbatim or transformative
but whether it is creative or mechanical. The linker combines things in a
mechanical and purely functional way.

A tar/gzip does the same thing. The compressed output for the third file may
be as dependent on the content of the second file as on the content of the
third file and in a very real sense will contain aspects of both of their
structures.

"Mere aggregation" does not mean a literal splicing of the raw code for two
or more files. It means a purely functional combination dictated completely
by technical concerns and lacking any creative input.

DS


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


mr.fred.smoothie at pobox

Dec 18, 2006, 9:23 AM

Post #143 of 214 (3294 views)
Permalink
Re: GPL only modules [In reply to]

On 12/18/06, Theodore Tso <tytso[at]mit.edu> wrote:
> On Mon, Dec 18, 2006 at 10:38:38AM -0500, Dave Neuer wrote:
> > I think this is the key, both with libraries and w/ your book example
> > below; the concept of independant "meaning." If your code doesn't do
> > whatever it is supposed to do _unless_ it is linked with _my_ code,
> > then it seems fairly clear that your code is derivative of mine, just
> > as your sequel to my novel (or your pages added onto my book) don't
> > "mean" anything if someone hasn't read mine.
>
> For myself, I believe we actually get the largest amount of
> programming freedom if we use a very tightly defined definition of
> derived code, and not try to create new expansive definitions and try
> to ram them through the court system or through legislatures. In the
> end, we may end up regretting it.

To be sure, we as programmers will have the most freedom if there is
no form of intellectual property protection for software at all
(imagine all of those Renaissance publishers whose sensibilities would
have been quite shocked by the suggestion that their distribution of
some author's work for a small fee was somehow "theft").

It's less clear to me that a more expansive "we" will be equally well
served, freedom-wise, by less protection though I'm very sympathetic
to the argument.

> - Ted
>

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


dhazelton at enter

Dec 18, 2006, 9:46 AM

Post #144 of 214 (3303 views)
Permalink
Re: GPL only modules [In reply to]

On Monday 18 December 2006 10:47, Dave Neuer wrote:
> On 12/17/06, D. Hazelton <dhazelton[at]enter.net> wrote:
> > On Sunday 17 December 2006 16:32, David Schwartz wrote:
> > > > I would argue that this is _particularly_ pertinent with regards to
> > > > Linux. For example, if you look at many of our atomics or locking
> > > > operations a good number of them (depending on architecture and
> > > > version) are inline assembly that are directly output into the code
> > > > which uses them. As a result any binary module which uses those
> > > > functions from the Linux headers is fairly directly a derivative work
> > > > of the GPL headers because it contains machine code translated
> > > > literally from GPLed assembly code found therein. There are also a
> > > > fair number of large perhaps-wrongly inline functions of which the
> > > > use of any one would be likely to make the resulting binary
> > > > "derivative".
> > >
> > > That's not protectable expression under United States law. See Lexmark
> > > v. Static Controls and the analogous case of the TLP (ignore the DMCA
> > > stuff in that case, that's not relevant). If you want to make that kind
> > > of content protectable, you have to get it out of the header files.
> > >
> > > You cannot protect, by copyright, every reasonably practical way of
> > > performing a function. Only a patent can do that. If taking something
> > > is reasonably necessary to express a particular idea (and a Linux
> > > module for the ATI X850 card is an idea), then that something cannot be
> > > protected by copyright when it is used to express that idea. (Even if
> > > it would clearly be protectably expression in another context.)
> > >
> > > The premise of copyright is that there are millions of equally-good
> > > ways to express the same idea or perform the same function, and you
> > > creatively pick one, and that choice is protected. But if I'm
> > > developing a Linux module for a particular network card, choosing to
> > > use the Linux kernel header files is the only practical choice to
> > > perform that particular function. So their content is not protectable
> > > when used in that context. (If you make another way to do it, then the
> > > content becomes protectable in that context again.)
> > >
> > > IANAL.
> > >
> > > DS
> >
> > Agreed. You missed the point. Since the Linux Kernel header files contain
> > a chunk of the source code for the kernel in the form of the macros for
> > locking et. al. then using the headers - including that code in your
> > module - makes it a derivative work.
>
> David didn't miss the point; Lexmark vs. Static Controls, however
> unintuitively, ruled that even _verbatim_ copying is not always
> copyright infringement in the case of software because of issues like
> the doctrine of scenes a faire. In the case of spinlocks, if the only
> way to accomplish atomic operations on an architecture is to use
> something like the assembler that the inclusion of spinlock.h injects
> into your binary, then according to Lexmark vs. Static Controls that
> makes that included code unprotectable by copyright.

Ah, okay. However I'm quite sure that there are more ways to accomplish the
tasks handled by the code in the header files (in most cases).

> Where I disagree with David (as I have publicly before on this list),
> is that he incorrectly applies the concept of "functional idea" to
> "write a linux kernel module." I don't believe that is a "functional
> idea" in the sense that is meaningful in the context of software
> copyright or patents (at least until someone writes a piece of
> software that writes kernel modules).

Agreed. And thanks for clarifying that.

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


aoliva at redhat

Dec 18, 2006, 11:27 AM

Post #145 of 214 (3291 views)
Permalink
Re: GPL only modules [In reply to]

On Dec 17, 2006, Linus Torvalds <torvalds[at]osdl.org> wrote:

> For example, glibc could easily have just come out and said the thing that
> is obvious to any sane person: "using this library as just a standard
> library does not make your program a derived work".

> There really wassn't much need for the LGPL, I think.

So I guess you approve of the reformulation of LGPL as an additional
permission on top of GPL, as in its draft at gplv3.fsf.org, right?

>> Some claim that, in the case of static linking, since there part of
>> the library copied to the binary, it is definitely a case of derived
>> work.

> No, the sane way to think about it is that linking just creates an
> "aggregate" work.

That's your take on it. It does make sense, but claiming it's *the*
sane way to think about it is making the mistake you accused the FSF
of making.


> Why do people think that using "ln" is _any_ different from using
> "mkisofs".

Maybe because mkisofs will create a functional filesystem image out of
whatever you could possibly throw at it, while ld will perform a
number of cross-checks between the inputs it is given which indicates
a much closer relationship between the inputs?

You said so yourself, so I guess we agree.


> Does "mkisofs" create a derived work, or an aggregate?

I'd say both. I understand it's a derived work, but one that happens
to be a mere aggregate of works that might or might not be based on a
GPLed program included in the aggregate. Now, does this mean that a
court would be pretty much forced to admit the aggregate as a derived
work, and thus that the copyright holder (or the license author) gets
a say on what 'mere aggregate' means in the license chosen by the
copyright holder?

ld creates works that perhaps can be construed as not being mere
aggregates or even derived works, since ld doesn't always copy the
contents of its inputs to the output. But it does extract some
information that makes to the output, and there is a closer
relationship between the works than in the mere aggregation case of
mkisofs, so there is still room for claiming that the output is a
derived work, and that it's not a mere aggregate.

In fact, it can't possibly be exempt by this paragraph in clause 2 of
the GPL:

In addition, mere aggregation of another work not based on the
Program with the Program (or with a work based on the Program) on a
volume of a storage or distribution medium does not bring the other
work under the scope of this License.

because we're not talking about mere aggregation of the work (or a
work based on it) with another work not based on the program, but
rather about whether the linker output is based on the program or not.
A court gets to decide whether it is a derived work, but since in the
dynamic linking case you're not aggregating (because you're not
copying the entire library) the program with other works not based on
the program, then this exception doesn't apply, methinks.

> This particular thing is a non-issue wrt the GPLv2, since you always
> have the right to do distribution of aggregates, but it does come up in
> some OTHER licenses.

Make it *mere* aggregates. That *might* turn out to be a relevant
distinction. E.g., if there's functional dependence of one of the
elements of the aggregate on another, is the aggregate work still the
result of mere aggregation?

--
Alexandre Oliva http://www.lsd.ic.unicamp.br/~oliva/
FSF Latin America Board Member http://www.fsfla.org/
Red Hat Compiler Engineer aoliva@{redhat.com, gcc.gnu.org}
Free Software Evangelist oliva@{lsd.ic.unicamp.br, gnu.org}
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo[at]vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/


aoliva at redhat

Dec 18, 2006, 11:41 AM

Post #146 of 214 (3297 views)
Permalink
Re: GPL only modules [In reply to]

On Dec 17, 2006, Kyle Moffett <mrmacman_g4[at]mac.com> wrote:

> On the other hand, certain projects like OpenAFS, while not license-
> compatible, are certainly not derivative works.

Certainly a big chunk of OpenAFS might not be, just like a big chunk
of other non-GPL drivers for Linux.

But what about the glue code? Can that be defended as not a derived
work, such that it doesn't have to be GPL?

If not, can the whole containing both the non-derivative work and the
source code providing the glue without which the whole wouldn't
fulfill its intended purpose be regarded as a mere aggregate, and thus
not be subject to the requirement that the whole be released under the
GPL?

--
Alexandre Oliva http://www.lsd.ic.unicamp.br/~oliva/
FSF Latin America Board Member http://www.fsfla.org/
Red Hat Compiler Engineer aoliva@{redhat.com, gcc.gnu.org}
Free Software Evangelist oliva@{lsd.ic.unicamp.br, gnu.org}
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo[at]vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/


torvalds at osdl

Dec 18, 2006, 11:42 AM

Post #147 of 214 (3279 views)
Permalink
Re: GPL only modules [In reply to]

On Mon, 18 Dec 2006, Alexandre Oliva wrote:
>
> So I guess you approve of the reformulation of LGPL as an additional
> permission on top of GPL, as in its draft at gplv3.fsf.org, right?

Yes. I think that part of the GPLv3 is a good idea.

That said, I think they are still pushing the "you don't have any rights
unless we give you additional rights explicitly" angle a bit too hard.

The fact is, people DO have rights, regardless of what the license says.
We have them when it comes to music, and we have them when it comes to
software. Copyright law only gives _limited_ rights to copyright holders,
and we should actually fight those rights being expanded, instead of
trying to expand on them ourselves.

> > No, the sane way to think about it is that linking just creates an
> > "aggregate" work.
>
> That's your take on it. It does make sense, but claiming it's *the*
> sane way to think about it is making the mistake you accused the FSF
> of making.

I did point that out at the end of the email you quote. I said it's not
necessarily the only way to look at things. But I GUARANTEE you that it
makes more sense than the "no rights" approach, and I GUARANTEE you that
it makes more sense than thinking that "ld is magic, and makes a derived
work" approach.

> In fact, it can't possibly be exempt by this paragraph in clause 2 of
> the GPL:
>
> In addition, mere aggregation of another work not based on the
> Program with the Program (or with a work based on the Program) on a
> volume of a storage or distribution medium does not bring the other
> work under the scope of this License.

This is actually a red herring. The way the GPLv2 _defines_ "work" and
"Program" is by derived "derived work".

You're confused by _your_ interpretation of "work" and "Program". You
think that "Program" means "binary", because that's you think normally.

But the GPLv2 actually defines that "Program" is just the "derivative work
under copyright law".

Really. Go look. It's right there at the very top, in section 0.

In other words, in the GPL, "Program" does NOT mean "binary". Never has.

And in fact, it wouldn't make sense if it did, since you can use the GPL
for other things than just programs (and people have).

So you _always_ get back to the question: what is "derivative"? And the
GPLv2 doesn't actually even say anything about that, but EXPLICITLY says
that it is left to copyright law.

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


aoliva at redhat

Dec 18, 2006, 12:37 PM

Post #148 of 214 (3292 views)
Permalink
Re: GPL only modules [In reply to]

On Dec 18, 2006, Linus Torvalds <torvalds[at]osdl.org> wrote:

> That said, I think they are still pushing the "you don't have any rights
> unless we give you additional rights explicitly" angle a bit too hard.

Maybe it's just a matter of perception. I don't see it that way from
the inside.

How about
http://gplv3.fsf.org/comments/rt/readsay.html?filename=gplv3-draft-2&id=2238

Would it help address your mis-perception?

> But I GUARANTEE you that it makes more sense than the "no rights"
> approach

Yeah, but that's a Straw Man.

> and I GUARANTEE you that it makes more sense than thinking that "ld
> is magic, and makes a derived work" approach.

I believe you and I have already shot down the 'ld-is-like-mkisofs'
argument.

>> In fact, it can't possibly be exempt by this paragraph in clause 2 of
>> the GPL:

>> In addition, mere aggregation of another work not based on the
>> Program with the Program (or with a work based on the Program) on a
>> volume of a storage or distribution medium does not bring the other
>> work under the scope of this License.

> This is actually a red herring. The way the GPLv2 _defines_ "work" and
> "Program" is by derived "derived work".

No, that's how it defines 'work based on the Program', see the quoted
portion below.

> You're confused by _your_ interpretation of "work" and "Program". You
> think that "Program" means "binary", because that's you think normally.

I can't see where you drew that conclusion from, but it's an incorrect
conclusion. Program can denote the sources as much as the binaries.

> But the GPLv2 actually defines that "Program" is just the "derivative work
> under copyright law".

> Really. Go look. It's right there at the very top, in section 0.

/me looks again

0. This License applies to any program or other work which contains
a notice placed by the copyright holder saying it may be distributed
under the terms of this General Public License. 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. (Hereinafter, translation is included without limitation in
the term "modification".)

> In other words, in the GPL, "Program" does NOT mean "binary". Never has.

Agreed. So what? How does this relate with the point above?

The binary is a Program, as much as the sources are a Program. Both
forms are subject to copyright law and to the license, in spite of
http://www.fsfla.org/?q=en/node/128#1

> And in fact, it wouldn't make sense if it did, since you can use the GPL
> for other things than just programs (and people have).

People do many odd things. How do you define source code and object
code to other things that are not programs.

> So you _always_ get back to the question: what is "derivative"? And the
> GPLv2 doesn't actually even say anything about that, but EXPLICITLY says
> that it is left to copyright law.

Exactly. No disagreement here.

I'm not disputing this fact.

In the point you quoted above, I was only disputing your argument of
"mere aggregation" in the context of dynamic linking.

--
Alexandre Oliva http://www.lsd.ic.unicamp.br/~oliva/
FSF Latin America Board Member http://www.fsfla.org/
Red Hat Compiler Engineer aoliva@{redhat.com, gcc.gnu.org}
Free Software Evangelist oliva@{lsd.ic.unicamp.br, gnu.org}
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo[at]vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/


torvalds at osdl

Dec 18, 2006, 12:50 PM

Post #149 of 214 (3299 views)
Permalink
Re: GPL only modules [In reply to]

On Mon, 18 Dec 2006, Alexandre Oliva wrote:
>
> > In other words, in the GPL, "Program" does NOT mean "binary". Never has.
>
> Agreed. So what? How does this relate with the point above?
>
> The binary is a Program, as much as the sources are a Program. Both
> forms are subject to copyright law and to the license, in spite of
> http://www.fsfla.org/?q=en/node/128#1

Here's how it relates:
- if a program is not a "derived work" of the C library, then it's not
"the program" as defined by the GPLv2 AT ALL.

In other words, it doesn't matter ONE WHIT whether you use "ld --static"
or "ld" or "mkisofs" - if the program isn't (by copyright law) derived
from glibc, then EVEN IF glibc was under the GPLv2, it would IN NO WAY
AFFECT THE RESULTING BINARY.

And I'm simply claiming that a binary doesn't become "derived from" by any
action of linking.

Even if you link using "ld", even if it's static, the binary is not
"derived from". It's an aggregate.

"Derivation" has nothing to do with "linking". Either it's derived or it
is not, and "linking" simply doesn't matter. It doesn't matter whether
it's static or dynamic. That's a detail that simply doesn't have anythign
at all to do with "derivative work".

THAT is my point.

Static vs dynamic matters for whether it's an AGGREGATE work. Clearly,
static linking aggregates the library with the other program in the same
binary. There's no question about that. And that _does_ have meaning from
a copyright law angle, since if you don't have permission to ship
aggregate works under the license, then you can't ship said binary. It's
just a non-issue in the specific case of the GPLv2.

In the presense of dynamic linking the binary isn't even an aggregate
work.

THAT is the difference between static and dynamic. A simple command line
flag to the linker shouldn't really reasonably be considered to change
"derivation" status.

Either something is derived, or it's not. If it's derived, "ld",
"mkisofs", "putting them close together" or "shipping them on totally
separate CD's" doesn't matter. It's still derived.

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


mr.fred.smoothie at pobox

Dec 18, 2006, 1:01 PM

Post #150 of 214 (3302 views)
Permalink
Re: GPL only modules [In reply to]

On 12/18/06, D. Hazelton <dhazelton[at]enter.net> wrote:
>
> Ah, okay. However I'm quite sure that there are more ways to accomplish the
> tasks handled by the code in the header files (in most cases).

Well, that may be so. Unfortunately, Lexmark vs. Static Controls
actually says that even if there are other ways, if those ways are far
less optimal, the result is as if there were only one way. I think the
decision is part of one big, giant mess that is US IP law as it
relates to software.

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

First page Previous page 1 2 3 4 5 6 7 8 9 Next page Last page  View All Linux kernel RSS feed   Index | Next | Previous | View Threaded
 
 


Interested in having your list archived? Contact lists@gossamer-threads.com
 
  Web Applications & Managed Hosting Powered by Gossamer Threads Inc.