* Re: Linux GPL and binary module exception clause? @ 2003-12-04 23:50 Paul Adams 2003-12-05 0:07 ` Nick Piggin ` (3 more replies) 0 siblings, 4 replies; 180+ messages in thread From: Paul Adams @ 2003-12-04 23:50 UTC (permalink / raw) To: linux-kernel --- In linux-kernel@yahoogroups.com, Linus Torvalds <torvalds@o...> wrote: > - anything that was written with Linux in mind (whether it then > _also_ works on other operating systems or not) is clearly > partially a derived work. I am no more a lawyer than you are, but I have to disagree. You are not free to define "derivative work" as you please. You must use accepted legal definitions. At least in the U.S., you must consider what Congress had to say on this. They said, "to constitute a violation of section 106(2) [which gives copyright owners rights over derivative works], the infringing work must incorporate a portion of the copyrighted work in some form; for example, a detailed commentary on a work or a programmatic musical composition inspired by a novel would not normally constitute infringements under this clause." http://www4.law.cornell.edu/uscode/17/106.notes.html A work that is inspired by Linux is no more a derivative work than a programmatic musical composition inspired by a novel. Having Linux in mind cannot be enough to constitute infringement. Remember also that U.S. copyright law states: "In no case does copyright protection for an original work of authorship extend to any idea, procedure, process, system, method of operation, concept, principle, or discovery, regardless of the form in which it is described, explained, illustrated, or embodied in such work." http://www4.law.cornell.edu/uscode/17/102.html Thus you cannot claim infringement because a work merely shares ideas or methods of operation with Linux. The standard used in U.S. courts for determining if software violates a copyright includes a filtering procedure to eliminate unprotected aspects as described above. A standard filter is that you eliminate an element if "The element's expression was dictated by external factors, such as using an existing file format or interoperating with another program." Computer Associates v. Altai specifically discusses the need to filter elements related to "compatibility requirements of other programs with which a program is designed to operate in conjunction." http://www.bitlaw.com/source/cases/copyright/altai.html Code needed to interoperate with the Linux kernel thus cannot be considered as a factor in determining if the Linux copyright is infringed. Unless actual Linux code is incorporated in a binary distribution in some form, I don't see how you can claim infringement of the copyright on Linux code, at least in the U.S. __________________________________ Do you Yahoo!? Free Pop-Up Blocker - Get it now http://companion.yahoo.com/ ^ permalink raw reply [flat|nested] 180+ messages in thread
* Re: Linux GPL and binary module exception clause? 2003-12-04 23:50 Linux GPL and binary module exception clause? Paul Adams @ 2003-12-05 0:07 ` Nick Piggin 2003-12-05 2:07 ` Kendall Bennett ` (2 more replies) 2003-12-05 0:09 ` Oliver Hunt ` (2 subsequent siblings) 3 siblings, 3 replies; 180+ messages in thread From: Nick Piggin @ 2003-12-05 0:07 UTC (permalink / raw) To: Paul Adams; +Cc: linux-kernel Paul Adams wrote: >--- In linux-kernel@yahoogroups.com, Linus Torvalds ><torvalds@o...> wrote: > >>- anything that was written with Linux in mind >> >(whether it then > >>_also_ works on other operating systems or not) is >> >clearly > >>partially a derived work. >> > >I am no more a lawyer than you are, but I have to >disagree. You >are not free to define "derivative work" as you >please. You >must use accepted legal definitions. At least in the >U.S., you >must consider what Congress had to say on this. They >said, "to >constitute a violation of section 106(2) [which gives >copyright >owners rights over derivative works], the infringing >work must >incorporate a portion of the copyrighted work in some >form; for >example, a detailed commentary on a work or a >programmatic musical >composition inspired by a novel would not normally >constitute >infringements under this clause." >http://www4.law.cornell.edu/uscode/17/106.notes.html > >A work that is inspired by Linux is no more a >derivative work than >a programmatic musical composition inspired by a >novel. Having >Linux in mind cannot be enough to constitute >infringement. > Of course not, thought police aren't any good until a mind reader is invented ;) Seriously: What about specifically a module that includes the Linux Kernel's headers and uses its APIs? I don't think you could say that is definitely not a derivative work. ^ permalink raw reply [flat|nested] 180+ messages in thread
* Re: Linux GPL and binary module exception clause? 2003-12-05 0:07 ` Nick Piggin @ 2003-12-05 2:07 ` Kendall Bennett 2003-12-05 15:57 ` Thierry Vignaud 2003-12-05 4:23 ` Peter Chubb 2003-12-05 13:52 ` Richard B. Johnson 2 siblings, 1 reply; 180+ messages in thread From: Kendall Bennett @ 2003-12-05 2:07 UTC (permalink / raw) To: Nick Piggin; +Cc: linux-kernel Nick Piggin <piggin@cyberone.com.au> wrote: > What about specifically a module that includes the Linux Kernel's > headers and uses its APIs? I don't think you could say that is > definitely not a derivative work. You cannot copyright an API - people have been down that path before in the proprietry software community and have not succeeded. You can copyright the code in the header files, but does simply using the header files to build a program mean that the driver is now infected? If the header files include lots and lots of inline functions that ended up compiled into the code, then maybe. Then again, it appears that most developers are using wrapped to avoid this situation, such that their private code does not include any Linux headers, only the GPL'ed wrapper. So we go in circles again. Regards, --- Kendall Bennett Chief Executive Officer SciTech Software, Inc. Phone: (530) 894 8400 http://www.scitechsoft.com ~ SciTech SNAP - The future of device driver technology! ~ ^ permalink raw reply [flat|nested] 180+ messages in thread
* Re: Linux GPL and binary module exception clause? 2003-12-05 2:07 ` Kendall Bennett @ 2003-12-05 15:57 ` Thierry Vignaud 0 siblings, 0 replies; 180+ messages in thread From: Thierry Vignaud @ 2003-12-05 15:57 UTC (permalink / raw) To: Kendall Bennett; +Cc: Nick Piggin, linux-kernel "Kendall Bennett" <KendallB@scitechsoft.com> writes: > Then again, it appears that most developers are using wrapped to > avoid this situation, such that their private code does not include > any Linux headers, only the GPL'ed wrapper. wrappers are gpl-ed. i do not think they offer so much "work" that their authors have the right to tell "here's there's a boundary; our binary module can legally use our wrapper". ^ permalink raw reply [flat|nested] 180+ messages in thread
* Re: Linux GPL and binary module exception clause? 2003-12-05 0:07 ` Nick Piggin 2003-12-05 2:07 ` Kendall Bennett @ 2003-12-05 4:23 ` Peter Chubb 2003-12-05 4:42 ` Nick Piggin 2003-12-05 5:13 ` Valdis.Kletnieks 2003-12-05 13:52 ` Richard B. Johnson 2 siblings, 2 replies; 180+ messages in thread From: Peter Chubb @ 2003-12-05 4:23 UTC (permalink / raw) To: Nick Piggin; +Cc: Paul Adams, linux-kernel >>>>> "Nick" == Nick Piggin <piggin@cyberone.com.au> writes: Nick> Paul Adams wrote: Nick> Seriously: What about specifically a module that includes the Nick> Linux Kernel's headers and uses its APIs? I don't think you Nick> could say that is definitely not a derivative work. As far as I know, interfacing to a published API doesn't infringe copyright. Note: Paul> A standard filter is that you eliminate an element if "The Paul> element's expression was dictated by external factors, such as Paul> using an existing file format or interoperating with another Paul> program." Computer Associates v. Altai specifically discusses Paul> the need to filter elements related to "compatibility Paul> requirements of other programs with which a program is designed Paul> to operate in conjunction." Paul> http://www.bitlaw.com/source/cases/copyright/altai.html If you don't accept this, then maybe you have to start accepting SCO's claims on JFS, XFS, &c. (Disclaimer: I am not a lawyer) -- Dr Peter Chubb http://www.gelato.unsw.edu.au peterc AT gelato.unsw.edu.au The technical we do immediately, the political takes *forever* ^ permalink raw reply [flat|nested] 180+ messages in thread
* Re: Linux GPL and binary module exception clause? 2003-12-05 4:23 ` Peter Chubb @ 2003-12-05 4:42 ` Nick Piggin 2003-12-05 8:23 ` Peter Chubb 2003-12-05 5:13 ` Valdis.Kletnieks 1 sibling, 1 reply; 180+ messages in thread From: Nick Piggin @ 2003-12-05 4:42 UTC (permalink / raw) To: Peter Chubb; +Cc: Paul Adams, linux-kernel Peter Chubb wrote: >>>>>>"Nick" == Nick Piggin <piggin@cyberone.com.au> writes: >>>>>> > >Nick> Paul Adams wrote: > > >Nick> Seriously: What about specifically a module that includes the >Nick> Linux Kernel's headers and uses its APIs? I don't think you >Nick> could say that is definitely not a derivative work. > >As far as I know, interfacing to a published API doesn't infringe >copyright. > So binary modules don't infringe copyright and aren't derived works? If so then the way to control access to the kernel is to control the "published API" ie. the api/abi exported modules, and exceptions for GPL modules are useless. Hmm. > >Note: > > >Paul> A standard filter is that you eliminate an element if "The >Paul> element's expression was dictated by external factors, such as >Paul> using an existing file format or interoperating with another >Paul> program." Computer Associates v. Altai specifically discusses >Paul> the need to filter elements related to "compatibility >Paul> requirements of other programs with which a program is designed >Paul> to operate in conjunction." >Paul> http://www.bitlaw.com/source/cases/copyright/altai.html > > >If you don't accept this, then maybe you have to start accepting SCO's >claims on JFS, XFS, &c. > Not quite sure what you mean here. As far as I was aware, SCO doesn't have any copyrights or patents on any code in the Linux Kernel so it is not a similar situation. I haven't followed the SCO thing closely though. ^ permalink raw reply [flat|nested] 180+ messages in thread
* Re: Linux GPL and binary module exception clause? 2003-12-05 4:42 ` Nick Piggin @ 2003-12-05 8:23 ` Peter Chubb 2003-12-05 17:19 ` Linus Torvalds 0 siblings, 1 reply; 180+ messages in thread From: Peter Chubb @ 2003-12-05 8:23 UTC (permalink / raw) To: Nick Piggin; +Cc: Peter Chubb, Paul Adams, linux-kernel >>>>> "Nick" == Nick Piggin <piggin@cyberone.com.au> writes: Nick> Peter Chubb wrote: Nick> Not quite sure what you mean here. As far as I was aware, SCO Nick> doesn't have any copyrights or patents on any code in the Linux Nick> Kernel so it is not a similar situation. I haven't followed the Nick> SCO thing closely though. As I understand it, SCO is/was claiming that JFS and XFS are derived works of the UNIX source base, because they were developed to match the internal interfaces of UNIX, and with knowledge of the internals of UNIX -- and they hold the copyrights of and are the licensor of UNIX. I may be misunderstanding their points. And I am not a lawyer. -- Dr Peter Chubb http://www.gelato.unsw.edu.au peterc AT gelato.unsw.edu.au The technical we do immediately, the political takes *forever* ^ permalink raw reply [flat|nested] 180+ messages in thread
* Re: Linux GPL and binary module exception clause? 2003-12-05 8:23 ` Peter Chubb @ 2003-12-05 17:19 ` Linus Torvalds 2003-12-05 18:42 ` Jeremy Fitzhardinge 0 siblings, 1 reply; 180+ messages in thread From: Linus Torvalds @ 2003-12-05 17:19 UTC (permalink / raw) To: Peter Chubb; +Cc: Nick Piggin, Paul Adams, linux-kernel On Fri, 5 Dec 2003, Peter Chubb wrote: > > As I understand it, SCO is/was claiming that JFS and XFS are derived > works of the UNIX source base, because they were developed to match > the internal interfaces of UNIX, and with knowledge of the internals > of UNIX -- and they hold the copyrights of and are the licensor of UNIX. Yes, and I'm not claiming anything like that. I claim that a "binary linux kernel module" is a derived work of the kernel, and thus has to come with sources. But if you use those same sources (and _you_ wrote them) they do not contain any Linux code, they are _clearly_ not derived from Linux, and you can license and use your own code any way you want. You just can't make a binary module for Linux, and claim that that module isn't derived from the kernel. Because it generally is - the binary module not only included header files, but more importantly it clearly is _not_ a standalone work any more. So even if you made your own prototypes and tried hard to avoid kernel headers, it would _still_ be connected and dependent on the kernel. And note that I'm very much talking about just the _binary_. Your source code is still very much yours, and you have the right to distribute it separately any which way you want. You wrote it, you own the copyrights to it, and it is an independent work. But when you distribute it in a way that is CLEARLY tied to the GPL'd kernel (and a binary module is just one such clear tie - a "patch" to build it or otherwise tie it to the kernel is also such a tie, even if you distribute it as source under some other license), you're BY DEFINITION not an independent work any more. (But exactly because I'm not a black-and-white person, I reserve the right to make a balanced decision on any particular case. I have several times felt that the module author had a perfectly valid argument for why the "default assumption" of being derived wasn't the case. That's why things like the AFS module were accepted - but not liked - in the first place). This is why SCO's arguments are specious. IBM wrote their code, retained their copyrights to their code AND THEY SEVERED THE CONNECTION TO SCO'S CODE (and, arguably the connections didn't even exist in the first place, since apparently things like JFS were written for OS/2 as well, and the Linux port was based on that one - but that's a separate argument and independent of my point). See the definition of "derivative" in USC 17.1.101: A "derivative work" is a work based upon one or more preexisting works, such as a translation, musical arrangement, dramatization, fictionalization, motion picture version, sound recording, art reproduction, abridgment, condensation, or any other form in which a work may be recast, transformed, or adapted. A work consisting of editorial revisions, annotations, elaborations, or other modifications which, as a whole, represent an original work of authorship, is a "derivative work". And a binary module is an "elaboration" on the kernel. Sorry, but that is how it IS. In short: your code is yours. The code you write is automatically copyrighted by YOU, and as such you have the right to license and use it any way you want (well, modulo _other_ laws, of course - in the US your license can't be racist, for example, but that has nothing to do with copyright laws, and would fall under a totally different legal framework). But when you use that code to create an "elaboration" to the kernel, that makes it a derived work, and you cannot distribute it except as laid out by the GPL. A binary module is one such case, but even just a source patch is _also_ one such case. The lines you added are yours, but when you distribute it as an elaboration, you are bound by the restriction on derivative works. Or you had better have some other strong argument why it isn't. Which has been my point all along. Linus ^ permalink raw reply [flat|nested] 180+ messages in thread
* Re: Linux GPL and binary module exception clause? 2003-12-05 17:19 ` Linus Torvalds @ 2003-12-05 18:42 ` Jeremy Fitzhardinge 0 siblings, 0 replies; 180+ messages in thread From: Jeremy Fitzhardinge @ 2003-12-05 18:42 UTC (permalink / raw) To: Linus Torvalds; +Cc: Peter Chubb, Nick Piggin, Paul Adams, Linux Kernel List On Fri, 2003-12-05 at 09:19, Linus Torvalds wrote: > But when you use that code to create an "elaboration" to the kernel, that > makes it a derived work, and you cannot distribute it except as laid out > by the GPL. A binary module is one such case, but even just a source patch > is _also_ one such case. The lines you added are yours, but when you > distribute it as an elaboration, you are bound by the restriction on > derivative works. > > Or you had better have some other strong argument why it isn't. Which has > been my point all along. I tend to agree, but there is a counter-argument: You can't copyright "facts". A header file contains facts about the kernel within it, particularly once it has been compiled into machine code. In machine code, it is simply things like integers (the sizes and offsets of things, other constants), and encoded entrypoints (however function calls back into the kernel end up looking). A binary containing facts about the kernel is not a derived work of the kernel, even if those facts came from headers in the kernel source. To argue against this, you'd have to demonstrate that the original author of the header file had some creative input into the machine code of the module, on order for the module to be considered a derived work of the header. You could so far as saying that if every header put a chunk of text (say, a piece of poetry) into each .o file which used that header, then there'd be a much stronger case for saying the .o is derived from the header. I've had long complex arguments with legal types over whether function names are creative ("flumulate_my_greeble" is the best function name ever!) or mere facts (the function name is simply a cookie you need to refer to to call a function - it doesn't matter what the name actually is). J ^ permalink raw reply [flat|nested] 180+ messages in thread
* Re: Linux GPL and binary module exception clause? 2003-12-05 4:23 ` Peter Chubb 2003-12-05 4:42 ` Nick Piggin @ 2003-12-05 5:13 ` Valdis.Kletnieks 2003-12-05 5:26 ` Hua Zhong ` (3 more replies) 1 sibling, 4 replies; 180+ messages in thread From: Valdis.Kletnieks @ 2003-12-05 5:13 UTC (permalink / raw) To: Peter Chubb; +Cc: linux-kernel [-- Attachment #1: Type: text/plain, Size: 1230 bytes --] On Fri, 05 Dec 2003 15:23:10 +1100, Peter Chubb said: > As far as I know, interfacing to a published API doesn't infringe > copyright. Well, if the only thing in the .h files was #defines and structure definitions, it would probably be a slam dunk to decide that, yes. Here's the part where people's eyes glaze over: % cd /usr/src/linux-2.6.0-test10-mm1 % find include -name '*.h' | xargs egrep 'static.*inline' | wc -l 6288 That's 6,288 chances for you to #include GPL code and end up with executable derived from it in *your* .o file, not the kernel's. More to the point, look at include/linux/rwsem.h, and ask yourself how to call down_read(), down_write(), up_read(), and up_write() without getting little snippets of GPL all over your .o. And even if your module doesn't get screwed by that, there's a few other equally dangerous inlines waiting to bite you on the posterior. I seem to recall one of the little buggers was particularly nasty, because it simply Would Not Work if not inlined, so compiling with -fno-inline wasn't an option. Unfortunately, I can't remember which it was - it was mentioned on here a while ago when somebody's kernel failed to boot because a gcc 3.mumble had broken inlining..... [-- Attachment #2: Type: application/pgp-signature, Size: 226 bytes --] ^ permalink raw reply [flat|nested] 180+ messages in thread
* RE: Linux GPL and binary module exception clause? 2003-12-05 5:13 ` Valdis.Kletnieks @ 2003-12-05 5:26 ` Hua Zhong 2003-12-05 6:34 ` David Schwartz ` (2 subsequent siblings) 3 siblings, 0 replies; 180+ messages in thread From: Hua Zhong @ 2003-12-05 5:26 UTC (permalink / raw) To: Valdis.Kletnieks, 'Peter Chubb'; +Cc: linux-kernel > Here's the part where people's eyes glaze over: > > % cd /usr/src/linux-2.6.0-test10-mm1 > % find include -name '*.h' | xargs egrep 'static.*inline' | wc -l > 6288 > > That's 6,288 chances for you to #include GPL code and end up > with executable derived from it in *your* .o file, not the kernel's. What's so fundamentally different about inline functions, or, IOW, a finer format of macros? It doesn't matter if the API is inline or not. What matters is if using this API makes your program a derivative work. From this perspective, it's just an interface, no matter how it's implemented. Let's be frank: how many people really try to read the header file when they use these APIs? They don't care if they are inlined or not. To them they are just _APIs_. ^ permalink raw reply [flat|nested] 180+ messages in thread
* RE: Linux GPL and binary module exception clause? 2003-12-05 5:13 ` Valdis.Kletnieks 2003-12-05 5:26 ` Hua Zhong @ 2003-12-05 6:34 ` David Schwartz 2003-12-05 6:58 ` Linus Torvalds ` (2 more replies) 2003-12-05 18:44 ` Kendall Bennett 2003-12-10 13:16 ` Andre Hedrick 3 siblings, 3 replies; 180+ messages in thread From: David Schwartz @ 2003-12-05 6:34 UTC (permalink / raw) To: Valdis.Kletnieks, Peter Chubb; +Cc: linux-kernel > On Fri, 05 Dec 2003 15:23:10 +1100, Peter Chubb said: > > > As far as I know, interfacing to a published API doesn't infringe > > copyright. > > Well, if the only thing in the .h files was #defines and > structure definitions, > it would probably be a slam dunk to decide that, yes. > > Here's the part where people's eyes glaze over: > > % cd /usr/src/linux-2.6.0-test10-mm1 > % find include -name '*.h' | xargs egrep 'static.*inline' | wc -l > 6288 > > That's 6,288 chances for you to #include GPL code and end up > with executable derived from it in *your* .o file, not the kernel's. I'm sorry, but that just doesn't matter. The GPL gives you the unrestricted right to *use* the original work. This implicitly includes the right to peform any step necessary to use the work. (This is why you can 'make a copy' of a book on your retina if you have the right to read it.) Please tell me how you use a kernel header file, other than by including it in a code file, compiling that code file, and executing the result. > More to the point, look at include/linux/rwsem.h, and ask yourself > how to call down_read(), down_write(), up_read(), and up_write() > without getting little snippets of GPL all over your .o. Exactly, it's impossible. So doing so is a necessary step to using the header file. > And even if your module doesn't get screwed by that, there's a > few other equally dangerous inlines waiting to bite you on the posterior. No problem. If you can't avoid them, then you're allowed to do them. > I seem to recall one of the little buggers was particularly > nasty, because it > simply Would Not Work if not inlined, so compiling with > -fno-inline wasn't an > option. Unfortunately, I can't remember which it was - it was > mentioned on > here a while ago when somebody's kernel failed to boot because a > gcc 3.mumble > had broken inlining..... So you're argument is that it's impossible to use the header file without creating a derived work, hence permission to use the header file is permission to create the derived work. This supports my argument that you can create a derived work without agreeing to the GPL. Thanks. DS ^ permalink raw reply [flat|nested] 180+ messages in thread
* RE: Linux GPL and binary module exception clause? 2003-12-05 6:34 ` David Schwartz @ 2003-12-05 6:58 ` Linus Torvalds 2003-12-05 11:16 ` David Schwartz 2003-12-05 18:44 ` Kendall Bennett 2003-12-05 15:50 ` Valdis.Kletnieks 2003-12-05 18:44 ` Kendall Bennett 2 siblings, 2 replies; 180+ messages in thread From: Linus Torvalds @ 2003-12-05 6:58 UTC (permalink / raw) To: David Schwartz; +Cc: Valdis.Kletnieks, Peter Chubb, linux-kernel On Thu, 4 Dec 2003, David Schwartz wrote: > > The GPL gives you the unrestricted right to *use* the original work. > This implicitly includes the right to peform any step necessary to use > the work. No it doesn't. Your logic is fundamentally flawed, and/or your reading skills are deficient. The GPL expressly states that the license does not restrict the act of "running the Program" in any way, and yes, in that sense you may "use" the program in whatever way you want. But that "use" is clearly limited to running the resultant program. It very much does NOT say that you can "use the header files in any way you want, including building non-GPL'd programs with them". In fact, it very much says the reverse. If you use the source code to build a new program, the GPL _explicitly_ says that that new program has to be GPL'd too. > Please tell me how you use a kernel header file, other than by including > it in a code file, compiling that code file, and executing the result. You are a weasel, and you are trying to make the world look the way you want it to, rather than the way it _is_. You use the word "use" in a sense that is not compatible with the GPL. You claim that the GPL says that you can "use the program any way you want", but that is simply not accurate or even _close_ to accurate. Go back and read the GPL again. It says: "The act of running the Program is not restricted" and it very much does NOT say "The act of using parts of the source code of the Program is not restricted" In short: you do _NOT_ have the right to use a kernel header file (or any other part of the kernel sources), unless that use results in a GPL'd program. What you _do_ have the right is to _run_ the kernel any way you please (this is the part you would like to redefine as "use the source code", but that definition simply isn't allowed by the license, however much you protest to the contrary). So you can run the kernel and create non-GPL'd programs while running it to your hearts content. You can use it to control a nuclear submarine, and that's totally outside the scope of the license (but if you do, please note that the license does not imply any kind of warranty or similar). BUT YOU CAN NOT USE THE KERNEL HEADER FILES TO CREATE NON-GPL'D BINARIES. Comprende? Linus ^ permalink raw reply [flat|nested] 180+ messages in thread
* RE: Linux GPL and binary module exception clause? 2003-12-05 6:58 ` Linus Torvalds @ 2003-12-05 11:16 ` David Schwartz 2003-12-05 13:34 ` Anders Karlsson ` (2 more replies) 2003-12-05 18:44 ` Kendall Bennett 1 sibling, 3 replies; 180+ messages in thread From: David Schwartz @ 2003-12-05 11:16 UTC (permalink / raw) To: Linus Torvalds; +Cc: Valdis.Kletnieks, Peter Chubb, linux-kernel > On Thu, 4 Dec 2003, David Schwartz wrote: > > The GPL gives you the unrestricted right to *use* the original work. > > This implicitly includes the right to peform any step necessary to use > > the work. > No it doesn't. > > Your logic is fundamentally flawed, and/or your reading skills are > deficient. I stand by my conclusions. > The GPL expressly states that the license does not restrict the act of > "running the Program" in any way, and yes, in that sense you may "use" the > program in whatever way you want. Please tell me how you use the Linux kernel source code. Please tell me how you run the Linux kernel source code without creating a derived work. > But that "use" is clearly limited to running the resultant program. It > very much does NOT say that you can "use the header files in any way you > want, including building non-GPL'd programs with them". Huh? What "resultant program"? Are you talking about an executable that's a derived work of the Linux kernel source code? Modules are derived works of the Linux kernel source code, not the kernel executable. So the license that would be relevent would be a license that restricts how you can use the source code or derived works of the source code. License to run a program, when you have source code, is license to compile that source code. For example, 2b says: b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License. You don't seriously think that's talking about derived works that are derived from *executables*, do you? > In fact, it very much says the reverse. If you use the source code to > build a new program, the GPL _explicitly_ says that that new program has > to be GPL'd too. I download the Linux kernel sources from kernel.org. Please tell me what I can do with them without agreeing to the GPL. Is it your position that I cannot compile them without agreeing to the GPL? If so, how can running the program be unrestricted? How can you run the linux kernel soruce code without compiling it? > > Please tell me how you use a kernel header file, other than by including > > it in a code file, compiling that code file, and executing the result. > > You are a weasel, and you are trying to make the world look the way you > want it to, rather than the way it _is_. That is a serious example of projection. > You use the word "use" in a sense that is not compatible with the GPL. You > claim that the GPL says that you can "use the program any way you want", > but that is simply not accurate or even _close_ to accurate. Go back and > read the GPL again. It says: > > "The act of running the Program is not restricted" > > and it very much does NOT say > > "The act of using parts of the source code of the Program is not > restricted" You run a piece of source code by compiling it. If a header file is protected by the GPL, permission to "run" it means permission to include it in files you compile. The GPL says: 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, The work that was placed under the GPL is the Linux kernel source. The "program" is the source code. Please, tell me how you "run" the Linux kernel source code other than by compiling it to form a derived work. Perhaps you misunderstand the GPL to mean that a 'program' must be an executable? Not only does section zero clearly refute that, but if it were true, it would mean that a module is not a derived work from a GPL'd work! It is a program that's placed under the GPL, and a module is not a derived work from any other executable. > In short: you do _NOT_ have the right to use a kernel header file (or any > other part of the kernel sources), unless that use results in a GPL'd > program. The phrase "results in a GPL'd program" is one that I cannot understand. I have no idea what you mean by it. You have the right to "run" the header file, the GPL gives it to you. The way you "run" a header file is by first compiling a source code that includes it into an executable. > What you _do_ have the right is to _run_ the kernel any way you please > (this is the part you would like to redefine as "use the source code", > but that definition simply isn't allowed by the license, however much you > protest to the contrary). How can I run the kernel without compiling it? And how can I compile it without creating a derived work? The GPL says: 5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it. Of course, the second sentence is utterly false. Fair use and necessary step provisions do just that. > So you can run the kernel and create non-GPL'd programs while running it > to your hearts content. You can use it to control a nuclear submarine, and > that's totally outside the scope of the license (but if you do, please > note that the license does not imply any kind of warranty or similar). > > BUT YOU CAN NOT USE THE KERNEL HEADER FILES TO CREATE NON-GPL'D BINARIES. > > Comprende? I have no idea what you mean by a "NON-GPL'D BINARY". *Any* binary you create from a kernel header file is, at least to some extent, a derived work of that header file. However, the question for whether it would be covered by the GPL is whether you exercised a privilege in creating that work that you were only granted by the GPL. Again, what I'm trying to say is that the term "program" in the GPL means whatever it is that's placed under the GPL (which can be an executable and/or source code). Of course, placing an executable under the GPL effectively places its source code under the GPL (as soon as you distribute it to someone else, as you are required to do, who is limited only by the GPL). In the case of the Linux kernel, the source code was initially placed under the GPL. Once source code is placed under the GPL, your right to "run the program" means a right to compile the source code. In the case of header files, this means the right to include the header file in code files and thereby produce and use derived works. (Whether or not you can distribute those derived works is, of course, a whole different argument.) So my point is that the GPL isn't really even relevant here. You have all the rights you need without agreeing to it. "Activities other than copying, distribution and modification are not covered by this License; they are outside its scope." Including a header file in your own class file is not copying, distribution, or modification of that header file. It is use, mere use. DS ^ permalink raw reply [flat|nested] 180+ messages in thread
* RE: Linux GPL and binary module exception clause? 2003-12-05 11:16 ` David Schwartz @ 2003-12-05 13:34 ` Anders Karlsson 2003-12-05 14:03 ` Ryan Anderson 2003-12-05 14:59 ` Jesse Pollard 2 siblings, 0 replies; 180+ messages in thread From: Anders Karlsson @ 2003-12-05 13:34 UTC (permalink / raw) To: LKML [-- Attachment #1: Type: text/plain, Size: 651 bytes --] Afternoon/Evening/Whatever, However interesting a debate about the legal status of the GPL is, its applications to various works, including but not limited to the Linux Kernel, perhaps a forum like 'linux-legal' could be created to remove such discussions from the more technical list that linux-kernel is. I am surprised such a discussion flared up in the LKML as I normally associate such discussions with the lower scoring threads on SlashDot (no offence intended to SlashDot itself). Just my $0.45... (inflation and currency devaluation taken into account) -- Anders Karlsson <anders@trudheim.com> Trudheim Technology Limited [-- Attachment #2: This is a digitally signed message part --] [-- Type: application/pgp-signature, Size: 189 bytes --] ^ permalink raw reply [flat|nested] 180+ messages in thread
* Re: Linux GPL and binary module exception clause? 2003-12-05 11:16 ` David Schwartz 2003-12-05 13:34 ` Anders Karlsson @ 2003-12-05 14:03 ` Ryan Anderson 2003-12-05 16:38 ` Shawn Willden ` (2 more replies) 2003-12-05 14:59 ` Jesse Pollard 2 siblings, 3 replies; 180+ messages in thread From: Ryan Anderson @ 2003-12-05 14:03 UTC (permalink / raw) To: linux-kernel On Fri, Dec 05, 2003 at 03:16:27AM -0800, David Schwartz wrote: > > The GPL expressly states that the license does not restrict the act of > > "running the Program" in any way, and yes, in that sense you may "use" the > > program in whatever way you want. > > Please tell me how you use the Linux kernel source code. Please tell me how > you run the Linux kernel source code without creating a derived work. You "use" the Linux source code by feeding it to a compiler. Or maybe as a hideous fortune file. The output of that compiler is *clearly* a derived work, and thus bound by the GPL. So far, I don't see any reason why a module that uses an inline function provided via a kernel header could be distributed in binary format without being a "derived work" and thus bound by the GPL. [snipping a bit] > > In fact, it very much says the reverse. If you use the source code to > > build a new program, the GPL _explicitly_ says that that new program has > > to be GPL'd too. > > I download the Linux kernel sources from kernel.org. Please tell me what I > can do with them without agreeing to the GPL. Is it your position that I > cannot compile them without agreeing to the GPL? If so, how can running the > program be unrestricted? How can you run the linux kernel soruce code > without compiling it? Compile it. Run the resulting executable (ignoring the case law that says copying into ram is a copy under copyright law) Read the source code. Write a module using the source code (i.e, via headers) If you want to distribute that module, you must, of course, follow the GPL. > You run a piece of source code by compiling it. If a header file is > protected by the GPL, permission to "run" it means permission to include it > in files you compile. You don't run source code. Not even in Perl programs (though there, at least, the distinction is more complicated.) You compile source code. The resultant object code is then run. > > In short: you do _NOT_ have the right to use a kernel header file (or any > > other part of the kernel sources), unless that use results in a GPL'd > > program. > > The phrase "results in a GPL'd program" is one that I cannot understand. I > have no idea what you mean by it. You have the right to "run" the header > file, the GPL gives it to you. The way you "run" a header file is by first > compiling a source code that includes it into an executable. Repeat after me: The GPL is a copyright license. It covers distribution, not use. Distribution of any part of the "work" is covered. Inline functions in headers are clearly part of the "work". If you have a module that uses an inline function, there are two options (note: not two legal options): Distribute source Distribute a binary If you distribute a binary and refuse to provide the source under the GPL, ask yourself this: What gave you the right to distribute the compiled form of the inline functions you use? Note: My use of "inline functions" as a bludgeoning device should not be interpreted as an acknowledgement that the rest of the header files constitute a published "API". -- Ryan Anderson sometimes Pug Majere ^ permalink raw reply [flat|nested] 180+ messages in thread
* Re: Linux GPL and binary module exception clause? 2003-12-05 14:03 ` Ryan Anderson @ 2003-12-05 16:38 ` Shawn Willden 2003-12-05 16:54 ` Arjan van de Ven 2003-12-05 17:34 ` Linus Torvalds 2003-12-05 17:35 ` Hua Zhong 2003-12-05 19:55 ` David Schwartz 2 siblings, 2 replies; 180+ messages in thread From: Shawn Willden @ 2003-12-05 16:38 UTC (permalink / raw) To: linux-kernel; +Cc: Ryan Anderson -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On Friday 05 December 2003 07:03 am, Ryan Anderson wrote: > Compile it. > Run the resulting executable (ignoring the case law that says copying > into ram is a copy under copyright law) That case law can be safely ignored in the US, since it was superseded by real law, passed in 1980. Per section 117 of Title 17 of the US Code: - ---------------- (a) Making of Additional Copy or Adaptation by Owner of Copy. — Notwithstanding the provisions of section 106, it is not an infringement for the owner of a copy of a computer program to make or authorize the making of another copy or adaptation of that computer program provided: (1) that such a new copy or adaptation is created as an essential step in the utilization of the computer program in conjunction with a machine and that it is used in no other manner, or - ---------------- So copies to disk and RAM that are "an essential step in the utilization of the computer program" are non-infringing. Shawn. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.3 (GNU/Linux) iD8DBQE/0LRwp1Ep1JptinARAjrbAJ0RAa2axjrFABHgG1loqmxa6KTn0ACcCz1s Q+DC9COjk+uv+FqdZ8kTg+g= =N1sB -----END PGP SIGNATURE----- ^ permalink raw reply [flat|nested] 180+ messages in thread
* Re: Linux GPL and binary module exception clause? 2003-12-05 16:38 ` Shawn Willden @ 2003-12-05 16:54 ` Arjan van de Ven 2003-12-05 17:03 ` Shawn Willden 2003-12-05 22:36 ` Derek Fawcus 2003-12-05 17:34 ` Linus Torvalds 1 sibling, 2 replies; 180+ messages in thread From: Arjan van de Ven @ 2003-12-05 16:54 UTC (permalink / raw) To: Shawn Willden; +Cc: linux-kernel, Ryan Anderson > So copies to disk and RAM that are "an essential step in the utilization of > the computer program" are non-infringing. probably true for the US, most definitely not true in europe... it's explicit in law here that copying from disk-to-ram and ram-to-cpu is distributing in the "need a license" sense... ^ permalink raw reply [flat|nested] 180+ messages in thread
* Re: Linux GPL and binary module exception clause? 2003-12-05 16:54 ` Arjan van de Ven @ 2003-12-05 17:03 ` Shawn Willden 2003-12-05 22:36 ` Derek Fawcus 1 sibling, 0 replies; 180+ messages in thread From: Shawn Willden @ 2003-12-05 17:03 UTC (permalink / raw) To: Arjan van de Ven; +Cc: linux-kernel, Ryan Anderson -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On Friday 05 December 2003 09:54 am, Arjan van de Ven wrote: > probably true for the US, most definitely not true in europe... it's > explicit in law here that copying from disk-to-ram and ram-to-cpu is > distributing in the "need a license" sense... That's very interesting. Thanks. Shawn. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.3 (GNU/Linux) iD8DBQE/0LpTp1Ep1JptinARAnaWAJ4493In8CAp0p+yMlCAb2pmyXYbbQCeN0Cy KUV+3WM27hGEHFPTTYHN/uI= =x1pq -----END PGP SIGNATURE----- ^ permalink raw reply [flat|nested] 180+ messages in thread
* Re: Linux GPL and binary module exception clause? 2003-12-05 16:54 ` Arjan van de Ven 2003-12-05 17:03 ` Shawn Willden @ 2003-12-05 22:36 ` Derek Fawcus 1 sibling, 0 replies; 180+ messages in thread From: Derek Fawcus @ 2003-12-05 22:36 UTC (permalink / raw) To: Arjan van de Ven; +Cc: Shawn Willden, linux-kernel, Ryan Anderson On Fri, Dec 05, 2003 at 05:54:50PM +0100, Arjan van de Ven wrote: > > > So copies to disk and RAM that are "an essential step in the utilization of > > the computer program" are non-infringing. > > probably true for the US, most definitely not true in europe... it's > explicit in law here that copying from disk-to-ram and ram-to-cpu is > distributing in the "need a license" sense... Wrong (assuming you want to include the UK as part of Europe :-) UK Copyright Designs and Patent Act, 1988 (as ammended) 50C.--(1) It is not an infringement of copyright for a lawful user of a copy of a computer program to copy or adapt it, provided that the copying or adapting- (a) is necessary for his lawful use; and (b) is not prohibited under any term or condition of an agreement regulating the circumstances in which his use is lawful (2) It may, in particular, be necessary for the lawful use of a computer program to copy it or adapt it for the purpose of correcting errors in it. ... and the above is from a copyright regime which is in general quite draconian. OK - So now you get to argue about EULAs, but that's a seperate issue. DF ^ permalink raw reply [flat|nested] 180+ messages in thread
* Re: Linux GPL and binary module exception clause? 2003-12-05 16:38 ` Shawn Willden 2003-12-05 16:54 ` Arjan van de Ven @ 2003-12-05 17:34 ` Linus Torvalds 1 sibling, 0 replies; 180+ messages in thread From: Linus Torvalds @ 2003-12-05 17:34 UTC (permalink / raw) To: Shawn Willden; +Cc: linux-kernel, Ryan Anderson On Fri, 5 Dec 2003, Shawn Willden wrote: > > So copies to disk and RAM that are "an essential step in the utilization of > the computer program" are non-infringing. Absolutely. But you don't have the right to distribute them. Put another way: nVidia by _law_ has the right to do whatever essential step they need to be able to run Linux on their machines. That's what the exception to copyright law requires for any piece of software. And in fact you should be damn happy for that exception, because that exception is also what makes things like emulators legal - software houses can't claim that you can't use an emulator to run their programs (well, they may _try_, but I don't know if it ever gets to court). But what they do NOT have the right to do is to create derivative works of the kernel, and distribute them to others. That act of distribution is not essential _for_them_ to utilize the kernel program (while the act of _receiving_ the module and using it may be - so the recipient may well be in the clear). So in order for nVidia to be able to legally distribute a binary-only kernel module, they have to be able to feel damn sure that they can explain (in a court of law, if necessary) that the module isn't a derived work. Enough to convince a judge. That's really all that matters. Our blathering matters not at all. Now, personally, I have my own judgment on what "derivative works" are, and I use that judgement to decide if I'd complain or take the matter further. And so _I_ personally think some binary modules are ok, and you've heard my arguments as to why. That means that _I_ won't sue over such uses, since in my opinion there is no copyright infringement IN THOSE CASES due to me not considering them derivative. My opinions are fairly public, and the stuff I say in public actually does have legal weight in that it limits what I can do (if I say in public that I think something is ok, I have a much harder time then making the argument that it _isn't_ ok in front of a judge - this is what the "estoppel" thing is all about). But the thing is, my public opinions don't bind anybody else. So if Alan Cox, or _any_ other kernel copyright holder, disagrees with me (and trust me, people do), they have the right to complain on their own. Their case would be weakened by my stance (simply because a defendant could point to my opinions and the judge might be swayed by that). And quite frankly, my largest reason for not complaining loudly has often been that I'm lazy, and in several cases of sme people using GPL'd work improperly I have been ready to join a lawsuit that somebody else initiates. So far people have tended to back down. Linus ^ permalink raw reply [flat|nested] 180+ messages in thread
* RE: Linux GPL and binary module exception clause? 2003-12-05 14:03 ` Ryan Anderson 2003-12-05 16:38 ` Shawn Willden @ 2003-12-05 17:35 ` Hua Zhong 2003-12-05 18:12 ` Filip Van Raemdonck 2003-12-05 19:55 ` David Schwartz 2 siblings, 1 reply; 180+ messages in thread From: Hua Zhong @ 2003-12-05 17:35 UTC (permalink / raw) To: 'Ryan Anderson', linux-kernel > So far, I don't see any reason why a module that uses an > inline function provided via a kernel header could be distributed in binary > format without being a "derived work" and thus bound by the GPL. Yeah, the same reason that XFS, NUMA, etc are derived works from Unix since they must include Unix header files. What, maybe there are no inline functions there? No problem. SCO could make stuff like spinlocks inline. And suddenly you are derived works now. I just don't see how this actually works as you said. ^ permalink raw reply [flat|nested] 180+ messages in thread
* Re: Linux GPL and binary module exception clause? 2003-12-05 17:35 ` Hua Zhong @ 2003-12-05 18:12 ` Filip Van Raemdonck 2003-12-05 18:37 ` Hua Zhong 0 siblings, 1 reply; 180+ messages in thread From: Filip Van Raemdonck @ 2003-12-05 18:12 UTC (permalink / raw) To: linux-kernel On Fri, Dec 05, 2003 at 09:35:52AM -0800, Hua Zhong wrote: > > So far, I don't see any reason why a module that uses an > > inline function provided via a kernel header could be distributed in > > binary > > format without being a "derived work" and thus bound by the GPL. > > Yeah, the same reason that XFS, NUMA, etc are derived works from Unix > since they must include Unix header files. Nope, they #include Linux header files - at least in their Linux version. Even if one version does #include Unix headers, that does not mean copyright to the rest of the code automatically belongs to the Unix copyright holder. And we're not even talking about source code; we're talking about _binary modules_. Which do include object code which comes from GPLed (inline) code; and are thus derived works. Regards, Filip -- We have joy, we have fun, we have Linux on our Sun. ^ permalink raw reply [flat|nested] 180+ messages in thread
* RE: Linux GPL and binary module exception clause? 2003-12-05 18:12 ` Filip Van Raemdonck @ 2003-12-05 18:37 ` Hua Zhong 2003-12-05 19:56 ` 'Filip Van Raemdonck' 0 siblings, 1 reply; 180+ messages in thread From: Hua Zhong @ 2003-12-05 18:37 UTC (permalink / raw) To: 'Filip Van Raemdonck', linux-kernel > Nope, they #include Linux header files - at least in their > Linux version. So what? By the same argument they are derived work of Linux too. This is exactly the flaw of "once you include my code, you are derived work of mine". > Even if one version does #include Unix headers, that > does not mean copyright to the rest of the code automatically belongs > to the Unix copyright holder. This is not a matter of copyright. This is a matter of "being derived or not". > And we're not even talking about source code; we're talking about > _binary modules_. Which do include object code which comes from GPLed > (inline) code; and are thus derived works. I disagree. It all depends on how significant the inlined code is compared to the whole work of the module. For inline functions, I don't see why using them would be a significant part - by definition "inline" means "small/trivial", otherwise you would not have inlined them. Otherwise, since SCO found a few lines of code copied from Unix in Linux source, are we saying the whole million lines of code is derived from Unix? > Regards, > > Filip ^ permalink raw reply [flat|nested] 180+ messages in thread
* Re: Linux GPL and binary module exception clause? 2003-12-05 18:37 ` Hua Zhong @ 2003-12-05 19:56 ` 'Filip Van Raemdonck' 2003-12-05 20:26 ` Hua Zhong 0 siblings, 1 reply; 180+ messages in thread From: 'Filip Van Raemdonck' @ 2003-12-05 19:56 UTC (permalink / raw) To: linux-kernel On Fri, Dec 05, 2003 at 10:37:51AM -0800, Hua Zhong wrote: > > Nope, they #include Linux header files - at least in their > > Linux version. > > So what? By the same argument they are derived work of Linux too. > > This is exactly the flaw of "once you include my code, you are derived > work of mine". I'll rephrase what I wrote and what people have been saying all the time: "Once you build a binary module, it contains our (inlined) code and thus the binary module is a derived work." > > And we're not even talking about source code; we're talking about > > _binary modules_. Which do include object code which comes from GPLed > > (inline) code; and are thus derived works. > > I disagree. > > It all depends on how significant the inlined code is compared to the > whole work of the module. For inline functions, I don't see why using > them would be a significant part - by definition "inline" means > "small/trivial", otherwise you would not have inlined them. > > Otherwise, since SCO found a few lines of code copied from Unix in Linux > source, are we saying the whole million lines of code is derived from > Unix? We have yet to see if they actually found code. And no; we're not saying all code is a derived work. We're saying that if there is a few lines of copied code, then the compiled kernel which contains object code coming from these lines is a derived work. If. Regards, Filip -- <rcw> debian comes in behind redhat, slackware, suse, and mandrake when searching google for 'linux distribution' <asuffield> try "best linux distribution" ^ permalink raw reply [flat|nested] 180+ messages in thread
* RE: Linux GPL and binary module exception clause? 2003-12-05 19:56 ` 'Filip Van Raemdonck' @ 2003-12-05 20:26 ` Hua Zhong 2003-12-06 0:08 ` Filip Van Raemdonck 0 siblings, 1 reply; 180+ messages in thread From: Hua Zhong @ 2003-12-05 20:26 UTC (permalink / raw) To: 'Filip Van Raemdonck', linux-kernel > I'll rephrase what I wrote and what people have been saying > all the time: > > "Once you build a binary module, it contains our (inlined) > code and thus the binary module is a derived work." Understood and that's what we disagree. By the way, what's so different between code and data, anyway? Are inline functions more important than macros and defs? > > Otherwise, since SCO found a few lines of code copied from > Unix in Linux > > source, are we saying the whole million lines of code is > derived from > > Unix? > > We have yet to see if they actually found code. We have. Some malloc function as I remember, and has been removed from current Linux sources. > And no; we're not saying all code is a derived work. We're > saying that if there is a few lines of copied code, then the > compiled kernel which contains object code coming from > these lines is a derived work. If. You are trying to hide the fact that the kernel "sources" actually contained copyrighted code. Binary modules do not _contain_ copyrighted (GPL'ed) code, they merely _include_ it (by #inlucde), but the _compiled_ binary modules contain compiled copyrighted (GPL'ed) code. So you are saying, binary modules contain compiled GPL'ed code, so it's derived work of GPL'ed code. But kernel sources contained copyrighted (non-GPL'ed) code, but the sources were not derived work of that code, only the compiled form was? > Regards, > > Filip ^ permalink raw reply [flat|nested] 180+ messages in thread
* Re: Linux GPL and binary module exception clause? 2003-12-05 20:26 ` Hua Zhong @ 2003-12-06 0:08 ` Filip Van Raemdonck 0 siblings, 0 replies; 180+ messages in thread From: Filip Van Raemdonck @ 2003-12-06 0:08 UTC (permalink / raw) To: linux-kernel On Fri, Dec 05, 2003 at 12:26:39PM -0800, Hua Zhong wrote: > > > > "Once you build a binary module, it contains our (inlined) > > code and thus the binary module is a derived work." > > Understood and that's what we disagree. > > By the way, what's so different between code and data, anyway? For one, as long as it's code, you are clearly the only copyright holder and you can more or less do what you want (including distributing).[1] Once compiled it includes object code to which others have copyright, so you must take care not to violate their rights. > > > Otherwise, since SCO found a few lines of code copied from > > Unix in Linux > > > source, are we saying the whole million lines of code is > > derived from > > > Unix? > > > > We have yet to see if they actually found code. > > We have. Some malloc function as I remember, and has been removed from > current Linux sources. Which was OK to include as it was released previously under a BSD license. But, to answer the "million lines of code" question: most of that code was written before that inclusion. And may not even have had anything to do with the included lines, afterward. So, no, that does not make all of it (in code form) a derived work. There may or may not have been developed code related to these lines afterwards, for which one might argue that that part of the code is a derived work. It mostly depends on how badly the later code needs the included lines - but not much I guess since these lines are not even there anymore. > > And no; we're not saying all code is a derived work. We're > > saying that if there is a few lines of copied code, then the > > compiled kernel which contains object code coming from > > these lines is a derived work. If. > > Binary modules do not _contain_ copyrighted (GPL'ed) code, they merely > _include_ it (by #inlucde), but the _compiled_ binary modules contain > compiled copyrighted (GPL'ed) code. > > So you are saying, binary modules contain compiled GPL'ed code, so it's > derived work of GPL'ed code. But kernel sources contained copyrighted > (non-GPL'ed) code, but the sources were not derived work of that code, > only the compiled form was? Binary modules are by their very nature already compiled, so they already include the GPLed object code. And the aggregate kernel sources with the ancient unix code included is indeed a derived work. But the kernel source, apart from that ancient unix code and which does not need it, is not. Neither is the source code for binary modules, as long as it doesn't actually contain kernel code itself. But once compiled, the rules of the game are set. Regards, Filip [1] Depending on how the code looks. For example, if it needs to patch kernel source code it is modifying GPLed code, and in that case it is a derived work even in source code form. -- Hardware, n.: The parts of a computer system that can be kicked. ^ permalink raw reply [flat|nested] 180+ messages in thread
* RE: Linux GPL and binary module exception clause? 2003-12-05 14:03 ` Ryan Anderson 2003-12-05 16:38 ` Shawn Willden 2003-12-05 17:35 ` Hua Zhong @ 2003-12-05 19:55 ` David Schwartz 2003-12-05 20:14 ` Linus Torvalds 2003-12-08 15:38 ` Linux GPL and binary module exception clause? Jesse Pollard 2 siblings, 2 replies; 180+ messages in thread From: David Schwartz @ 2003-12-05 19:55 UTC (permalink / raw) To: Ryan Anderson, linux-kernel > On Fri, Dec 05, 2003 at 03:16:27AM -0800, David Schwartz wrote: > > > The GPL expressly states that the license does not restrict the act of > > > "running the Program" in any way, and yes, in that sense you > > > may "use" the > > > program in whatever way you want. > > > > Please tell me how you use the Linux kernel source code. > > Please tell me how > > you run the Linux kernel source code without creating a derived work. > You "use" the Linux source code by feeding it to a compiler. Or maybe > as a hideous fortune file. The output of that compiler is *clearly* a > derived work, and thus bound by the GPL. So, if you are permitted to "use" the Linux source code, you are permitted to create derived works of it. Do we agree on that one simple issue? > So far, I don't see any reason why a module that uses an inline function > provided via a kernel header could be distributed in binary > format without > being a "derived work" and thus bound by the GPL. Because the GPL can only bind a derived work if you had to agree to the GPL to *make* that derived work. The law (at least in the United States) does not give a copyright holder a separate right to restrict the distribution of derived works, only to restrict their creation. > > I download the Linux kernel sources from kernel.org. Please > > tell me what I > > can do with them without agreeing to the GPL. Is it your position that I > > cannot compile them without agreeing to the GPL? If so, how can > > running the > > program be unrestricted? How can you run the linux kernel soruce code > > without compiling it? > Compile it. The only way to compile a header file is to include it into a C file and use that C file to make a derived work from that header file. > Run the resulting executable (ignoring the case law that says copying > into ram is a copy under copyright law) > Read the source code. > Write a module using the source code (i.e, via headers) > > If you want to distribute that module, you must, of course, follow the > GPL. Only if you needed rights granted under the GPL in order to create it. I think you're missing my point. My point is that *if* you can create the derived work without having to agree to the GPL, then you can distribute the derived work without having to agree to the GPL. > > You run a piece of source code by compiling it. If a header file is > > protected by the GPL, permission to "run" it means permission > > to include it > > in files you compile. > You don't run source code. Not even in Perl programs (though there, at > least, the distinction is more complicated.) > > You compile source code. The resultant object code is then run. The way you "run" a program, if that program is in C, is you compile it and then execute it. If you have the right to "run" a header file (because it was placed under the GPL), then you have the right to include it in C files and compile them. > > The phrase "results in a GPL'd program" is one that I > > cannot understand. I > > have no idea what you mean by it. You have the right to "run" the header > > file, the GPL gives it to you. The way you "run" a header file > > is by first > > compiling a source code that includes it into an executable. > Repeat after me: The GPL is a copyright license. It covers > distribution, not use. Right. > Distribution of any part of the "work" is > covered. Inline functions in headers are clearly part of the "work". I'd rather not address two complex issues at once. If we agree that you can include a header file that is (or is part of) a GPL'd work without to accept the GPL's terms, we can then go on to address whether you need to accept the GPL to distribute it. Without the first question understood, it's impossible to address the second. > If you have a module that uses an inline function, there are two > options (note: not two legal options): > Distribute source > Distribute a binary > > If you distribute a binary and refuse to provide the source under > the GPL, > ask yourself this: What gave you the right to distribute the > compiled form of the inline functions you use? The facts that: Distributing a derived work is not a separate right. I had the unrestricted right to create the derived work. The recipient of the derived work is has unrestricted rights to use the original work. The creation of the derived work is a necessary step in using the original work. > Note: My use of "inline functions" as a bludgeoning device should not be > interpreted as an acknowledgement that the rest of the header files > constitute a published "API". Except perhaps under the new DMCA, you can't make it necessary for a person to violate your copyright in order to use something and then argue that they've violated your copyright by using that something. This is precisely equivalent to charging someone who purchased a book with making a copy without authorization because they bounced a light off the book and produced a copy on their retina. If you have unrestricted right to use a header file, you have unrestricted right to create derived works consisting of C files that include that header file and the resulting object code. The question of whether you can distribute that derived work is a non-issue, there is no right recognized under copyright (at least in the United States) to restrict the distribution of derived works, only their creation. This will be my final post on this issue. I think I've made my position as clear as I'm capable of making it. IANAL and have not discussed this with an attorney. If I had to argue against the GPL in court, this is the line of argumentation I'd take. Specifically, that you are not bound by the GPL because everything you've done is use, fair use, and necessary steps for use, so the GPL's distribution prohibitions don't apply. Linus wrote: >Put another way: nVidia by _law_ has the right to do whatever essential >step they need to be able to run Linux on their machines. That's what the >exception to copyright law requires for any piece of software. So they need not agree to the GPL to *create* the derived work. >But what they do NOT have the right to do is to create derivative works of >the kernel, and distribute them to others. Yes, they do. Since they have the right to create the derived work and have not agreed to the GPL, the only thing that could restrict their distribution is the law, not the GPL. Please show me the law that permits a copyright holder to restrict the distribution of derived works. >That act of distribution is not >essential _for_them_ to utilize the kernel program (while the act of >_receiving_ the module and using it may be - so the recipient may well be >in the clear). While he is correct that the distribution itself is not essential for use, the creation of the derivative work is. However, once a derivative work is created, no special rights to the *original* work are required to distribute it to licensees of that original work. DS ^ permalink raw reply [flat|nested] 180+ messages in thread
* RE: Linux GPL and binary module exception clause? 2003-12-05 19:55 ` David Schwartz @ 2003-12-05 20:14 ` Linus Torvalds 2003-12-05 21:16 ` Shawn Willden 2003-12-09 0:17 ` Kernel 2.6-test10 on an Opteron Ananda Bhattacharya 2003-12-08 15:38 ` Linux GPL and binary module exception clause? Jesse Pollard 1 sibling, 2 replies; 180+ messages in thread From: Linus Torvalds @ 2003-12-05 20:14 UTC (permalink / raw) To: David Schwartz; +Cc: Ryan Anderson, linux-kernel On Fri, 5 Dec 2003, David Schwartz wrote: > > >But what they do NOT have the right to do is to create derivative works of > >the kernel, and distribute them to others. > > Yes, they do. Since they have the right to create the derived work and have > not agreed to the GPL, the only thing that could restrict their distribution > is the law, not the GPL. Please show me the law that permits a copyright > holder to restrict the distribution of derived works. I'm not going to argue with you any more. I am not a lawyer, and clearly you aren't one either (or you're a really really bad one). The "show me the law" is USC 17. It's called "US Copyright Law". As a copyright holder in the Linux kernel, I _do_ have the right to restrict the distribution of derived works. That's what copyright law is all about. Your arguments are just vacuous and stupid. I _very_ much have the right to restrict the distribution of derived works, and that is what a license is all about. Without a license to distribute, you have NO RIGHT AT ALL to distribute a derived work. What's so hard to understand about that? And the only rights you have are rights granted to you in some license. And that license in this case is the GPL. Which does NOT grant you rights to redistribute derived works without the source being available under the same license. End of discussion. You can whine all you like, but whining has never changed reality. Linus ^ permalink raw reply [flat|nested] 180+ messages in thread
* Re: Linux GPL and binary module exception clause? 2003-12-05 20:14 ` Linus Torvalds @ 2003-12-05 21:16 ` Shawn Willden 2003-12-09 0:17 ` Kernel 2.6-test10 on an Opteron Ananda Bhattacharya 1 sibling, 0 replies; 180+ messages in thread From: Shawn Willden @ 2003-12-05 21:16 UTC (permalink / raw) To: David Schwartz; +Cc: Linus Torvalds, Ryan Anderson, linux-kernel -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On Friday 05 December 2003 01:14 pm, Linus Torvalds wrote: > On Fri, 5 Dec 2003, David Schwartz wrote: > > Please show me the law > > that permits a copyright holder to restrict the distribution of > > derived works. > > The "show me the law" is USC 17. It's called "US Copyright Law". As a > copyright holder in the Linux kernel, I _do_ have the right to restrict > the distribution of derived works. That's what copyright law is all > about. Actually, based on my understanding of Title 17 and the GPL (both of which I just re-read), David *almost* has a point. 1. As David implies, Title 17 does not grant the copyright holder the right to restrict distribution of derived works. Section 106[1] describes the exclusive rights granted to copyright holders, and it only says that they have exclusive rights to *prepare* derived works. So you cannot create a derived work without permission from the copyright holder, but once you have obtained permission to create it, you can distribute the result. Maybe. 2. The copyright holder can grant permission to create derived works to whomever (s)he likes, under whatever terms (s)he likes (modulo other laws). So, the copyright holder can attach strings to the permission. For example, the copyright holder could specify that you are allowed to create a derived work, but only on the condition that you do not distribute it. 3. The GPL understands points 1 and 2, which is why section 2 of the GPL states: You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: It then lists three conditions, the most important of which is the second, which states that if the derived work is distributed, it must be distributed under the terms of the GPL. IANAL, but the language in Title 17 and the GPL seems pretty clear. If someone creates a derived work and distributes it under any terms other than the GPL, they have violated the agreement which gave them permission to create the derived work, and thereby infringed on the copyright holder's exclusive rights. So, yeah, you *do* have the right to restrict distribution of derived works, via a thunk in the GPL. Oh, IANAL. Shawn. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.3 (GNU/Linux) iD8DBQE/0PWip1Ep1JptinARAjhXAJ9x66s2KNm8KK4+9bNDBKOQ6Hd6YQCghXFD Ju6LimWjD6NJJqsG4u7Jr7g= =vop3 -----END PGP SIGNATURE----- ^ permalink raw reply [flat|nested] 180+ messages in thread
* Kernel 2.6-test10 on an Opteron 2003-12-05 20:14 ` Linus Torvalds 2003-12-05 21:16 ` Shawn Willden @ 2003-12-09 0:17 ` Ananda Bhattacharya 2003-12-09 12:16 ` Petr Sebor 2003-12-09 20:31 ` bill davidsen 1 sibling, 2 replies; 180+ messages in thread From: Ananda Bhattacharya @ 2003-12-09 0:17 UTC (permalink / raw) To: linux-kernel Hello! I was wondering if anyone has had any luck with 2.6 on a Dual Opteron system. I have a Broadcom 5702 ethernet card, and the network starts up but it seems slugish. Lilke yobind and and nfs don't start up properly. They fail on startup and I have to run the init scripts by hand. I am also running a crazy Redhat Enterprise Server Beta release. Also I was wondering if anyone has an idea what a good distro for x86-64 bit architectures is? thanks -Anand -- What is "walmart'? Do they sell walls there or what? -Paris Hilton ^ permalink raw reply [flat|nested] 180+ messages in thread
* Re: Kernel 2.6-test10 on an Opteron 2003-12-09 0:17 ` Kernel 2.6-test10 on an Opteron Ananda Bhattacharya @ 2003-12-09 12:16 ` Petr Sebor 2003-12-09 20:31 ` bill davidsen 1 sibling, 0 replies; 180+ messages in thread From: Petr Sebor @ 2003-12-09 12:16 UTC (permalink / raw) To: linux-kernel Ananda Bhattacharya wrote: > Hello! > > I was wondering if anyone has had any luck with 2.6 > on a Dual Opteron system. I have a Broadcom 5702 ethernet > card, and the network starts up but it seems slugish. Hi, I am playing with UP opteron system (2.6.0-t11) and have noticed the network slowness as well.. I am able to achieve max 8MBps on 100MBps network with the Broadcom 5705... 00:0b.0 Ethernet controller: Broadcom Corporation NetXtreme BCM5705 Gigabit Ethernet (rev 03) Subsystem: Micro-Star International Co., Ltd.: Unknown device 1300 Flags: bus master, 66Mhz, medium devsel, latency 32, IRQ 16 Memory at fa000000 (64-bit, non-prefetchable) [size=64K] the board is MSI K8T - VIA KT800 chipset with the 8MBps transferrate, the ftp daemon eats almost all of the time and vmstat says that most of the time is spent inside of the kernel. (I am getting ~5MBps with rsync and SSH, so it is probably not because of the proftpd) on the sending side, the send-queue is 105168 (probably full) and on the receiving side the receive-queue (Recv-Q) has 65896 waiting packets. dmesg reports: tg3.c:v2.3 (November 5, 2003) eth0: Tigon3 [partno(BCM95705A50) rev 3003 PHY(5705)] (PCI:33MHz:32-bit) 10/100/1000BaseT Ethernet 00:0c:76:6a:b8:a7 tg3: eth0: Link is up at 100 Mbps, full duplex. tg3: eth0: Flow control is on for TX and on for RX. [vmstat report while proftpd running] petr@opteron:~/music$ vmstat -n 1 procs -----------memory---------- ---swap-- -----io---- --system-- ----cpu---- r b swpd free buff cache si so bi bo in cs us sy id wa 1 0 0 4644 21988 802820 0 0 0 8192 2647 89 1 99 0 0 1 0 0 4132 22240 803060 0 0 0 8688 2674 122 0 99 0 1 1 0 0 4196 22244 803008 0 0 0 8192 2605 121 1 95 4 0 0 0 0 4760 22104 802588 0 0 0 8192 2727 388 1 94 5 0 1 0 0 4568 22112 802804 0 0 0 0 2808 651 1 91 8 0 1 0 0 5176 22096 802060 0 0 0 12288 2623 87 0 100 0 0 1 0 0 5048 22252 802040 0 0 0 8512 2663 119 1 97 2 0 1 0 0 4848 22264 802220 0 0 8 8192 2655 104 0 99 1 0 1 0 0 4848 22164 802484 0 0 0 8192 2628 77 1 97 2 0 1 0 0 4592 22108 802796 0 0 0 8192 2628 56 0 98 2 0 1 0 0 4368 22100 803012 0 0 0 8192 2648 81 1 98 1 0 oops, sorry for the wrapped text .. Regards, Petr ^ permalink raw reply [flat|nested] 180+ messages in thread
* Re: Kernel 2.6-test10 on an Opteron 2003-12-09 0:17 ` Kernel 2.6-test10 on an Opteron Ananda Bhattacharya 2003-12-09 12:16 ` Petr Sebor @ 2003-12-09 20:31 ` bill davidsen 1 sibling, 0 replies; 180+ messages in thread From: bill davidsen @ 2003-12-09 20:31 UTC (permalink / raw) To: linux-kernel In article <Pine.LNX.4.44.0312081857200.537-100000@puma.cabm.rutgers.edu>, Ananda Bhattacharya <anandab@cabm.rutgers.edu> wrote: | I was wondering if anyone has had any luck with 2.6 | on a Dual Opteron system. I have a Broadcom 5702 ethernet | card, and the network starts up but it seems slugish. Lilke | yobind and and nfs don't start up properly. They fail on | startup and I have to run the init scripts by hand. I am | also running a crazy Redhat Enterprise Server Beta release. Also | I was wondering if anyone has an idea what a good distro | for x86-64 bit architectures is? Is there a status page for that? I see that Tyan is going to (probably) release a four-way board in the near future (post in comp.sys.intel links to pictures, etc) and I deserve a new toy for my birthday in the spring, so this is not idle curiousity. When I see the prices it may be, but the SMP CPUs are affordable. -- bill davidsen <davidsen@tmr.com> CTO, TMR Associates, Inc Doing interesting things with little computers since 1979. ^ permalink raw reply [flat|nested] 180+ messages in thread
* Re: Linux GPL and binary module exception clause? 2003-12-05 19:55 ` David Schwartz 2003-12-05 20:14 ` Linus Torvalds @ 2003-12-08 15:38 ` Jesse Pollard 1 sibling, 0 replies; 180+ messages in thread From: Jesse Pollard @ 2003-12-08 15:38 UTC (permalink / raw) To: David Schwartz, Ryan Anderson, linux-kernel On Friday 05 December 2003 13:55, David Schwartz wrote: > Linus wrote: > >Put another way: nVidia by _law_ has the right to do whatever essential > >step they need to be able to run Linux on their machines. That's what the > >exception to copyright law requires for any piece of software. > > So they need not agree to the GPL to *create* the derived work. > > >But what they do NOT have the right to do is to create derivative works of > >the kernel, and distribute them to others. > > Yes, they do. Since they have the right to create the derived work and > have not agreed to the GPL, the only thing that could restrict their > distribution is the law, not the GPL. Please show me the law that permits a > copyright holder to restrict the distribution of derived works. Uhhh nope. You are forgetting the case of the estate of Jacquiline Susanne (SP?). There was a developer that created an expert system capable of generating stories/novels in the "style of". The estate claimed copyright infringement, and won. The generated text was obviously "derived from", and the developer claimed that just because it looked like and sounded like, that it was independant and could not infringe. He lost. There was no problem with him generating stories for himself, but as soon as he started distributing what was generated... Deep do-do. If I remember right, he couldn't even release the program. ^ permalink raw reply [flat|nested] 180+ messages in thread
* Re: Linux GPL and binary module exception clause? 2003-12-05 11:16 ` David Schwartz 2003-12-05 13:34 ` Anders Karlsson 2003-12-05 14:03 ` Ryan Anderson @ 2003-12-05 14:59 ` Jesse Pollard 2003-12-05 19:15 ` Kendall Bennett 2 siblings, 1 reply; 180+ messages in thread From: Jesse Pollard @ 2003-12-05 14:59 UTC (permalink / raw) To: David Schwartz, Linus Torvalds Cc: Valdis.Kletnieks, Peter Chubb, linux-kernel On Friday 05 December 2003 05:16, David Schwartz wrote: > > On Thu, 4 Dec 2003, David Schwartz wrote: > > > The GPL gives you the unrestricted right to *use* the original work. > > > This implicitly includes the right to peform any step necessary to use > > > the work. > > > > No it doesn't. > > > > Your logic is fundamentally flawed, and/or your reading skills are > > deficient. > > I stand by my conclusions. > > > The GPL expressly states that the license does not restrict the act of > > "running the Program" in any way, and yes, in that sense you may "use" > > the program in whatever way you want. > > Please tell me how you use the Linux kernel source code. Please tell me > how you run the Linux kernel source code without creating a derived work. You compile it without modifications. > > But that "use" is clearly limited to running the resultant program. It > > very much does NOT say that you can "use the header files in any way you > > want, including building non-GPL'd programs with them". > > Huh? What "resultant program"? Are you talking about an executable that's > a derived work of the Linux kernel source code? You don't have "an executable" unless it includes the kernel as the executable. It actually sounds like you are confusing Kernel mode with User mode. > Modules are derived works of the Linux kernel source code, not the kernel > executable. So the license that would be relevent would be a license that > restricts how you can use the source code or derived works of the source > code. License to run a program, when you have source code, is license to > compile that source code. > > For example, 2b says: > > b) You must cause any work that you distribute or publish, that in > whole or in part contains or is derived from the Program or any > part thereof, to be licensed as a whole at no charge to all third > parties under the terms of this License. > > You don't seriously think that's talking about derived works that are > derived from *executables*, do you? It is if you are referring to the Kernel. Look at the include files. They are licened under GPL. Look at the include files for applications. They are licenced under LGPL. The kernel include files are NOT. > > In fact, it very much says the reverse. If you use the source code to > > build a new program, the GPL _explicitly_ says that that new program has > > to be GPL'd too. > > I download the Linux kernel sources from kernel.org. Please tell me what I > can do with them without agreeing to the GPL. Is it your position that I > cannot compile them without agreeing to the GPL? If so, how can running the > program be unrestricted? How can you run the linux kernel soruce code > without compiling it? compile them. Read them. run them. You do not modify them. You do not combine them with propriatary executables and distribute them without that executable and it's source becoming GPL. > > > Please tell me how you use a kernel header file, other than by > > > including it in a code file, compiling that code file, and executing > > > the result. > > > > You are a weasel, and you are trying to make the world look the way you > > want it to, rather than the way it _is_. > > That is a serious example of projection. > > > You use the word "use" in a sense that is not compatible with the GPL. > > You claim that the GPL says that you can "use the program any way you > > want", but that is simply not accurate or even _close_ to accurate. Go > > back and read the GPL again. It says: > > > > "The act of running the Program is not restricted" > > > > and it very much does NOT say > > > > "The act of using parts of the source code of the Program is not > > restricted" > > You run a piece of source code by compiling it. If a header file is > protected by the GPL, permission to "run" it means permission to include it > in files you compile. > > The GPL says: > > 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, > > The work that was placed under the GPL is the Linux kernel source. The > "program" is the source code. Please, tell me how you "run" the Linux > kernel source code other than by compiling it to form a derived work. > > Perhaps you misunderstand the GPL to mean that a 'program' must be an > executable? Not only does section zero clearly refute that, but if it were > true, it would mean that a module is not a derived work from a GPL'd work! > It is a program that's placed under the GPL, and a module is not a derived > work from any other executable. > > > In short: you do _NOT_ have the right to use a kernel header file (or any > > other part of the kernel sources), unless that use results in a GPL'd > > program. > > The phrase "results in a GPL'd program" is one that I cannot understand. I > have no idea what you mean by it. You have the right to "run" the header > file, the GPL gives it to you. The way you "run" a header file is by first > compiling a source code that includes it into an executable. Quite simple. If you include the Linux kernel include files you get a derived program that must be released under GPL if you distribute that program. > > What you _do_ have the right is to _run_ the kernel any way you please > > (this is the part you would like to redefine as "use the source code", > > but that definition simply isn't allowed by the license, however much you > > protest to the contrary). > > How can I run the kernel without compiling it? And how can I compile it > without creating a derived work? The GPL says: > > 5. You are not required to accept this License, since you have not > signed it. However, nothing else grants you permission to modify or > distribute the Program or its derivative works. These actions are > prohibited by law if you do not accept this License. Therefore, by > modifying or distributing the Program (or any work based on the > Program), you indicate your acceptance of this License to do so, and > all its terms and conditions for copying, distributing or modifying > the Program or works based on it. > > Of course, the second sentence is utterly false. Fair use and necessary > step provisions do just that. It is not fair use to create and distribute derived works that use Kernel include files without agreeing to the GPL. > > So you can run the kernel and create non-GPL'd programs while running it > > to your hearts content. You can use it to control a nuclear submarine, > > and that's totally outside the scope of the license (but if you do, > > please note that the license does not imply any kind of warranty or > > similar). > > > > BUT YOU CAN NOT USE THE KERNEL HEADER FILES TO CREATE NON-GPL'D BINARIES. > > > > Comprende? > > I have no idea what you mean by a "NON-GPL'D BINARY". *Any* binary you > create from a kernel header file is, at least to some extent, a derived > work of that header file. However, the question for whether it would be > covered by the GPL is whether you exercised a privilege in creating that > work that you were only granted by the GPL. Nope. You are confusing GPL with LGPL. Not the same thing. > Again, what I'm trying to say is that the term "program" in the GPL means > whatever it is that's placed under the GPL (which can be an executable > and/or source code). Of course, placing an executable under the GPL > effectively places its source code under the GPL (as soon as you distribute > it to someone else, as you are required to do, who is limited only by the > GPL). > > In the case of the Linux kernel, the source code was initially placed > under the GPL. Once source code is placed under the GPL, your right to "run > the program" means a right to compile the source code. In the case of > header files, this means the right to include the header file in code files > and thereby produce and use derived works. (Whether or not you can > distribute those derived works is, of course, a whole different argument.) > > So my point is that the GPL isn't really even relevant here. You have all > the rights you need without agreeing to it. "Activities other than copying, > distribution and modification are not > covered by this License; they are outside its scope." Including a header > file in your own class file is not copying, distribution, or modification > of that header file. It is use, mere use. Depends on where that class file ends up. If it is in a binary, that you intend to distribute, then that binary, and its source is GPL. Check the headers. If it says GPL, then anything compiled that uses that header should be GPL when/if distributed. ^ permalink raw reply [flat|nested] 180+ messages in thread
* Re: Linux GPL and binary module exception clause? 2003-12-05 14:59 ` Jesse Pollard @ 2003-12-05 19:15 ` Kendall Bennett 0 siblings, 0 replies; 180+ messages in thread From: Kendall Bennett @ 2003-12-05 19:15 UTC (permalink / raw) To: Jesse Pollard; +Cc: linux-kernel Jesse Pollard <jesse@cats-chateau.net> wrote: > It is if you are referring to the Kernel. Look at the include > files. They are licened under GPL. > > Look at the include files for applications. They are licenced > under LGPL. Really? Have you looked at the include files for Linux? The standard C include files that nearly every program uses will end up also *including* Linux kernel header files in order to build programs for Linux. Not all programs will end up including those files, but a very large portion will. If you don't believe me, do a grep under /usr/include/sys on your machine for 'linux', and see how many of the header files include stuff from /usr/include/linux. All the files under /usr/include/linux are part of the kernel, so theoretically under the pure GPL, not LGPL. Then again I say 'theoretically' because once again there is nary a kernel header file in sight that actually *has* a GPL license header attached! So who knows what license those files are *really* under. Regards, --- Kendall Bennett Chief Executive Officer SciTech Software, Inc. Phone: (530) 894 8400 http://www.scitechsoft.com ~ SciTech SNAP - The future of device driver technology! ~ ^ permalink raw reply [flat|nested] 180+ messages in thread
* RE: Linux GPL and binary module exception clause? 2003-12-05 6:58 ` Linus Torvalds 2003-12-05 11:16 ` David Schwartz @ 2003-12-05 18:44 ` Kendall Bennett 2003-12-05 19:09 ` Valdis.Kletnieks 2003-12-05 19:26 ` Linus Torvalds 1 sibling, 2 replies; 180+ messages in thread From: Kendall Bennett @ 2003-12-05 18:44 UTC (permalink / raw) To: Linus Torvalds; +Cc: linux-kernel Linus Torvalds <torvalds@osdl.org> wrote: > So you can run the kernel and create non-GPL'd programs while running it > to your hearts content. You can use it to control a nuclear submarine, and > that's totally outside the scope of the license (but if you do, please > note that the license does not imply any kind of warranty or similar). > > BUT YOU CAN NOT USE THE KERNEL HEADER FILES TO CREATE NON-GPL'D BINARIES. > > Comprende? Right, and by extension of the same argument you cannot use kernel headers to create non-GPL'ed binaries that run IN USER SPACE! Just because a program runs in user space does not mean that it is not a dervived work. There is nothing special about a user mode program compared to a module just because it uses Linux system calls. The same principles you apply to determine whether a module is a derived work also apply to user space programs, *ESPECIALLY* if you consider that the GPL kernel header files contains code (inline C or assembler) that probably gets linked either directly or indirectly (through the C runtime library) into *EVERY* Linux user mode program. This exact reasoning is what RedHat (aka Cygnus) has been using for years with the Cygwin toolkit for Windows. Although 99% of the code built with the GNU compilers and Cygwin includes the glibc runtime library that is LGPL, every program *must* include the C runtime library startup code or it cannot function. *That* code is pure GPL, and by extension any program using the Cygwin libraries is a derived work and must be GPL. If you don't like that, by a commercially licensed version of Cygwin from RedHat/Cygnus instead. This is also IMHO why so few people outside of Red Hat contribute to Cygwin, but that is a different issue ;-) Regards, --- Kendall Bennett Chief Executive Officer SciTech Software, Inc. Phone: (530) 894 8400 http://www.scitechsoft.com ~ SciTech SNAP - The future of device driver technology! ~ ^ permalink raw reply [flat|nested] 180+ messages in thread
* Re: Linux GPL and binary module exception clause? 2003-12-05 18:44 ` Kendall Bennett @ 2003-12-05 19:09 ` Valdis.Kletnieks 2003-12-05 19:22 ` Arjan van de Ven 2003-12-05 19:25 ` Kendall Bennett 2003-12-05 19:26 ` Linus Torvalds 1 sibling, 2 replies; 180+ messages in thread From: Valdis.Kletnieks @ 2003-12-05 19:09 UTC (permalink / raw) To: Kendall Bennett; +Cc: Linus Torvalds, linux-kernel [-- Attachment #1: Type: text/plain, Size: 772 bytes --] On Fri, 05 Dec 2003 10:44:02 PST, Kendall Bennett said: > Right, and by extension of the same argument you cannot use kernel > headers to create non-GPL'ed binaries that run IN USER SPACE! Just > because a program runs in user space does not mean that it is not a > dervived work. That's a bad idea for technical reasons too - how often do we have to tell people not to use kernel headers from userspace? glibc-kernheaders (and whatever non-RedHat boxes call it) exists for a reason. Interestingly enough, at least on my Fedora box, 'rpm -qi' reports glibc as LGPL, but glibc-kernheaders as GPL, which seems right to me - linking against glibc gives the LGPL semantics as we'd want, but forces userspace that's poking in the kernel to be GPL as a derived work.... [-- Attachment #2: Type: application/pgp-signature, Size: 226 bytes --] ^ permalink raw reply [flat|nested] 180+ messages in thread
* Re: Linux GPL and binary module exception clause? 2003-12-05 19:09 ` Valdis.Kletnieks @ 2003-12-05 19:22 ` Arjan van de Ven 2003-12-10 13:52 ` Andre Hedrick 2003-12-05 19:25 ` Kendall Bennett 1 sibling, 1 reply; 180+ messages in thread From: Arjan van de Ven @ 2003-12-05 19:22 UTC (permalink / raw) To: Valdis.Kletnieks; +Cc: Kendall Bennett, Linus Torvalds, linux-kernel [-- Attachment #1: Type: text/plain, Size: 505 bytes --] On Fri, 2003-12-05 at 20:09, Valdis.Kletnieks@vt.edu wrote: \ > Interestingly enough, at least on my Fedora box, 'rpm -qi' reports glibc as LGPL, > but glibc-kernheaders as GPL, which seems right to me - linking against glibc gives > the LGPL semantics as we'd want, but forces userspace that's poking in the kernel > to be GPL as a derived work.... but those headers do not have inlines etc etc just the bare minimum of structures and defines (neither of which result in code in the binary ) [-- Attachment #2: This is a digitally signed message part --] [-- Type: application/pgp-signature, Size: 189 bytes --] ^ permalink raw reply [flat|nested] 180+ messages in thread
* Re: Linux GPL and binary module exception clause? 2003-12-05 19:22 ` Arjan van de Ven @ 2003-12-10 13:52 ` Andre Hedrick 2003-12-10 15:18 ` Linus Torvalds 0 siblings, 1 reply; 180+ messages in thread From: Andre Hedrick @ 2003-12-10 13:52 UTC (permalink / raw) To: Arjan van de Ven Cc: Valdis.Kletnieks, Kendall Bennett, Linus Torvalds, linux-kernel So why not do the removal of the inlines to real .c files and quit playing games with bogus attempts to bleed taint into the inprotectable api? Clearly it is a game of bait and switch. Cheers, Andre Hedrick LAD Storage Consulting Group On Fri, 5 Dec 2003, Arjan van de Ven wrote: > On Fri, 2003-12-05 at 20:09, Valdis.Kletnieks@vt.edu wrote: > \ > > Interestingly enough, at least on my Fedora box, 'rpm -qi' reports glibc as LGPL, > > but glibc-kernheaders as GPL, which seems right to me - linking against glibc gives > > the LGPL semantics as we'd want, but forces userspace that's poking in the kernel > > to be GPL as a derived work.... > > but those headers do not have inlines etc etc > just the bare minimum of structures and defines (neither of which result > in code in the binary ) > ^ permalink raw reply [flat|nested] 180+ messages in thread
* Re: Linux GPL and binary module exception clause? 2003-12-10 13:52 ` Andre Hedrick @ 2003-12-10 15:18 ` Linus Torvalds 2003-12-10 15:32 ` Larry McVoy ` (2 more replies) 0 siblings, 3 replies; 180+ messages in thread From: Linus Torvalds @ 2003-12-10 15:18 UTC (permalink / raw) To: Andre Hedrick Cc: Arjan van de Ven, Valdis.Kletnieks, Kendall Bennett, linux-kernel On Wed, 10 Dec 2003, Andre Hedrick wrote: > > So why not do the removal of the inlines to real .c files and quit playing > games with bogus attempts to bleed taint into the inprotectable api? The inlines have nothing to do with _anything_. Trust me, a federal judge couldn't care less about some very esoteric technical detail. I don't know who brought up inline functions, but they aren't what would force the GPL. What has meaning for "derived work" is whether it stands on its own or not, and how tightly integrated it is. If something works with just one particular version of the kernel - or depends on things like whether the kernel was compiled with certain options etc - then it pretty clearly is very tightly integrated. Don't think that copyright would depend on any technicalities. Linus ^ permalink raw reply [flat|nested] 180+ messages in thread
* Re: Linux GPL and binary module exception clause? 2003-12-10 15:18 ` Linus Torvalds @ 2003-12-10 15:32 ` Larry McVoy 2003-12-10 16:21 ` Linus Torvalds 2003-12-10 17:15 ` Hua Zhong 2003-12-10 18:16 ` Andre Hedrick 2 siblings, 1 reply; 180+ messages in thread From: Larry McVoy @ 2003-12-10 15:32 UTC (permalink / raw) To: Linus Torvalds Cc: Andre Hedrick, Arjan van de Ven, Valdis.Kletnieks, Kendall Bennett, linux-kernel On Wed, Dec 10, 2003 at 07:18:12AM -0800, Linus Torvalds wrote: > Trust me, a federal judge couldn't care less about some very esoteric > technical detail. I don't know who brought up inline functions, but they > aren't what would force the GPL. They've certainly been brought up here over and over as an example of included work that forces the GPL. > What has meaning for "derived work" is whether it stands on its own or > not, and how tightly integrated it is. If something works with just one > particular version of the kernel - or depends on things like whether the > kernel was compiled with certain options etc - then it pretty clearly is > very tightly integrated. So what? Plugins have a nasty tendency to have to be updated when the main program is updated. That doesn't mean that the Netscape license is allowed to control the flash plugin license. I think (and very much hope) that your idea of a derived work is flawed. Otherwise you are helping make case law that is going to screw a lot people of over. If you think Microsoft won't use your expanded definition of what is a derived work, think again. -- --- Larry McVoy lm at bitmover.com http://www.bitmover.com/lm ^ permalink raw reply [flat|nested] 180+ messages in thread
* Re: Linux GPL and binary module exception clause? 2003-12-10 15:32 ` Larry McVoy @ 2003-12-10 16:21 ` Linus Torvalds 2003-12-10 16:34 ` Larry McVoy 2003-12-10 22:49 ` Oliver Hunt 0 siblings, 2 replies; 180+ messages in thread From: Linus Torvalds @ 2003-12-10 16:21 UTC (permalink / raw) To: Larry McVoy Cc: Andre Hedrick, Arjan van de Ven, Valdis.Kletnieks, Kendall Bennett, linux-kernel On Wed, 10 Dec 2003, Larry McVoy wrote: > > > kernel was compiled with certain options etc - then it pretty clearly is > > very tightly integrated. > > So what? Plugins have a nasty tendency to have to be updated when the > main program is updated. Sorry, but again, I repeat: technicalities don't actually matter much to a judge. There's a fundamental difference between "plugins" and "kernel modules": intent. If you write a program that tries to have a stable API to outside modules, and you make and document a plugin interface that is documented to accept proprietary modules, then that is an ABI. And linking against such a thing is fine. But when you have the GPL, and you have documented for years and years that it is NOT a stable API, and that it is NOT a boundary for the license and that you do NOT get an automatic waiver when you compile against this boundary, then things are different. And they are different even if from a _technical_ standpoint you do exactly the same: you dynamically link against a binary. Ask a lawyer. Really. I know people on this list are engineers and programmers, and you think that technology is all that matters, and that if you link in one situation and do exactly the same motions ("walk around the computer three times widdershins, and give the -dynamic option to 'ld'") then you are doing the same thing. But that's not how "the real world" works. In the real world, intent and permission matter a whole lot. When you make love to your wife in the privacy of your own home, the "real world" is perfectly ok with that. When you do the same thing to somebody you didn't get permission from, it's a major crime and you can be put into prison for decades - even though technically the movements are pretty much the same. See? Intent matters. How you do something _technically_ does not. In fact, I will bet you that if the judge thinks that you tried to use technicalities ("your honour, I didn't actually run the 'ln' program, instead of wrote a shell script for the _user_ to run the 'ln' program for me"), that judge will just see that as admission of the fact that you _knew_ you were doing something bad. Which means that now it wasn't just unintentional copyright infringement, now it is clearly wilful. So those technicalities you might use to try to make things better actually can make them WORSE. The best you can do is to just ask for permission. Maybe you'll get it. Linus ^ permalink raw reply [flat|nested] 180+ messages in thread
* Re: Linux GPL and binary module exception clause? 2003-12-10 16:21 ` Linus Torvalds @ 2003-12-10 16:34 ` Larry McVoy 2003-12-10 17:10 ` Linus Torvalds 2003-12-11 7:32 ` Rob Landley 2003-12-10 22:49 ` Oliver Hunt 1 sibling, 2 replies; 180+ messages in thread From: Larry McVoy @ 2003-12-10 16:34 UTC (permalink / raw) To: Linus Torvalds Cc: Larry McVoy, Andre Hedrick, Arjan van de Ven, Valdis.Kletnieks, Kendall Bennett, linux-kernel On Wed, Dec 10, 2003 at 08:21:52AM -0800, Linus Torvalds wrote: > There's a fundamental difference between "plugins" and "kernel modules": > intent. Which is? How is it that you can spend a page of text saying a judge doesn't care about technicalities and then base the rest of your argument on the distinction between a "plugin" and a "kernel module"? "Yes, your honor, I know you don't care about technicalities but let me explain how a kernel model, which is a wad of code that may be plugged into a program called the kernel and which provides some additional functionality or feature, is legally different than a plugin, which is a wad of code that may be plugged into some other program not called the kernel and which provides some additional functionality or feature. These are not all the same things, your honor, you see that, right?" Gimme a break, Linus. You can't have it both ways. > But when you have the GPL, and you have documented for years and years > that it is NOT a stable API, and that it is NOT a boundary for the license > and that you do NOT get an automatic waiver when you compile against this > boundary, then things are different. You need to reread your own postings on the topic over the years. There are documents all the web citing you as saying that binary drivers and modules are fine. -- --- Larry McVoy lm at bitmover.com http://www.bitmover.com/lm ^ permalink raw reply [flat|nested] 180+ messages in thread
* Re: Linux GPL and binary module exception clause? 2003-12-10 16:34 ` Larry McVoy @ 2003-12-10 17:10 ` Linus Torvalds 2003-12-10 17:25 ` Chris Friesen ` (3 more replies) 2003-12-11 7:32 ` Rob Landley 1 sibling, 4 replies; 180+ messages in thread From: Linus Torvalds @ 2003-12-10 17:10 UTC (permalink / raw) To: Larry McVoy Cc: Andre Hedrick, Arjan van de Ven, Valdis.Kletnieks, Kendall Bennett, linux-kernel On Wed, 10 Dec 2003, Larry McVoy wrote: > > Which is? How is it that you can spend a page of text saying a judge doesn't > care about technicalities and then base the rest of your argument on the > distinction between a "plugin" and a "kernel module"? I'll stop arguing, since you obviously do not get it. I explained the technicalities to _you_, and you are a technical person. But if you want to explain something to a judge, you get a real lawyer, and you make sure that the lawyer tries to explain the issue in _non_ technical terms. Because, quite frankly, the judge is not going to buy a technical discussion he or she doesn't understand. Just as an example, how do you explain to a judge how much code the Linux kernel contains? Do you say "it's 6 million lines of C code and header files and documentation, for a total of about 175MB of data"? Yeah, maybe you'd _mention_ that, but to actually _illustrate_ the point you'd say that if you printed it out, it would be a solid stack of papers 100 feet high. And you'd compare it to the height of the court building you're in, or something. Maybe you'd print out _one_ file, bind it as a book, and wave it around as one out of 15,000 files. But when _you_ ask me about how big the kernel is, I'd say "5 million lines". See the difference? It would be silly for me to tell you how many feet of paper the kernel would print out to, because we don't have those kinds of associations. Similarly, if you want to explain the notion of a kernel module, you'd compare it to maybe an extra chapter in a book. You'd make an analogy to something that never _ever_ mentions "linking". Just imagine: distributing a compiled binary-only kernel module that can be loaded into the kernel is not like distributing a new book: it's more like distributing a extra chapter to a book that somebody else wrote, that uses all the same characters and the plot, but more importantly it literally can only be read _together_ with the original work. It doesn't stand alone. In short, your honour, this extra chapter without any meaning on its own is a derived work of the book. In contrast, maybe you can re-write your code and distribute it as a short-story, which can be run on its own, and maybe the author has been influenced by another book, but the short-story could be bound AS IS, and a recipient would find it useful even without that other book. In that case, the short story is not a derived work - it's only inspired. Notice? This is actually _exactly_ what I've been arguing all along, except I've been arguing with a technical audience, so I've been using technical examples and terminology. But my argument is that just the fact that somebody compiled the code for Linux into a binary module that is useless without a particular version of the kernel DOES MAKE IT A DERIVED WORK. But also note how it's only the BINARY MODULE that is a derived work. Your source code is _not_ necessarily a derived work, and if you compile it for another operating system, I'd clearly not complain. This is the "stand-alone short story" vs "extra chapter without meaning outside the book" argument. See? One is a work in its own right, the other isn't. Linus ^ permalink raw reply [flat|nested] 180+ messages in thread
* Re: Linux GPL and binary module exception clause? 2003-12-10 17:10 ` Linus Torvalds @ 2003-12-10 17:25 ` Chris Friesen 2003-12-10 17:58 ` Linus Torvalds 2003-12-10 17:56 ` Larry McVoy ` (2 subsequent siblings) 3 siblings, 1 reply; 180+ messages in thread From: Chris Friesen @ 2003-12-10 17:25 UTC (permalink / raw) To: Linus Torvalds Cc: Larry McVoy, Andre Hedrick, Arjan van de Ven, Valdis.Kletnieks, Kendall Bennett, linux-kernel Linus Torvalds wrote: > But also note how it's only the BINARY MODULE that is a derived work. Your > source code is _not_ necessarily a derived work, and if you compile it for > another operating system, I'd clearly not complain. > > This is the "stand-alone short story" vs "extra chapter without meaning > outside the book" argument. See? One is a work in its own right, the other > isn't. We currently have a situation where an external company supplies us with a device driver containing a binary blob that was explicitly written as OS-agnostic, and a shim that is gpl'd (at least the linux shim is) to get the appropriate os-specific services. I guess this would fall under the "not made just for linux" category in which you've placed the Nvidia driver? Carrying on your analogy, this could be a generic love scene, with blanks in which to insert the character's names and location. Chris -- Chris Friesen | MailStop: 043/33/F10 Nortel Networks | work: (613) 765-0557 3500 Carling Avenue | fax: (613) 765-2986 Nepean, ON K2H 8E9 Canada | email: cfriesen@nortelnetworks.com ^ permalink raw reply [flat|nested] 180+ messages in thread
* Re: Linux GPL and binary module exception clause? 2003-12-10 17:25 ` Chris Friesen @ 2003-12-10 17:58 ` Linus Torvalds 0 siblings, 0 replies; 180+ messages in thread From: Linus Torvalds @ 2003-12-10 17:58 UTC (permalink / raw) To: Chris Friesen Cc: Larry McVoy, Andre Hedrick, Arjan van de Ven, Valdis.Kletnieks, Kendall Bennett, linux-kernel On Wed, 10 Dec 2003, Chris Friesen wrote: > > Linus Torvalds wrote: > > > But also note how it's only the BINARY MODULE that is a derived work. Your > > source code is _not_ necessarily a derived work, and if you compile it for > > another operating system, I'd clearly not complain. > > > > This is the "stand-alone short story" vs "extra chapter without meaning > > outside the book" argument. See? One is a work in its own right, the other > > isn't. > > We currently have a situation where an external company supplies us with > a device driver containing a binary blob that was explicitly written as > OS-agnostic, and a shim that is gpl'd (at least the linux shim is) to > get the appropriate os-specific services. I guess this would fall under > the "not made just for linux" category in which you've placed the Nvidia > driver? > > Carrying on your analogy, this could be a generic love scene, with > blanks in which to insert the character's names and location. Yes. Depending on how it is done (ie is the support for other operating systems really a major thing that you really care about, and not intended just as a smoke-screen), I personally believe that this is likely a valid way to show that some part of the code (the binary blob) is not a derived work. Clearly it no longer depends on the kernel, and you can show that to be true by the obvious argument. And I think this argument is _especially_ strong for things like firmware etc, and I've been on record as saying that I think it's ok to upload standard firmware for a driver as long as you don't call it directly (ie it really lives on the hardware itself). (At this point I should probably point out that other people disagree, and there are people who feel strongly that the kernel cannot contain binary firmware. Whish is obviously part of the reason for having the firmware loader interfaces for drivers - adding an extra layer of separation). However, even that doesn't necessarily make the issue 100% clear. It clarifies the status of the binary blob itself - but arguably the _other_ part of the story (eg the shim layer) is not a whole work, and it could be argued that that part in itself violates the GPL. At that point I just say "I'm personally a reasonable person, and quite frankly, personally the _last_ thing I'd want to do is to complain in a court of law". Quite frankly, you'd have to really really try to actively irritate me with some flagrant crap for me to decide that it's time to try to enforce anything. But I'm only speaking for myself here, and there are other copyright holders that might be more trigger-happy. So while I may be arguing vehemently here against binary-only modules, please realize that I haven't sued anybody over them, and in fact I'm a big believer in trying to make sure everybody is pretty happy adn not make a big deal out of things. Sometimes that "everybody is happy" means that I literally tell people that they might want to use a *BSD kernel instead of Linux, if I don't see them being able to make themselves _and_ the GPL people happy otherwise. Linus ^ permalink raw reply [flat|nested] 180+ messages in thread
* Re: Linux GPL and binary module exception clause? 2003-12-10 17:10 ` Linus Torvalds 2003-12-10 17:25 ` Chris Friesen @ 2003-12-10 17:56 ` Larry McVoy 2003-12-10 18:02 ` Linus Torvalds ` (2 more replies) 2003-12-10 18:14 ` David Schwartz 2003-12-10 19:48 ` Kendall Bennett 3 siblings, 3 replies; 180+ messages in thread From: Larry McVoy @ 2003-12-10 17:56 UTC (permalink / raw) To: Linus Torvalds Cc: Larry McVoy, Andre Hedrick, Arjan van de Ven, Valdis.Kletnieks, Kendall Bennett, linux-kernel On Wed, Dec 10, 2003 at 09:10:18AM -0800, Linus Torvalds wrote: > On Wed, 10 Dec 2003, Larry McVoy wrote: > > Which is? How is it that you can spend a page of text saying a judge doesn't > > care about technicalities and then base the rest of your argument on the > > distinction between a "plugin" and a "kernel module"? > > I'll stop arguing, since you obviously do not get it. Err, I think people might say you are punting. You claim that there is a difference between a plugin and a kernel module, I ask what, you say "I'll stop arguing because you don't get it". Hmm. > But if you want to explain something to a judge, you get a real lawyer, > and you make sure that the lawyer tries to explain the issue in _non_ > technical terms. Because, quite frankly, the judge is not going to buy a > technical discussion he or she doesn't understand. Exactly. I agree. And the lawyer is going to make mincemeat of your argument that there is a difference between a flash plugin and a driver. > In short, your honour, this extra chapter without any meaning on its own > is a derived work of the book. I see. And your argument, had it prevailed 5 years ago, would have invalidated the following, would it not? The following from one of the Microsoft lawsuits. >From http://ecfp.cadc.uscourts.gov/MS-Docs/1636/0.pdf Substituting an alternative module for one supplied by Microsoft may not violate copyright law, and certainly not because of any "integrity of the work" argument. The United States recognizes "moral rights" of attribution and integrity only for works of visual art in limited editions of 200 or fewer copies. (See 17 U.S.C. 106A and the definition of "work of visual art" in 17 U.S.C. 101.) A bookstore can replace the last chapter of a mystery novel without infringing its copyright, as long as they are not reprinting the other chapters but are simply removing the last chapter and replacing it with an alternative one, but must not pass the book off as the original. Having a copyright in a work does not give that copyright owner unlimited freedom in the terms he can impose. Start to see why I think what you are doing is dangerous and will backfire? Note that the GPL does allow "reprinting" (that's section 1). So any "alternative" stuff can be added *and* distributed *together* with the original stuff. And, of course, the "alternative" added stuff doesn't need to be under the GPL as long as the added stuff is NOT a derivative work of the GPL'd thing (read: was prepared without copying any protected elements from the GPL'd thing [clean room] or simply doesn't contain them at all being a completely different [new] functional part of "a whole" work). >From http://www-106.ibm.com/developerworks/opensource/library/os-cplfaq.html Q: If I write a module to add to a Program licensed under the CPL and distribute the object code of the module along with the rest of the Program, must I make the source code to my module available in accordance with the terms of the CPL? A: No, as long as the module is not a derivative work of the Program. -- --- Larry McVoy lm at bitmover.com http://www.bitmover.com/lm ^ permalink raw reply [flat|nested] 180+ messages in thread
* Re: Linux GPL and binary module exception clause? 2003-12-10 17:56 ` Larry McVoy @ 2003-12-10 18:02 ` Linus Torvalds 2003-12-10 18:08 ` Larry McVoy ` (2 more replies) 2003-12-11 1:24 ` Andrew Pimlott 2003-12-11 7:43 ` Rob Landley 2 siblings, 3 replies; 180+ messages in thread From: Linus Torvalds @ 2003-12-10 18:02 UTC (permalink / raw) To: Larry McVoy Cc: Andre Hedrick, Arjan van de Ven, Valdis.Kletnieks, Kendall Bennett, linux-kernel On Wed, 10 Dec 2003, Larry McVoy wrote: > > I see. And your argument, had it prevailed 5 years ago, would have > invalidated the following, would it not? The following from one of the > Microsoft lawsuits. No it wouldn't. Microsoft very much _has_ a binary API to their drivers, in a way that Linux doesn't. MS has to have that binary API exactly because they live in a binary-only world. They've basically put that requirement on themselves by having binary-only distributions. So your argument doesn't fly. To Microsoft, a "driver" is just another external entity, with documented API's, and they indeed ship their _own_ drivers that way too. And all third-party drivers do the same thing. So there is no analogy to the Linux case. In Linux, no fixed binary API exists, and the way normal drivers are distributed are as GPL'd source code. Linus ^ permalink raw reply [flat|nested] 180+ messages in thread
* Re: Linux GPL and binary module exception clause? 2003-12-10 18:02 ` Linus Torvalds @ 2003-12-10 18:08 ` Larry McVoy 2003-12-10 18:17 ` Linus Torvalds 2003-12-10 18:37 ` Linux GPL and binary module exception clause? Jan-Benedict Glaw 2003-12-10 19:51 ` Hua Zhong 2003-12-10 20:09 ` Andre Hedrick 2 siblings, 2 replies; 180+ messages in thread From: Larry McVoy @ 2003-12-10 18:08 UTC (permalink / raw) To: Linus Torvalds Cc: Larry McVoy, Andre Hedrick, Arjan van de Ven, Valdis.Kletnieks, Kendall Bennett, linux-kernel On Wed, Dec 10, 2003 at 10:02:47AM -0800, Linus Torvalds wrote: > > On Wed, 10 Dec 2003, Larry McVoy wrote: > > > > I see. And your argument, had it prevailed 5 years ago, would have > > invalidated the following, would it not? The following from one of the > > Microsoft lawsuits. > > No it wouldn't. And in the 4 minutes since I've posted that legal doc you have consulted a lawyer and the lawyer told you this, right? > Microsoft very much _has_ a binary API to their drivers, in a way that > Linux doesn't. Technicality. Which, by your own reasoning, doesn't count. Linux does indeed have a binary interface, many people download drivers from some website (I've done it a pile of times) and stuck them in and they worked. I did that with the modem on my thinkpad across more than 10 kernel versions in the 2.2 or 2.4 timeframe. > So there is no analogy to the Linux case. In Linux, no fixed binary API > exists, and the way normal drivers are distributed are as GPL'd source > code. Nonsense. More distribution happens through ISO images than anything else and the ISO images people download don't contain the source. They *could* download the source ones but they don't. They download the binary image, burn it, and install it. And pass it around. If the *only* way you could get Linux was in source form and you had to build your own kernel, then you'd have an argument. But that's not true and there are plenty of examples of drivers being available for download for Linux in binary form. -- --- Larry McVoy lm at bitmover.com http://www.bitmover.com/lm ^ permalink raw reply [flat|nested] 180+ messages in thread
* Re: Linux GPL and binary module exception clause? 2003-12-10 18:08 ` Larry McVoy @ 2003-12-10 18:17 ` Linus Torvalds 2003-12-10 18:38 ` Larry McVoy 2003-12-10 18:37 ` Linux GPL and binary module exception clause? Jan-Benedict Glaw 1 sibling, 1 reply; 180+ messages in thread From: Linus Torvalds @ 2003-12-10 18:17 UTC (permalink / raw) To: Larry McVoy Cc: Andre Hedrick, Arjan van de Ven, Valdis.Kletnieks, Kendall Bennett, linux-kernel On Wed, 10 Dec 2003, Larry McVoy wrote: > > And in the 4 minutes since I've posted that legal doc you have consulted > a lawyer and the lawyer told you this, right? Hey, you know I'm not a lawyer. I told you my opinion. And I'm not considering even _trying_ to circumvent somebody elses copyright. You are the one who needs a lawyer, since _you_ are the one arguing for potentially infringing on other peoples copyright. Linus ^ permalink raw reply [flat|nested] 180+ messages in thread
* Re: Linux GPL and binary module exception clause? 2003-12-10 18:17 ` Linus Torvalds @ 2003-12-10 18:38 ` Larry McVoy 2003-12-10 19:15 ` Linus Torvalds 0 siblings, 1 reply; 180+ messages in thread From: Larry McVoy @ 2003-12-10 18:38 UTC (permalink / raw) To: Linus Torvalds Cc: Larry McVoy, Andre Hedrick, Arjan van de Ven, Valdis.Kletnieks, Kendall Bennett, linux-kernel On Wed, Dec 10, 2003 at 10:17:34AM -0800, Linus Torvalds wrote: > > And in the 4 minutes since I've posted that legal doc you have consulted > > a lawyer and the lawyer told you this, right? > > Hey, you know I'm not a lawyer. > > I told you my opinion. And I'm not considering even _trying_ to circumvent > somebody elses copyright. > > You are the one who needs a lawyer, since _you_ are the one arguing for > potentially infringing on other peoples copyright. I can understand your touchiness, it's not much fun living through tons of messages where people try and figure out how to circumvent your license. You have my sympathy. On the other hand, let's be perfectly clear: I'm not in the business of making binary kernel extensions/modules/drivers/anything, I never have been in that business, and neither I nor anyone at BitMover nor any of our investors are contemplating that. In other words, _I_ am not about to violate anyone's copyright and I'll thank you not to accuse me of that again without some data to back it up. What I am doing is saying that you are way over the line in a way that other people, who do not have your best interests at heart (nor the kernel's, nor the FSF's, nor the GPL's), are going to jump all over what you are saying and use it against you. In multiple ways. They will use it to say that you are just as bad as they are, you are trying to twist the system to your advantage to further your agenda. Which is exactly, I might add, what any corporation does. You've become quite corporate (aka one-sided) in your outlook recently. If case law is established that backs up your point of view, it is going to effect all of us in all sorts of ways that are almost universally negative for everyone except the corporation inflicting the pain. You may not create case law which helps your agenda and expect all the nasty folks to not grab at it and use it to help their agenda. The potential damage that this case law would inflict dramatically outweighs the benefit of spanking some company that is shipping a binary driver. Why can't you see it? Reread Ted's message, he stated it nicely. -- --- Larry McVoy lm at bitmover.com http://www.bitmover.com/lm ^ permalink raw reply [flat|nested] 180+ messages in thread
* Re: Linux GPL and binary module exception clause? 2003-12-10 18:38 ` Larry McVoy @ 2003-12-10 19:15 ` Linus Torvalds 2003-12-11 0:50 ` Driver API (was Re: Linux GPL and binary module exception clause?) Hannu Savolainen 0 siblings, 1 reply; 180+ messages in thread From: Linus Torvalds @ 2003-12-10 19:15 UTC (permalink / raw) To: Larry McVoy Cc: Andre Hedrick, Arjan van de Ven, Valdis.Kletnieks, Kendall Bennett, linux-kernel On Wed, 10 Dec 2003, Larry McVoy wrote: > > I can understand your touchiness, it's not much fun living through tons of > messages where people try and figure out how to circumvent your license. That's not really the issue. I'd like to make it clear that I'm actually much softer on this than many other people - I've been making it clear that I think that binary-only modules _are_ ok, but that the burden of proof of ok'ness is squarely on the shoulders of the company that makes them. So please do get that part clear: I'm pretty well-known for allowing binary-only modules in things like AFS and nVidia, where some people think they shouldn't be allowed. But the real issue here (and in the subject line in this whole discussion) is about an "exception clause". There is none. And I'm just saying that there is NO WAY that a binary-only module is "automatically in the clear". They _may_ be, but it's on the basis of something totally different than just "it's a module". This is why I want to make it so clear that "moduleness" (which is not a word, but should be one) is not the thing that matters. There's still a strong "linkage" to a particular kernel in a binary module, and the act of running the linker is not what determines whether a work is a derived work. In short, you should not see my arguments as a way of saying "all modules are derived works". I'm clearly not saying that, since I _do_ allow binary only modules and I don't claim they infringe. So I'm not arguing for a very wide notion of derived works: I'm arguing AGAINST the narrow notion that a module would somehow automatically _not_ be derived. This is why I've said at least fifty times that a kernel module is to be considered "derived by default". The non-derivedness comes from things that have nothing to do with whether it is a module. Linus ^ permalink raw reply [flat|nested] 180+ messages in thread
* Driver API (was Re: Linux GPL and binary module exception clause?) 2003-12-10 19:15 ` Linus Torvalds @ 2003-12-11 0:50 ` Hannu Savolainen 2003-12-11 4:01 ` Peter Chubb 2003-12-11 10:06 ` viro 0 siblings, 2 replies; 180+ messages in thread From: Hannu Savolainen @ 2003-12-11 0:50 UTC (permalink / raw) To: Linus Torvalds Cc: Larry McVoy, Andre Hedrick, Arjan van de Ven, Valdis.Kletnieks, Kendall Bennett, linux-kernel On Wed, 10 Dec 2003, Linus Torvalds wrote: > I'd like to make it clear that I'm actually much softer on this than many > other people - I've been making it clear that I think that binary-only > modules _are_ ok, but that the burden of proof of ok'ness is squarely on > the shoulders of the company that makes them. Ok. That makes perfect sense. It would be fair to have an official list of kernel services that are 100% OK for use by binary-only device drivers (or kernel modules in general). If anybody needs to use a service outside this list they know they may be on thin ice. What I'm proposing into this kind of list are the basic services needed to implement a character device driver (driver entry points, kmalloc/vmalloc, mutex and sleep primitives, device I/O, userspace access and few others). These all are primitives that can be found from any "generic" kernel programming text book. Also they are available in every operating system I have been worked with. So it would be very hard to argue that using them could make aything "derived work". I don't use anything but the charcater device interface so I can't say if there is anything else that could/should be listed. Even better would be a proper device driver ABI for "loosely integrated" device drivers. It's possible to hide differences between kernel releases so that the same driver can work with wide range of kernel versions). There are some performance penalties but they are not significant. And the drivers included in the kernel source tree don't need to use this interface so I don't see there any _technical_ reasons against this idea. I can volunteer to implement this interface if it's OK. Some motivation for the ABI as well as some technical ideas will be at the end of this message. I don't make any statement about the correctness of the "derived work" issue. However I think it's at least fair to avoid using kernel internals in a way kernel developers don't like. It would be best for the future of Linux that there is some agreement about this issue. Developing software under GPL is everybody's right but not responsibility. In distant future it may happen that all software gets distributed under GPL or a similar license. However before that moment there will always be some kind of gray zone between the open source and the closed source worlds. And for various reasons somebody must live on the "right" side. For example in my case we can't GPL our product for reasons that are beyond our control (for example large parts of the source code are licensed from hardware manufacturers and other companies under NDA). So I don't see it fair that some developers think they have the right to enforce everybody else to work under GPL. ----- Why a driver ABI is required? The reason wy I propose the driver ABI is that the current LKM mechanism is quite unacceptable. It was fairly good sometimes around 1.2.x and 2.0.0 days but for some reason things have gotten worse and worse after that. We have learned to live with it. It just causes some waste of time that could otherwise be spent on something productive. However for many companies without prior LKM experience it's a big challenge. Today there are 50-100 different kernel images released by numerous Linux distribution vendors. In most Linux systems there are no development tools installed so it's "impossible" to install any kernel modules from the sources. This is true also with "pure GPL" modules. To be able to compile the module the user needs to install first the kernel sources, gcc, binutils and make (if they have that much of free disk space left). After figuring out what and how to install he also needs to figure out how to configure the kernel (headers) in the right way. This is not something an average Linux user can do. Many of them don't even know how to get to the command line. For this reason companies making kernel modules must distribute a precompiled module for each of the 50-100 different distribution kernel images that are in active use (or a subset of them). The number is very large because many distribution vendors release 2 to 8 different kernel images (SMP/UP, athlon/PIII/P4/etc) every time. And this must be done also if the driver sources are under GPL. There is not a problem if the module is compiled by the maintainer of the distribution or if the user has compiled his kernel himself. However it's impossible idea that drivers for every possible device could be included in the kernel source tree or in some other way be compiled by the distribution vendor. It can happen with devices that are in "mass" production. However the world is full of other devices that are interesting to about 0.0001% of all Linux users. In the current way it's pretty impossible to produce Linux drivers (even under GPL) because installing it would be too demanding. Things would be much easier if the same driver image works with most (or every) kernels. Another approach would be having the development tools and the properly configured kernel sources included in the minimum configurations of each Linux distribution but I would call this massive overkill. Yet another problem is that there is no way to know which symbols are only for kernel internal use and which ones can be safely used in some drivers. Some routines change between kernel versions which often makes drivers uncompilable. It's not difficult to find examples of this from the net. Many companies have released Linux drivers for their hardware but have then forgotten them. The result is that the driver sources are available from the manufacturer but they don't compile any more. It's usually difficult to fix them because they use unknown kernel routines that have not been in the kernel since year 0. Having a stable driver API or ABI very much eliminates this problem. I understand that many of the kernel team members are against any kind of non-GPL kernel space code. But I can't understand how making it difficult to use it could make Linux better as an operating system. OTOH making it easier to use binary only modules will also make it easier to use GPL modules too. Technical stuff --------------- It's not true that kernel space code cannot be compiled without using the kernel headers. OSS (Open Sound System) has for some time been compiled against the standard (libc) headers. Just one of the source files contains all the kernel dependent stuff and gets compiled against the kernel headers. The reason is not trying to avoid any GPL issues. This is just the only way to do that because otherwise the whole driver has to be recompiled separately for each possible kernel (OK, it would have to be shipped with sources too). We compile it against the libc headers to make sure that no kernel inline code gets accidently called (which would cause serious incompatibility problems). Also it's easier to set up the compiling environment in this way (kernel headers often contain headers that conflict with some other headers). The system headers are required just because they contain values for some important constants. The remaining "wrapper" module needs to be compiled against the right kernel headers. It's kind of kernel ABI module. Instead of being a part of the kernel it's part of our product (which is not the right place). In it's current form the wrapper contains just wrappers around some fundamental kernel routines and methods to access the required fields of some kernel structures. The "client" driver sees the kernel structures as some kind of cookies. It needs to call the right method to read/write a field in this structure. This kind of "1:1" wrapper is actually rather silly mechanism but it's easy to implement. I'm currently re-designing the wrapper so that it provides higher level of abstraction. In this way there is less overhead because fewer calls need to be done between the wrapper and the client driver. This wrapper will be released under LGPL (or GPL) so it will be available for use by everybody who needs it. It can also be included in the kernel sources. Implementing drivers on top of this kind of wrapper causes some performance impact. However it's not an issue. Many drivers actually make other kernel calls rather infrequently so usually there is no inpact at all. Most of time they spend by doing register I/O and things like that. HW access can be done with the usual kernel inline routines without any risk. Or the inline functions can be implemented inside the driver. Best regards, Hannu ----- Hannu Savolainen (hannu@opensound.com) http://www.opensound.com (Open Sound System (OSS)) http://www.compusonic.fi (Finnish OSS pages) OH2GLH QTH: Karkkila, Finland LOC: KP20CM ^ permalink raw reply [flat|nested] 180+ messages in thread
* Re: Driver API (was Re: Linux GPL and binary module exception clause?) 2003-12-11 0:50 ` Driver API (was Re: Linux GPL and binary module exception clause?) Hannu Savolainen @ 2003-12-11 4:01 ` Peter Chubb 2003-12-11 15:47 ` Jason Kingsland 2003-12-11 10:06 ` viro 1 sibling, 1 reply; 180+ messages in thread From: Peter Chubb @ 2003-12-11 4:01 UTC (permalink / raw) To: Hannu Savolainen; +Cc: linux-kernel >>>>> "Hannu" == Hannu Savolainen <hannu@opensound.com> writes: Hannu> Even better would be a proper device driver ABI for "loosely Hannu> integrated" device drivers. One of the things we're working on here is an ABI to allow device drivers to live in user space, by enabling access to interrupts and PCI DMA. Now that NPTL and fast system calls are available, it's possible to write, say, an IDE driver, that performs almost as well as (and in some cases better than) the in-kernel driver. Developing and tuning drivers out-of-kernel is *much* easier than developing a module that lives in the kernel. Also, bugs in an out-of-kernel driver are much less likely to affect the rest of the kernel (although screwing up the SG-list you pass to the device can do it) Sound drivers would be ideal to move out of the kernel entirely, and there's a student here working on that. I'll be talking about some of this work at LCA2004, and intend to release the code then too. -- Dr Peter Chubb http://www.gelato.unsw.edu.au peterc AT gelato.unsw.edu.au The technical we do immediately, the political takes *forever* ^ permalink raw reply [flat|nested] 180+ messages in thread
* Re: Driver API (was Re: Linux GPL and binary module exception clause?) 2003-12-11 4:01 ` Peter Chubb @ 2003-12-11 15:47 ` Jason Kingsland 2003-12-11 22:47 ` Peter Chubb 0 siblings, 1 reply; 180+ messages in thread From: Jason Kingsland @ 2003-12-11 15:47 UTC (permalink / raw) To: Peter Chubb, Hannu Savolainen; +Cc: linux-kernel Hannu Savolainen writes: > Even better would be a proper device driver ABI for "loosely > integrated" device drivers. Peter Chubb writes: > One of the things we're working on here is an ABI to allow device > drivers to live in user space, by enabling access to interrupts and > PCI DMA. This is already available via a commercial product. It's a proprietary licensed Linux binary loadable module (hmm...) that exports the kernel services to user space in an abstract, OS and CPU agnostic manner. The API is consistent for Win32, Linux, Solaris, VxWorks and variants. I've used it previously in a cross-platform commercial application which had to run on Linux and Win32 and required hardware access, it works well. The driver is provided as object code which you have to link against the kernel headers to get access to the appropriate Linux ABI for the target release. I believe the later versions include support for USB and HotSwap of PCI busses (for things like CompactPCI) - look at the Kerneldriver and Windriver products on the following page: http://www.jungo.com/products.html#driver_tools ps. Another dubious case of GPL boundaries perhaps - but I'm not going to restart that thread ! ^ permalink raw reply [flat|nested] 180+ messages in thread
* Re: Driver API (was Re: Linux GPL and binary module exception clause?) 2003-12-11 15:47 ` Jason Kingsland @ 2003-12-11 22:47 ` Peter Chubb 0 siblings, 0 replies; 180+ messages in thread From: Peter Chubb @ 2003-12-11 22:47 UTC (permalink / raw) To: Jason Kingsland; +Cc: Peter Chubb, Hannu Savolainen, linux-kernel >>>>> "Jason" == Jason Kingsland <Jason_Kingsland@hotmail.com> writes: Jason> Hannu Savolainen writes: >> Even better would be a proper device driver ABI for "loosely >> integrated" device drivers. Jason> Peter Chubb writes: >> One of the things we're working on here is an ABI to allow device >> drivers to live in user space, by enabling access to interrupts and >> PCI DMA. Jason> This is already available via a commercial product. ...snip... Jason> http://www.jungo.com/products.html#driver_tools Yes I know, I read their web page, and if cross-platform compatibility is what you want it looks a nice way to go. They didn't publish any performance figures (at least, not where I could find), and they're binary only, There's also the LinuxAnt stuff: http://www.linuxant.com that, for Wireless cards at least, provides a Windows ABI for standard NDIS drivers; and Hunt et al's work on Windows http://research.microsoft.com/~galenh/Publications/HuntUsenixNt97.pdf -- Dr Peter Chubb http://www.gelato.unsw.edu.au peterc AT gelato.unsw.edu.au The technical we do immediately, the political takes *forever* ^ permalink raw reply [flat|nested] 180+ messages in thread
* Re: Driver API (was Re: Linux GPL and binary module exception clause?) 2003-12-11 0:50 ` Driver API (was Re: Linux GPL and binary module exception clause?) Hannu Savolainen 2003-12-11 4:01 ` Peter Chubb @ 2003-12-11 10:06 ` viro 2003-12-11 12:47 ` Hannu Savolainen 1 sibling, 1 reply; 180+ messages in thread From: viro @ 2003-12-11 10:06 UTC (permalink / raw) To: Hannu Savolainen Cc: Linus Torvalds, Larry McVoy, Andre Hedrick, Arjan van de Ven, Valdis.Kletnieks, Kendall Bennett, linux-kernel On Thu, Dec 11, 2003 at 02:50:20AM +0200, Hannu Savolainen wrote: > Even better would be a proper device driver ABI for "loosely integrated" > device drivers. It's possible to hide differences between kernel releases > so that the same driver can work with wide range of kernel versions). > There are some performance penalties but they are not significant. And the > drivers included in the kernel source tree don't need to use this > interface so I don't see there any _technical_ reasons against this idea. > I can volunteer to implement this interface if it's OK. Some motivation > for the ABI as well as some technical ideas will be at the end of this > message. It doesn't work. Let me give you an example: right now we have a way to get from struct inode to struct block device - inode->i_bdev. You can wrap it into helper functions, whatever - it won't live to 2.8. Why? Because if we want to handle device removal in a sane way, that association will have to go. We will still have a need (and a way) to get from opened struct file of block device to its struct block_device. And _that_ association will remain stable through the entire life of struct file. Even when the mapping from inode to block device gets changed. And it means that arguments of block device ->open(), ->release() and ->ioctl() will change - instead of struct inode we will pass the struct block_device directly. It's OK - callers have a way to get the thing and methods themselves... right now the first thing they do is struct block_device *bdev = inode->i_bdev; and either don't use inode afterwards at all or (very few) use it in a way that can be replaced with use of bdev (e.g. inode->i_rdev -> bdev->bd_dev, etc.). The sole exception (floppy.c) still can get what it wants from the second argument of ->open() (struct file *). The rest of the tree also can deal - I've done that and patches are in -mm right now. Most of them are easily mergable in 2.6, BTW. See what it means? No fscking way to deal with that in wrappers. Simply because the old assumption (inode->block_device remains stable) is flat out wrong with new kernel. Note that "just add a new API and leave the old one for old drivers" would *NOT* work here. And yes, it's an interface change. Caused by the fact that old interface is Wrong(tm) (BTW, large part of that one is my fault - design mistake in 2.3 that hadn't become obvious until 2.5.late). Sure, we can declare the new variant a part of ABI and have the glue for 2.4 and 2.6 wrap the new ->open()/->ioctl()/->release() with boilerplate that will produce old-style ones. _That_ direction is easy. But that won't help you with ABI - it allows to put new driver into old kernel, not the other way round. Which, come to think of it, is hardly a surprise - hindsight is always 20/20 and all such. There is a good measure of interface quality - the less boilerplate code you need to use it, the better. It's not a trivial observation and not just a matter of aesthetics. It also means that there's less chance of non-trivial breakage. Note that you can wrap a good interface into bad one - and that can usually be done in a uniform way (i.e. by _adding_ that boilerplate code). You can't go the other way round. Case above is a good example of that effect. See the problem now? We can keep the same payload code if it uses a good interface and we add wrappers to make it work with kernels that give worse interfaces. So if we design a really good one, we can say "that's our ABI" and... what, exactly? As long as new kernels have interfaces that are not better than our, we are OK. But it simply means that a) we should just use that good interface (and no glue) as kernel one. b) as soon as we have a need to improve the kernel interface, no amount of glue is going to save that "ABI". c) in case if we decide to make kernel interface *WORSE*, our ABI will really shine - then we will simply add glue to deal with degraded kernel. Which leaves only one question - why in damnation name would we ever go for the case (c)? In other words, the nature of interface changes is such that usually you can do glue between old interface and new driver and not the other way round. Which kills ABI idea - either you get a particular interface 100% right and no glue is needed (then interface never changes simply because it's Right(tm) and needs no changes) or you do not and no glue will save you as soon as change becomes necessary. I'm a fairly arrogant bastard, but I do *not* claim that I can do all interfaces right at once and avoid design mistakes. Do you? And if yes, where can I get the drugs you are on? ^ permalink raw reply [flat|nested] 180+ messages in thread
* Re: Driver API (was Re: Linux GPL and binary module exception clause?) 2003-12-11 10:06 ` viro @ 2003-12-11 12:47 ` Hannu Savolainen 2003-12-11 13:33 ` viro 0 siblings, 1 reply; 180+ messages in thread From: Hannu Savolainen @ 2003-12-11 12:47 UTC (permalink / raw) To: viro Cc: Linus Torvalds, Larry McVoy, Andre Hedrick, Arjan van de Ven, Valdis.Kletnieks, Kendall Bennett, linux-kernel On Thu, 11 Dec 2003 viro@parcelfarce.linux.theplanet.co.uk wrote: > It doesn't work. Let me give you an example: right now we have a way to get > from struct inode to struct block device - inode->i_bdev. You can wrap it > into helper functions, whatever - it won't live to 2.8. > > Why? Because if we want to handle device removal in a sane way, that > association will have to go. We will still have a need (and a way) to get > from opened struct file of block device to its struct block_device. And _that_ > association will remain stable through the entire life of struct file. Even > when the mapping from inode to block device gets changed. I don't see this as a problem. I'm talking about an ABI for _character_ drivers only. Everybody who needs a "loosely coupled" device driver will probably want to implement a character driver. If you look at any operating systems there are very few differences between the character driver interfaces of them. There have not been any dramatic changes in this interface since Linux 0.99.x times. Some parameters have changed but that's almost it. Block devices, network devices and things like that are tighter coupled by nature. I don't eventry to claim it's going to be possible to create an ABI for them. At least I don't see it necessary. In a charcter driver all you need to know from the inode structure is basicly just the device (minor) number. It's not hard to implement the ABI layer so that the minor number can be provided regardless of the changes made to the kernel behind it. To the client driver the ABI "wrapper" is a black box. It can't see what is inside the box. In particular it can't see the kernel behind it. If something changes in the kernel some changes are needed to the internals of the box too. Best regards, Hannu ----- Hannu Savolainen (hannu@opensound.com) http://www.opensound.com (Open Sound System (OSS)) http://www.compusonic.fi (Finnish OSS pages) OH2GLH QTH: Karkkila, Finland LOC: KP20CM ^ permalink raw reply [flat|nested] 180+ messages in thread
* Re: Driver API (was Re: Linux GPL and binary module exception clause?) 2003-12-11 12:47 ` Hannu Savolainen @ 2003-12-11 13:33 ` viro 2003-12-11 14:54 ` Hannu Savolainen 0 siblings, 1 reply; 180+ messages in thread From: viro @ 2003-12-11 13:33 UTC (permalink / raw) To: Hannu Savolainen Cc: Linus Torvalds, Larry McVoy, Andre Hedrick, Arjan van de Ven, Valdis.Kletnieks, Kendall Bennett, linux-kernel On Thu, Dec 11, 2003 at 02:47:49PM +0200, Hannu Savolainen wrote: > In a charcter driver all you need to know from the inode structure is > basicly just the device (minor) number. It's not hard to implement the > ABI layer so that the minor number can be provided regardless of the > changes made to the kernel behind it. Not good enough (if you want a demonstration, check USB character devices and the nightmare stuff happening around handling of minor->object mapping there). Practically every place that uses minors instead of pointers to real objects (whatever they are for that subsystem) is fscked as soon as you start dealing with fun issues like hotplug, etc. And then there is sysfs fun - my worst nightmare right now is that some optimist will go ahead and put kobjects into sound/* objects. Then we are guaranteed several months of massaging the lifetime rules of the damn things to pure refcounting and doing that in the maze of twisty little wrappers, all pointless, will be *ugly*. I'm getting more than enough of that fun with netdev, thank you very much... No, I don't know what changes will be needed in cdev interfaces; almost certainly they will depend on subsystem and that's a work for 2.7. But we will need something and "just use minors" won't do it. ^ permalink raw reply [flat|nested] 180+ messages in thread
* Re: Driver API (was Re: Linux GPL and binary module exception clause?) 2003-12-11 13:33 ` viro @ 2003-12-11 14:54 ` Hannu Savolainen 0 siblings, 0 replies; 180+ messages in thread From: Hannu Savolainen @ 2003-12-11 14:54 UTC (permalink / raw) To: viro Cc: Linus Torvalds, Larry McVoy, Andre Hedrick, Arjan van de Ven, Valdis.Kletnieks, Kendall Bennett, linux-kernel On Thu, 11 Dec 2003 viro@parcelfarce.linux.theplanet.co.uk wrote: > On Thu, Dec 11, 2003 at 02:47:49PM +0200, Hannu Savolainen wrote: > > > In a charcter driver all you need to know from the inode structure is > > basicly just the device (minor) number. It's not hard to implement the > > ABI layer so that the minor number can be provided regardless of the > > changes made to the kernel behind it. > > Not good enough (if you want a demonstration, check USB character devices > and the nightmare stuff happening around handling of minor->object mapping > there). I'm not talking about USB character devices. I'm not talking about hot-plugging. For sure it will be very difficult or even impossible to handle this kind of issues. I'm only talking about simple character device drivers. Ok, you can remove the major/minor mechanism entirely from Linux. Then we have a problem but I'm sure there will be some easy workaround even then. Best regards, Hannu ----- Hannu Savolainen (hannu@opensound.com) http://www.opensound.com (Open Sound System (OSS)) http://www.compusonic.fi (Finnish OSS pages) OH2GLH QTH: Karkkila, Finland LOC: KP20CM ^ permalink raw reply [flat|nested] 180+ messages in thread
* Re: Linux GPL and binary module exception clause? 2003-12-10 18:08 ` Larry McVoy 2003-12-10 18:17 ` Linus Torvalds @ 2003-12-10 18:37 ` Jan-Benedict Glaw 1 sibling, 0 replies; 180+ messages in thread From: Jan-Benedict Glaw @ 2003-12-10 18:37 UTC (permalink / raw) To: linux-kernel [-- Attachment #1: Type: text/plain, Size: 1589 bytes --] On Wed, 2003-12-10 10:08:22 -0800, Larry McVoy <lm@bitmover.com> wrote in message <20031210180822.GI6896@work.bitmover.com>: > On Wed, Dec 10, 2003 at 10:02:47AM -0800, Linus Torvalds wrote: > > On Wed, 10 Dec 2003, Larry McVoy wrote: > Technicality. Which, by your own reasoning, doesn't count. Linux does > indeed have a binary interface, many people download drivers from some > website (I've done it a pile of times) and stuck them in and they worked. > I did that with the modem on my thinkpad across more than 10 kernel > versions in the 2.2 or 2.4 timeframe. But guess - that can fire back, too. Just had it these days: I've build a Linux kernel with, erm, some strange GCC options (hey, I like playing) and inserted AVM's binars ISDN driver. Guess what had happened then:) That is, just let's stop to prattle about binary modules. We praddle (all the time) that there's no thing called an "ABI" in Linux for modules, but in The Real World, the ABIs of two kernel images are quasi-identical (except in some instances which can easily be caught by a wrapper module). So it's all about *really* changing ABI things here and there. Yes, an obnoxious pig I am:) I'd start thinking about who I could achieve that in a working manner... MfG, JBG -- Jan-Benedict Glaw jbglaw@lug-owl.de . +49-172-7608481 "Eine Freie Meinung in einem Freien Kopf | Gegen Zensur | Gegen Krieg fuer einen Freien Staat voll Freier Bürger" | im Internet! | im Irak! ret = do_actions((curr | FREE_SPEECH) & ~(NEW_COPYRIGHT_LAW | DRM | TCPA)); [-- Attachment #2: Digital signature --] [-- Type: application/pgp-signature, Size: 189 bytes --] ^ permalink raw reply [flat|nested] 180+ messages in thread
* RE: Linux GPL and binary module exception clause? 2003-12-10 18:02 ` Linus Torvalds 2003-12-10 18:08 ` Larry McVoy @ 2003-12-10 19:51 ` Hua Zhong 2003-12-10 20:09 ` Andre Hedrick 2 siblings, 0 replies; 180+ messages in thread From: Hua Zhong @ 2003-12-10 19:51 UTC (permalink / raw) To: 'Linus Torvalds', 'Larry McVoy' Cc: 'Andre Hedrick', 'Arjan van de Ven', Valdis.Kletnieks, 'Kendall Bennett', linux-kernel > No it wouldn't. > > Microsoft very much _has_ a binary API to their drivers, in a way that > Linux doesn't. > > MS has to have that binary API exactly because they live in a > binary-only world. They've basically put that requirement on themselves > by having binary-only distributions. > > So your argument doesn't fly. To Microsoft, a "driver" is just another > external entity, with documented API's, and they indeed ship > their _own_ drivers that way too. And all third-party drivers do the same > thing. > > So there is no analogy to the Linux case. In Linux, no fixed > binary API exists, and the way normal drivers are distributed are as > GPL'd source code. With all due respect, I find the above hardly convincing. With your own argument, how would you convince a judge to believe it without understanding all the subtle technical differences? (and we're just taking what you said about "one offers stable ABI the other not" for granted for now) Both Windows and Linux are operating systems, that's the first thing. Whether they are open source or not is just a secondary difference. How could this fundamentally change the question "if a driver is a derived work of the OS or not"? In either case the driver would not work "without the host OS". In either case, the same driver binary would probably not work across versions. Both are pretty strong points in your argument. Moreover, in the Windows world, a non-trivial user space application very possibly havs different binaries for different versions - hey, Windows may have a less stable user space ABI than Linux, so they could very well claim more rights over user space applications, can't they? I'm not arguing because I am afraid of being sued, just to clarify. To be frank the chance that I'm sued by kernel copyright holders for writing a binary only module is slimer than being sued by SCO for using Linux freely. The chance that I would lose is also slimer than IBM would lose to SCO. Hua ^ permalink raw reply [flat|nested] 180+ messages in thread
* Re: Linux GPL and binary module exception clause? 2003-12-10 18:02 ` Linus Torvalds 2003-12-10 18:08 ` Larry McVoy 2003-12-10 19:51 ` Hua Zhong @ 2003-12-10 20:09 ` Andre Hedrick 2 siblings, 0 replies; 180+ messages in thread From: Andre Hedrick @ 2003-12-10 20:09 UTC (permalink / raw) To: Linus Torvalds Cc: Larry McVoy, Arjan van de Ven, Valdis.Kletnieks, Kendall Bennett, linux-kernel Linus, Didn't your earlier public comments state in clear terms, each kernel release it self has a unique module interface. This would be the effective API for the snap shot in time. Where as claims of it being a moving target is between releases? Thus binary module writers get what they get? This looks to be your position in the past. With this in mind, it makes each "published" source the manual unique into itself. I am just a little confused and fuzzy around the edges. Andre Hedrick LAD Storage Consulting Group PS: Nobody has yet to comment that I have remaind civil throught the thread :-) whoops! On Wed, 10 Dec 2003, Linus Torvalds wrote: > > On Wed, 10 Dec 2003, Larry McVoy wrote: > > > > I see. And your argument, had it prevailed 5 years ago, would have > > invalidated the following, would it not? The following from one of the > > Microsoft lawsuits. > > No it wouldn't. > > Microsoft very much _has_ a binary API to their drivers, in a way that > Linux doesn't. > > MS has to have that binary API exactly because they live in a binary-only > world. They've basically put that requirement on themselves by having > binary-only distributions. > > So your argument doesn't fly. To Microsoft, a "driver" is just another > external entity, with documented API's, and they indeed ship their _own_ > drivers that way too. And all third-party drivers do the same thing. > > So there is no analogy to the Linux case. In Linux, no fixed binary API > exists, and the way normal drivers are distributed are as GPL'd source > code. > > Linus > - > To unsubscribe from this list: send the line "unsubscribe linux-kernel" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html > Please read the FAQ at http://www.tux.org/lkml/ > ^ permalink raw reply [flat|nested] 180+ messages in thread
* Re: Linux GPL and binary module exception clause? 2003-12-10 17:56 ` Larry McVoy 2003-12-10 18:02 ` Linus Torvalds @ 2003-12-11 1:24 ` Andrew Pimlott 2003-12-11 7:43 ` Rob Landley 2 siblings, 0 replies; 180+ messages in thread From: Andrew Pimlott @ 2003-12-11 1:24 UTC (permalink / raw) To: linux-kernel Cc: Larry McVoy, Linus Torvalds, Larry McVoy, Andre Hedrick, Arjan van de Ven, Valdis.Kletnieks, Kendall Bennett On Wed, Dec 10, 2003 at 09:56:14AM -0800, Larry McVoy wrote: > On Wed, Dec 10, 2003 at 09:10:18AM -0800, Linus Torvalds wrote: > > In short, your honour, this extra chapter without any meaning on its own > > is a derived work of the book. > > I see. And your argument, had it prevailed 5 years ago, would have > invalidated the following, would it not? The following from one of the > Microsoft lawsuits. > > >From http://ecfp.cadc.uscourts.gov/MS-Docs/1636/0.pdf > > Substituting an alternative module for one supplied by Microsoft > may not violate copyright law, and certainly not because of any > "integrity of the work" argument. The United States recognizes "moral > rights" of attribution and integrity only for works of visual art > in limited editions of 200 or fewer copies. (See 17 U.S.C. 106A > and the definition of "work of visual art" in 17 U.S.C. 101.) A > bookstore can replace the last chapter of a mystery novel without > infringing its copyright, as long as they are not reprinting the > other chapters but are simply removing the last chapter and replacing > it with an alternative one, but must not pass the book off as the > original. Having a copyright in a work does not give that copyright > owner unlimited freedom in the terms he can impose. You probably should have mentioned that this statement was made not by a judge or a lawyer, but by a CS professor in an amicus curiae brief. And the implication that this argument had much to do with the outcome of the Microsoft case--which was about antitrust and bundling, not copyrights--is disingenuous. > Start to see why I think what you are doing is dangerous and will backfire? You are extrapolating way too far. There are so many differences between the Linux-module issue and the vague doomsday scenario you are trying to conjure. Linus explained one (coherence and stability of the API/ABI), and I think it could be easily be cast as a test that a court could apply. Maybe you can describe a specific case in which Linus's argument backfires? I'm not saying you have no point at all, just that I don't think this one thing is holding back the flood-waters. Andrew ^ permalink raw reply [flat|nested] 180+ messages in thread
* Re: Linux GPL and binary module exception clause? 2003-12-10 17:56 ` Larry McVoy 2003-12-10 18:02 ` Linus Torvalds 2003-12-11 1:24 ` Andrew Pimlott @ 2003-12-11 7:43 ` Rob Landley 2003-12-11 8:11 ` Hua Zhong 2 siblings, 1 reply; 180+ messages in thread From: Rob Landley @ 2003-12-11 7:43 UTC (permalink / raw) To: Larry McVoy, Linus Torvalds Cc: Larry McVoy, Andre Hedrick, Arjan van de Ven, Valdis.Kletnieks, Kendall Bennett, linux-kernel On Wednesday 10 December 2003 11:56, Larry McVoy wrote: > On Wed, Dec 10, 2003 at 09:10:18AM -0800, Linus Torvalds wrote: > > On Wed, 10 Dec 2003, Larry McVoy wrote: > > > Which is? How is it that you can spend a page of text saying a judge > > > doesn't care about technicalities and then base the rest of your > > > argument on the distinction between a "plugin" and a "kernel module"? > > > > I'll stop arguing, since you obviously do not get it. > > Err, I think people might say you are punting. You claim that there is a > difference between a plugin and a kernel module, I ask what, you say > "I'll stop arguing because you don't get it". Hmm. For one thing, the plugin was made by someone without access to Netscape or IE's source code, using a documented interface that contained sufficient information to do the job without access to that source code. Yes, it matters. Rob ^ permalink raw reply [flat|nested] 180+ messages in thread
* RE: Linux GPL and binary module exception clause? 2003-12-11 7:43 ` Rob Landley @ 2003-12-11 8:11 ` Hua Zhong 2003-12-11 8:37 ` Rob Landley 0 siblings, 1 reply; 180+ messages in thread From: Hua Zhong @ 2003-12-11 8:11 UTC (permalink / raw) To: rob, 'Larry McVoy', 'Linus Torvalds' Cc: 'Andre Hedrick', 'Arjan van de Ven', Valdis.Kletnieks, 'Kendall Bennett', linux-kernel > For one thing, the plugin was made by someone without access > to Netscape or IE's source code, using a documented interface > that contained sufficient information to do the job without access > to that source code. > > Yes, it matters. _What_ matters? Open source? (if you write a plugin for an opensource kernel/application, you are not plugin anymore and you are derived work.) I am sure you don't mean it. Documented interface? Hey, there are sources which are the best documentation. :-) Seriously, even if I accept that there is never an intent to support a stable ABI for kernel modules, some vendor can easily claim that "we support a stable ABI, so write kernel modules for the kernel we distribute". Anything can prevent that? I cannot see GPL disallow it. So OK, Linus and other kernel developers never intended to provide a stable ABI, but someone else could. The original author's intent is never relevant anymore. This is the goodness of opensource, isn't it? ^ permalink raw reply [flat|nested] 180+ messages in thread
* Re: Linux GPL and binary module exception clause? 2003-12-11 8:11 ` Hua Zhong @ 2003-12-11 8:37 ` Rob Landley 2003-12-11 18:22 ` Hua Zhong 2003-12-11 21:20 ` Andre Hedrick 0 siblings, 2 replies; 180+ messages in thread From: Rob Landley @ 2003-12-11 8:37 UTC (permalink / raw) To: hzhong, 'Larry McVoy', 'Linus Torvalds' Cc: 'Andre Hedrick', 'Arjan van de Ven', Valdis.Kletnieks, 'Kendall Bennett', linux-kernel On Thursday 11 December 2003 02:11, Hua Zhong wrote: > > For one thing, the plugin was made by someone without access > > to Netscape or IE's source code, using a documented interface > > that contained sufficient information to do the job without access > > to that source code. > > > > Yes, it matters. > > _What_ matters? > > Open source? (if you write a plugin for an opensource > kernel/application, you are not plugin anymore and you are derived > work.) I am sure you don't mean it. > > Documented interface? Hey, there are sources which are the best > documentation. :-) If you write software by referring to documentation, the barrier for it being a derivative work is higher than if you write it by looking at another implementation. > Seriously, even if I accept that there is never an intent to support a > stable ABI for kernel modules, some vendor can easily claim that "we > support a stable ABI, so write kernel modules for the kernel we > distribute". > > Anything can prevent that? I cannot see GPL disallow it. > > So OK, Linus and other kernel developers never intended to provide a > stable ABI, but someone else could. The original author's intent is > never relevant anymore. This is the goodness of opensource, isn't it? Once upon a time, Compaq did a clean-room clone of IBM's BIOS. Group 1 studied the original bios and wrote up a spec, and group 2 wrote a new bios from that spec, and group 1 never spoke to group 2, and all of this was extensively documented so that when IBM sued them they proved in court that their BIOS wasn't derived from IBM's. (Of course compaq used vigin programmers fresh out of college who'd never seen a PC before, which was a lot easier to do in 1983...) I didn't make this up. This was a really big deal 20 years ago. It happened, and it mattered, and people cared that they created a fresh implementation without seeing the original code, entirely from a written specification that was not a derivative work of the first implementation, so no matter how similar the second implementation was (hand-coded assembly performing the same functions on the same processor in the same amount of space), it could not be considered a derivative work. This was a strong enough defense to beat IBM's lawyers, who were trying to claim that Compaq's new BIOS WAS a derivative work... Rob ^ permalink raw reply [flat|nested] 180+ messages in thread
* RE: Linux GPL and binary module exception clause? 2003-12-11 8:37 ` Rob Landley @ 2003-12-11 18:22 ` Hua Zhong 2003-12-11 21:20 ` Andre Hedrick 1 sibling, 0 replies; 180+ messages in thread From: Hua Zhong @ 2003-12-11 18:22 UTC (permalink / raw) To: rob, 'Larry McVoy', 'Linus Torvalds' Cc: 'Andre Hedrick', 'Arjan van de Ven', Valdis.Kletnieks, 'Kendall Bennett', linux-kernel > If you write software by referring to documentation, the > barrier for it being a derivative work is higher than if you > write it by looking at another implementation. > > [and the IBM/Compaq lawsuit] What you mentioned is not relevant to the discussion, I think. People who write kernel modules might read kernel sources, yes. But they read kernel source to understand how it works, not to clone it. Even user space programmers do that. Even people not writing software for Linux do that. Isn't the open source spirit to encourage people to read it? Now what you said indicates "read me, but you are then tainted and when I sue you you have to provide evidence you are not". People also reverse-engineer how closed-source software works. That is how we got FAT/NTFS support in Linux. People also write various interesting software using undocumented APIs of DOS and Windows. Remember TSR? Remember <<Undocumented DOS/Windows>>? We want the same thing on Linux. Great Linux is open source so we don't have to do the same reverse-engineering thing as we did to M$ operating systems (IOW, reading source is the easiest way to "reverse-engineer" so we could write software that interfaces with the system). Now after reading your comment, I have to wonder "which one is nicer, Linux or Windows"? Hua ^ permalink raw reply [flat|nested] 180+ messages in thread
* Re: Linux GPL and binary module exception clause? 2003-12-11 8:37 ` Rob Landley 2003-12-11 18:22 ` Hua Zhong @ 2003-12-11 21:20 ` Andre Hedrick 2003-12-11 21:59 ` Rob Landley 1 sibling, 1 reply; 180+ messages in thread From: Andre Hedrick @ 2003-12-11 21:20 UTC (permalink / raw) To: Rob Landley Cc: hzhong, 'Larry McVoy', 'Linus Torvalds', 'Arjan van de Ven', Valdis.Kletnieks, 'Kendall Bennett', linux-kernel Rob, Help me out? Who is cloning what ? I am talking about original works, to talking about talking somebody's stuff out of the kernel, hacking it up and distributing the work as an original (that is clearly a derived work). So your arguement is bogus, try again. Cheers, Andre Hedrick LAD Storage Consulting Group On Thu, 11 Dec 2003, Rob Landley wrote: > On Thursday 11 December 2003 02:11, Hua Zhong wrote: > > > For one thing, the plugin was made by someone without access > > > to Netscape or IE's source code, using a documented interface > > > that contained sufficient information to do the job without access > > > to that source code. > > > > > > Yes, it matters. > > > > _What_ matters? > > > > Open source? (if you write a plugin for an opensource > > kernel/application, you are not plugin anymore and you are derived > > work.) I am sure you don't mean it. > > > > Documented interface? Hey, there are sources which are the best > > documentation. :-) > > If you write software by referring to documentation, the barrier for it being > a derivative work is higher than if you write it by looking at another > implementation. > > > Seriously, even if I accept that there is never an intent to support a > > stable ABI for kernel modules, some vendor can easily claim that "we > > support a stable ABI, so write kernel modules for the kernel we > > distribute". > > > > Anything can prevent that? I cannot see GPL disallow it. > > > > So OK, Linus and other kernel developers never intended to provide a > > stable ABI, but someone else could. The original author's intent is > > never relevant anymore. This is the goodness of opensource, isn't it? > > Once upon a time, Compaq did a clean-room clone of IBM's BIOS. Group 1 > studied the original bios and wrote up a spec, and group 2 wrote a new bios > from that spec, and group 1 never spoke to group 2, and all of this was > extensively documented so that when IBM sued them they proved in court that > their BIOS wasn't derived from IBM's. (Of course compaq used vigin > programmers fresh out of college who'd never seen a PC before, which was a > lot easier to do in 1983...) > > I didn't make this up. This was a really big deal 20 years ago. It happened, > and it mattered, and people cared that they created a fresh implementation > without seeing the original code, entirely from a written specification that > was not a derivative work of the first implementation, so no matter how > similar the second implementation was (hand-coded assembly performing the > same functions on the same processor in the same amount of space), it could > not be considered a derivative work. > > This was a strong enough defense to beat IBM's lawyers, who were trying to > claim that Compaq's new BIOS WAS a derivative work... > > Rob > ^ permalink raw reply [flat|nested] 180+ messages in thread
* Re: Linux GPL and binary module exception clause? 2003-12-11 21:20 ` Andre Hedrick @ 2003-12-11 21:59 ` Rob Landley 2003-12-11 22:42 ` Andre Hedrick 0 siblings, 1 reply; 180+ messages in thread From: Rob Landley @ 2003-12-11 21:59 UTC (permalink / raw) To: Andre Hedrick Cc: hzhong, 'Larry McVoy', 'Linus Torvalds', 'Arjan van de Ven', Valdis.Kletnieks, 'Kendall Bennett', linux-kernel On Thursday 11 December 2003 15:20, Andre Hedrick wrote: > Rob, > > Help me out? Who is cloning what ? > > I am talking about original works, to talking about talking somebody's > stuff out of the kernel, hacking it up and distributing the work as an > original (that is clearly a derived work). > > So your arguement is bogus, try again. If you'd read the message, you might have noticed that I was talking about why web browser plugins may be considered to be different from kernel modules. The fact you personally were off in a corner talking about little green men from mars is remarkably irrelevant to what I wrote to Hua Zhong (who I'm fairly certain is not you. His english is better.) I have no intention of "trying again" because I wasn't talking to you in the first place. (I don't find what you have to say on IP issues particularly interesting, and don't read the ones that aren't cc'd to me...) Neither of us are lawyers. The difference is that I know it. Rob > Cheers, > > Andre Hedrick > LAD Storage Consulting Group > > On Thu, 11 Dec 2003, Rob Landley wrote: > > On Thursday 11 December 2003 02:11, Hua Zhong wrote: > > > > For one thing, the plugin was made by someone without access > > > > to Netscape or IE's source code, using a documented interface > > > > that contained sufficient information to do the job without access > > > > to that source code. > > > > > > > > Yes, it matters. > > > > > > _What_ matters? > > > > > > Open source? (if you write a plugin for an opensource > > > kernel/application, you are not plugin anymore and you are derived > > > work.) I am sure you don't mean it. > > > > > > Documented interface? Hey, there are sources which are the best > > > documentation. :-) > > > > If you write software by referring to documentation, the barrier for it > > being a derivative work is higher than if you write it by looking at > > another implementation. > > > > > Seriously, even if I accept that there is never an intent to support a > > > stable ABI for kernel modules, some vendor can easily claim that "we > > > support a stable ABI, so write kernel modules for the kernel we > > > distribute". > > > > > > Anything can prevent that? I cannot see GPL disallow it. > > > > > > So OK, Linus and other kernel developers never intended to provide a > > > stable ABI, but someone else could. The original author's intent is > > > never relevant anymore. This is the goodness of opensource, isn't it? > > > > Once upon a time, Compaq did a clean-room clone of IBM's BIOS. Group 1 > > studied the original bios and wrote up a spec, and group 2 wrote a new > > bios from that spec, and group 1 never spoke to group 2, and all of this > > was extensively documented so that when IBM sued them they proved in > > court that their BIOS wasn't derived from IBM's. (Of course compaq used > > vigin programmers fresh out of college who'd never seen a PC before, > > which was a lot easier to do in 1983...) > > > > I didn't make this up. This was a really big deal 20 years ago. It > > happened, and it mattered, and people cared that they created a fresh > > implementation without seeing the original code, entirely from a written > > specification that was not a derivative work of the first implementation, > > so no matter how similar the second implementation was (hand-coded > > assembly performing the same functions on the same processor in the same > > amount of space), it could not be considered a derivative work. > > > > This was a strong enough defense to beat IBM's lawyers, who were trying > > to claim that Compaq's new BIOS WAS a derivative work... > > > > Rob ^ permalink raw reply [flat|nested] 180+ messages in thread
* Re: Linux GPL and binary module exception clause? 2003-12-11 21:59 ` Rob Landley @ 2003-12-11 22:42 ` Andre Hedrick 2003-12-12 5:39 ` Rob Landley 0 siblings, 1 reply; 180+ messages in thread From: Andre Hedrick @ 2003-12-11 22:42 UTC (permalink / raw) To: Rob Landley Cc: hzhong, 'Larry McVoy', 'Linus Torvalds', 'Arjan van de Ven', Valdis.Kletnieks, 'Kendall Bennett', linux-kernel Rob, > The fact you personally were off in a corner talking about little green men > from mars is remarkably irrelevant to what I wrote to Hua Zhong (who I'm > fairly certain is not you. His english is better.) Gee, I love the insults. I seriously doubt you have ever paid a lawyer to even have the knowledge to allow you to pump out the bovine piles you are spraying in the air. Correct, I am not a lawyer, and you admit you are not one. I have paid lawyers for advice and some damn good ones. Can you say the same? Cheers, Andre Hedrick LAD Storage Consulting Group On Thu, 11 Dec 2003, Rob Landley wrote: > On Thursday 11 December 2003 15:20, Andre Hedrick wrote: > > Rob, > > > > Help me out? Who is cloning what ? > > > > I am talking about original works, to talking about talking somebody's > > stuff out of the kernel, hacking it up and distributing the work as an > > original (that is clearly a derived work). > > > > So your arguement is bogus, try again. > > If you'd read the message, you might have noticed that I was talking about why > web browser plugins may be considered to be different from kernel modules. > > The fact you personally were off in a corner talking about little green men > from mars is remarkably irrelevant to what I wrote to Hua Zhong (who I'm > fairly certain is not you. His english is better.) > > I have no intention of "trying again" because I wasn't talking to you in the > first place. (I don't find what you have to say on IP issues particularly > interesting, and don't read the ones that aren't cc'd to me...) Neither of > us are lawyers. The difference is that I know it. > > Rob > > > Cheers, > > > > Andre Hedrick > > LAD Storage Consulting Group > > > > On Thu, 11 Dec 2003, Rob Landley wrote: > > > On Thursday 11 December 2003 02:11, Hua Zhong wrote: > > > > > For one thing, the plugin was made by someone without access > > > > > to Netscape or IE's source code, using a documented interface > > > > > that contained sufficient information to do the job without access > > > > > to that source code. > > > > > > > > > > Yes, it matters. > > > > > > > > _What_ matters? > > > > > > > > Open source? (if you write a plugin for an opensource > > > > kernel/application, you are not plugin anymore and you are derived > > > > work.) I am sure you don't mean it. > > > > > > > > Documented interface? Hey, there are sources which are the best > > > > documentation. :-) > > > > > > If you write software by referring to documentation, the barrier for it > > > being a derivative work is higher than if you write it by looking at > > > another implementation. > > > > > > > Seriously, even if I accept that there is never an intent to support a > > > > stable ABI for kernel modules, some vendor can easily claim that "we > > > > support a stable ABI, so write kernel modules for the kernel we > > > > distribute". > > > > > > > > Anything can prevent that? I cannot see GPL disallow it. > > > > > > > > So OK, Linus and other kernel developers never intended to provide a > > > > stable ABI, but someone else could. The original author's intent is > > > > never relevant anymore. This is the goodness of opensource, isn't it? > > > > > > Once upon a time, Compaq did a clean-room clone of IBM's BIOS. Group 1 > > > studied the original bios and wrote up a spec, and group 2 wrote a new > > > bios from that spec, and group 1 never spoke to group 2, and all of this > > > was extensively documented so that when IBM sued them they proved in > > > court that their BIOS wasn't derived from IBM's. (Of course compaq used > > > vigin programmers fresh out of college who'd never seen a PC before, > > > which was a lot easier to do in 1983...) > > > > > > I didn't make this up. This was a really big deal 20 years ago. It > > > happened, and it mattered, and people cared that they created a fresh > > > implementation without seeing the original code, entirely from a written > > > specification that was not a derivative work of the first implementation, > > > so no matter how similar the second implementation was (hand-coded > > > assembly performing the same functions on the same processor in the same > > > amount of space), it could not be considered a derivative work. > > > > > > This was a strong enough defense to beat IBM's lawyers, who were trying > > > to claim that Compaq's new BIOS WAS a derivative work... > > > > > > Rob > > - > To unsubscribe from this list: send the line "unsubscribe linux-kernel" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html > Please read the FAQ at http://www.tux.org/lkml/ > ^ permalink raw reply [flat|nested] 180+ messages in thread
* Re: Linux GPL and binary module exception clause? 2003-12-11 22:42 ` Andre Hedrick @ 2003-12-12 5:39 ` Rob Landley 2003-12-12 7:21 ` Andre Hedrick 0 siblings, 1 reply; 180+ messages in thread From: Rob Landley @ 2003-12-12 5:39 UTC (permalink / raw) To: Andre Hedrick; +Cc: linux-kernel On Thursday 11 December 2003 16:42, Andre Hedrick wrote: > Rob, > > > The fact you personally were off in a corner talking about little green > > men from mars is remarkably irrelevant to what I wrote to Hua Zhong (who > > I'm fairly certain is not you. His english is better.) > > Gee, I love the insults. I seriously doubt you have ever paid a lawyer > to even have the knowledge to allow you to pump out the bovine piles you > are spraying in the air. I've noticed that you love insults, yes. I believe you've finally found a statement that we can both agree on. > Correct, I am not a lawyer, and you admit you are not one. Two. Wow. Progress. > I have paid lawyers for advice and some damn good ones. > > Can you say the same? I have paid lawyers for advice. I have been paid BY lawyers. I have hung out socially with lawyers. I have studied law for years, although not with the aim of acquiring credentials. Here's a week-long series on intellectual property I wrote for The Motley Fool a few years ago. It was reviewed by TMF's legal department, and we went back and forth on a couple minor things before it got published. http://www.fool.com/portfolios/rulemaker/2000/rulemaker000501.htm http://www.fool.com/portfolios/rulemaker/2000/rulemaker000502.htm http://www.fool.com/portfolios/rulemaker/2000/rulemaker000503.htm http://www.fool.com/portfolios/rulemaker/2000/rulemaker000504.htm http://www.fool.com/portfolios/rulemaker/2000/rulemaker000505.htm I've since spotted a couple more minor points that crept past the lawyers who reviewed it. I have learned since then. I learned doing it: I still have some of the literature I picked up visiting the PTO in washington DC doing research for that series. And I learned a lot years before doing it. That's just one example that's still online. I have been paid to explain the standard community interpretation of the GPL by at least three different companies' lawyers now. (I started studying the GPL and LGPL specifically in 1996, which is really what got me into this whole hobby...) A few years ago I had some fairly extensive email discussions with Richard Stallman about copyright and the GPL (even driving to boston to interview him in person once). I've had considerably more extensive discussions with Eric Raymond (whose wife is a lawyer, and who as president of OSI has been asked to review licenses by companies like Apple and IBM...) Heck, Eric and Cathy are _friends_ of mine. Try "dig www.landley.net" and "dig www.thyrsus.com": I'm still borrowing space on the machine in Eric's basement because I've been too lazy to arrange a hosting box here in Texas. (It's on my to-do list...) I'm mentioned in the introduction of Eric's new book because I went to Pennsylvania and crashed on his couch for a month to edit the thing. (http://www.catb.org/~esr/writings/taoup/html/pr01s06.html paragraph 2. The "walkthrough" in 0.2 and 0.3 of the revision history was _ME_.) I'm the one who arranged to have a panel at Penguicon on intellectual property issues with a real lawyer (Cathy) explaining what the various open source licenses mean to attendees (See http://penguicon.sourceforge.net/programming.shtml sunday, 10 am, north belle). This year's Penguicon will probably have another one, although I'm much less involved... And what I've learned from ALL of that (and far more that's not worth listing here) is that there's a reason it's called a legal OPINION, and what you generally say isn't "you're wrong" but "I disagree, and here's why". Judges give rulings, not lawyers. (And judges' rulings get overturned, don't apply to a given case, vary by jurisdiction, etc...) Lawyers no more universally agree on interpretations of the law then techies agree on kernel optimizations. And open source licensing (as a subset of intellectual property) is every bit as much a specialty area of the law as virtual memory page replacement strategies (a subset of kernel development) is a specialty area of programming. (Most lawyers don't really know much about it at all, they just know where to look it up. Hence a couple lawyers asking me what the community thinks the GPL means. Obviously they don't take my opinion as gospel: they go and read the thing themselves, and the law, and as much relevant case law as they can find (which ain't much), and then we have a back and forth...) I don't know much about estate planning, tax law, insurance law, or civil administrative procedure. I keep forgetting what latin terms like "res judicata" mean (god bless Google), and I had to look up "barratry" at the start of the SCO thing. But yes, I consider myself competently informed about my little niche. These days, with resources like http://www4.law.cornell.edu/uscode/17/ out there, it's not nearly as hard to be up to speed on this as it used to be. (You used to have to go to the LIBRARY. And get out BOOKS. And send money to Nolo Press every time they got sued. Uphill. Both ways.) > Can you say the same? Why would I want to? I've seen experts in this area. Eben Moglen (http://emoglen.law.columbia.edu/) and Lawrence Lessig (http://www.lessig.org/blog/) come to mind. I am not an expert here. I am an educated layman. I read things like "Legal battles that shaped the computer industry" (by Lawrence D. Graham, http://www.amazon.co.uk/exec/obidos/ASIN/1567201784/026-4037783-2541254 ) for fun. Yes, I am weird. You obviously aren't even an educated layman if you think that simply having spoken to a lawyer means that legalness somehow rubbed off on you and gave you an aura of absolute truth. Every time I talk to a lawyer, the concept of absolute truth in law gets farther and farther away... Feel free to take that as a suggestion. Rob ^ permalink raw reply [flat|nested] 180+ messages in thread
* Re: Linux GPL and binary module exception clause? 2003-12-12 5:39 ` Rob Landley @ 2003-12-12 7:21 ` Andre Hedrick 2003-12-12 7:39 ` Rob Landley 0 siblings, 1 reply; 180+ messages in thread From: Andre Hedrick @ 2003-12-12 7:21 UTC (permalink / raw) To: Rob Landley; +Cc: linux-kernel Rob, You know, I would have to say you just waxed my arse all over the mailing list and left it in the mop bucket for cooling off. The beauty is I can now laugh about it, and see you are so raw over the issue. Have a case of chapstick to help smooth over the burn. It is kind of cool you had an atomic bomb to fry me, if I cared I would respond in the old ugly manners, but hey I asked for it. Feels like the the dude in the Memorex commerial. Cheers, Andre Hedrick LAD Storage Consulting Group On Thu, 11 Dec 2003, Rob Landley wrote: > On Thursday 11 December 2003 16:42, Andre Hedrick wrote: > > Rob, > > > > > The fact you personally were off in a corner talking about little green > > > men from mars is remarkably irrelevant to what I wrote to Hua Zhong (who > > > I'm fairly certain is not you. His english is better.) > > > > Gee, I love the insults. I seriously doubt you have ever paid a lawyer > > to even have the knowledge to allow you to pump out the bovine piles you > > are spraying in the air. > > I've noticed that you love insults, yes. I believe you've finally found a > statement that we can both agree on. > > > Correct, I am not a lawyer, and you admit you are not one. > > Two. Wow. Progress. > > > I have paid lawyers for advice and some damn good ones. > > > > Can you say the same? > > I have paid lawyers for advice. I have been paid BY lawyers. I have hung out > socially with lawyers. I have studied law for years, although not with the > aim of acquiring credentials. > > Here's a week-long series on intellectual property I wrote for The Motley Fool > a few years ago. It was reviewed by TMF's legal department, and we went back > and forth on a couple minor things before it got published. > > http://www.fool.com/portfolios/rulemaker/2000/rulemaker000501.htm > http://www.fool.com/portfolios/rulemaker/2000/rulemaker000502.htm > http://www.fool.com/portfolios/rulemaker/2000/rulemaker000503.htm > http://www.fool.com/portfolios/rulemaker/2000/rulemaker000504.htm > http://www.fool.com/portfolios/rulemaker/2000/rulemaker000505.htm > > I've since spotted a couple more minor points that crept past the lawyers who > reviewed it. I have learned since then. I learned doing it: I still have > some of the literature I picked up visiting the PTO in washington DC doing > research for that series. And I learned a lot years before doing it. That's > just one example that's still online. > > I have been paid to explain the standard community interpretation of the GPL > by at least three different companies' lawyers now. (I started studying the > GPL and LGPL specifically in 1996, which is really what got me into this > whole hobby...) > > A few years ago I had some fairly extensive email discussions with Richard > Stallman about copyright and the GPL (even driving to boston to interview him > in person once). I've had considerably more extensive discussions with Eric > Raymond (whose wife is a lawyer, and who as president of OSI has been asked > to review licenses by companies like Apple and IBM...) > > Heck, Eric and Cathy are _friends_ of mine. Try "dig www.landley.net" and > "dig www.thyrsus.com": I'm still borrowing space on the machine in Eric's > basement because I've been too lazy to arrange a hosting box here in Texas. > (It's on my to-do list...) I'm mentioned in the introduction of Eric's new > book because I went to Pennsylvania and crashed on his couch for a month to > edit the thing. (http://www.catb.org/~esr/writings/taoup/html/pr01s06.html > paragraph 2. The "walkthrough" in 0.2 and 0.3 of the revision history was > _ME_.) > > I'm the one who arranged to have a panel at Penguicon on intellectual property > issues with a real lawyer (Cathy) explaining what the various open source > licenses mean to attendees (See > http://penguicon.sourceforge.net/programming.shtml sunday, 10 am, north > belle). This year's Penguicon will probably have another one, although I'm > much less involved... > > And what I've learned from ALL of that (and far more that's not worth listing > here) is that there's a reason it's called a legal OPINION, and what you > generally say isn't "you're wrong" but "I disagree, and here's why". Judges > give rulings, not lawyers. (And judges' rulings get overturned, don't apply > to a given case, vary by jurisdiction, etc...) > > Lawyers no more universally agree on interpretations of the law then techies > agree on kernel optimizations. And open source licensing (as a subset of > intellectual property) is every bit as much a specialty area of the law as > virtual memory page replacement strategies (a subset of kernel development) > is a specialty area of programming. (Most lawyers don't really know much > about it at all, they just know where to look it up. Hence a couple lawyers > asking me what the community thinks the GPL means. Obviously they don't take > my opinion as gospel: they go and read the thing themselves, and the law, and > as much relevant case law as they can find (which ain't much), and then we > have a back and forth...) > > I don't know much about estate planning, tax law, insurance law, or civil > administrative procedure. I keep forgetting what latin terms like "res > judicata" mean (god bless Google), and I had to look up "barratry" at the > start of the SCO thing. But yes, I consider myself competently informed > about my little niche. > > These days, with resources like http://www4.law.cornell.edu/uscode/17/ out > there, it's not nearly as hard to be up to speed on this as it used to be. > (You used to have to go to the LIBRARY. And get out BOOKS. And send money > to Nolo Press every time they got sued. Uphill. Both ways.) > > > Can you say the same? > > Why would I want to? > > I've seen experts in this area. Eben Moglen > (http://emoglen.law.columbia.edu/) and Lawrence Lessig > (http://www.lessig.org/blog/) come to mind. > > I am not an expert here. I am an educated layman. I read things like "Legal > battles that shaped the computer industry" (by Lawrence D. Graham, > http://www.amazon.co.uk/exec/obidos/ASIN/1567201784/026-4037783-2541254 ) for > fun. Yes, I am weird. > > You obviously aren't even an educated layman if you think that simply having > spoken to a lawyer means that legalness somehow rubbed off on you and gave > you an aura of absolute truth. Every time I talk to a lawyer, the concept of > absolute truth in law gets farther and farther away... > > Feel free to take that as a suggestion. > > Rob > ^ permalink raw reply [flat|nested] 180+ messages in thread
* Re: Linux GPL and binary module exception clause? 2003-12-12 7:21 ` Andre Hedrick @ 2003-12-12 7:39 ` Rob Landley 2003-12-12 7:56 ` Andre Hedrick 0 siblings, 1 reply; 180+ messages in thread From: Rob Landley @ 2003-12-12 7:39 UTC (permalink / raw) To: Andre Hedrick; +Cc: linux-kernel On Friday 12 December 2003 01:21, Andre Hedrick wrote: > Rob, > > You know, I would have to say you just waxed my arse all over the mailing > list and left it in the mop bucket for cooling off. The beauty is I can > now laugh about it, and see you are so raw over the issue. Have a case of > chapstick to help smooth over the burn. Ah, it's finals week. It's nice to vent a little steam and take a break from failing to get my Educational Psychology and Economics of Technology papers in on time. :) Sorry if I came down a bit hard. I type fast, and I've had a backlog of stress this week. (I know I had a reason for going back to grad school. I wonder what it was?) Rob ^ permalink raw reply [flat|nested] 180+ messages in thread
* Re: Linux GPL and binary module exception clause? 2003-12-12 7:39 ` Rob Landley @ 2003-12-12 7:56 ` Andre Hedrick 2003-12-12 9:27 ` Rob Landley 0 siblings, 1 reply; 180+ messages in thread From: Andre Hedrick @ 2003-12-12 7:56 UTC (permalink / raw) To: Rob Landley; +Cc: linux-kernel Rob, I must admit when I jumped into this thread late, I said I was a little chilly here in Northern California. I am toasty warm now and look like "Buckwheat" (just not on the top cause the hair is thin). The up side of the roasting is you have exposed yourself as a serious pool of knowledge. The down side for you is class is in session, and if nothing else I would like to here all the various positions and reviews you have observer, contributed, and blah blah ... TMF is not an easy place to express an opinion. My butt is in the chair to listen if class is in session :-) Cheers, Andre Hedrick LAD Storage Consulting Group PS for all the flamage I have ever dumped on this list, it is good to take some back in return. On Fri, 12 Dec 2003, Rob Landley wrote: > On Friday 12 December 2003 01:21, Andre Hedrick wrote: > > Rob, > > > > You know, I would have to say you just waxed my arse all over the mailing > > list and left it in the mop bucket for cooling off. The beauty is I can > > now laugh about it, and see you are so raw over the issue. Have a case of > > chapstick to help smooth over the burn. > > Ah, it's finals week. It's nice to vent a little steam and take a break from > failing to get my Educational Psychology and Economics of Technology papers > in on time. :) > > Sorry if I came down a bit hard. I type fast, and I've had a backlog of > stress this week. (I know I had a reason for going back to grad school. I > wonder what it was?) > > Rob > ^ permalink raw reply [flat|nested] 180+ messages in thread
* Re: Linux GPL and binary module exception clause? 2003-12-12 7:56 ` Andre Hedrick @ 2003-12-12 9:27 ` Rob Landley 0 siblings, 0 replies; 180+ messages in thread From: Rob Landley @ 2003-12-12 9:27 UTC (permalink / raw) To: Andre Hedrick; +Cc: linux-kernel On Friday 12 December 2003 01:56, Andre Hedrick wrote: > Rob, > > I must admit when I jumped into this thread late, I said I was a little > chilly here in Northern California. I am toasty warm now and look like > "Buckwheat" (just not on the top cause the hair is thin). > > The up side of the roasting is you have exposed yourself as a serious pool > of knowledge. The down side for you is class is in session, and if > nothing else I would like to here all the various positions and reviews > you have observer, contributed, and blah blah ... > > TMF is not an easy place to express an opinion. > > My butt is in the chair to listen if class is in session :-) Sheesh, I'm not an expert on this, but I'm happy to share my ignorance. Just keep in mind, IANAL. :) The place I started is http://www.faqs.org/faqs/law/copyright/faq/ which is pretty darn stale now (it's ten years old, it predates the sony bono copyright extension act, the DMCA, and a bunch of other stuff). So don't take is as an authority on any specifics of the law, but I found it to be a great introduction to the basic concepts, and I'd guess it still is. MIT has a similar FAQ here, but it's not nearly as thorough: http://web.mit.edu/copyright/faq.html And the next step (more authoritative/recent, but less detailed and newbie friendly) would be here: http://www.copyright.gov/faq.html What else... Understanding that copyright law is NOT the same as contract law, trademark law, patent law, or the nebulous mess that is trade secrets. (This is why stallman objects to the term "intellectual property", since there are several distinct islands that do not quite form a whole. I personally find his perfectionist attitude to be unhelpful dealing with the real world, but this is nothing new...) If you just understand the difference between a copyright and a license, you're ahead of most people. Dual licensing, who can issue a license, what happens when license terms are not compatable, etc... It's also probably a good idea to try to understand the first sale doctrine and fair use. These are good fundamental limits on copyright. (Trying to figure out how they apply online gives professional lawyers headaches, but keep in mind that the law is all about analogies. Half of what lawyers do is find good analogies to convince a judge "this situation is just like X" while the other lawyer tries to convince them it's just like Y...) You know, you could probably grab a business law textbook from your local community college's bookstore. It'll have chapters on this written by somebody who knows what they're talking about. Beyond that... Understanding what the law currently _is_ takes a bit of work. It's almost like trying to follow new kernel versions. Some of the lawyers I know occasionally send me articles from findlaw's news section (news.findlaw.com), which I don't have time to follow myself. Typing "gpl" into its news search thingy would almost certainly be interesting. :) Oh, and don't take anything you find as an absolute. Precedent isn't a guarantee, and what the law actually says can be bent amazingly with enough money (OJ Simpson, Dmitry Skylarov...) You may find some marvelous thing that's in the wrong jurisdiction, etc. This is a hobby every bit as complicated as programming. When it comes to the law I strive to be a "power user", and even that's work... P.S. I'd guess that the right place to ask questions on all this is www.groklaw.com. It can best be described as the geek law equivalent of slashdot. It focuses on the SCO mess, and lots of lawyers hang out there. (Their standard disclaimer is IAALBIANYL: I Am A Lawyer, But I Am Not Your Lawyer.) Rob ^ permalink raw reply [flat|nested] 180+ messages in thread
* RE: Linux GPL and binary module exception clause? 2003-12-10 17:10 ` Linus Torvalds 2003-12-10 17:25 ` Chris Friesen 2003-12-10 17:56 ` Larry McVoy @ 2003-12-10 18:14 ` David Schwartz 2003-12-10 18:21 ` Linus Torvalds 2003-12-10 19:48 ` Kendall Bennett 3 siblings, 1 reply; 180+ messages in thread From: David Schwartz @ 2003-12-10 18:14 UTC (permalink / raw) To: Linus Torvalds, Larry McVoy; +Cc: linux-kernel > Notice? This is actually _exactly_ what I've been arguing all along, > except I've been arguing with a technical audience, so I've been using > technical examples and terminology. But my argument is that just the fact > that somebody compiled the code for Linux into a binary module that is > useless without a particular version of the kernel DOES MAKE IT A DERIVED > WORK. So I'd need a license from Ford to make an aftermarket bumper. Their design is protected by copyright and my bumper is useless without a Ford car. You keep arguing for the type of world I don't want to live in. I really hope you're wrong. DS ^ permalink raw reply [flat|nested] 180+ messages in thread
* RE: Linux GPL and binary module exception clause? 2003-12-10 18:14 ` David Schwartz @ 2003-12-10 18:21 ` Linus Torvalds 0 siblings, 0 replies; 180+ messages in thread From: Linus Torvalds @ 2003-12-10 18:21 UTC (permalink / raw) To: David Schwartz; +Cc: Larry McVoy, linux-kernel On Wed, 10 Dec 2003, David Schwartz wrote: > > I really hope you're wrong. My opinion literally shouldn't matter to you. You can do anything you want. But if you start linking with the kernel, you should talk to your lawyer, because it is going to be _your_ problem (not mine) if you're found to be in violation of copyright. I'm trying to explain what is _clearly_ ok. It is _clearly_ ok to make a module that is 100% GPL'd. And it is _clearly_ ok to do anything you want with user space programs. Everything else, you need to convince _your_ lawyers that it is ok before you do it. They may say "go ahead". But you're not getting a "get out of jail" card from _me_. Linus ^ permalink raw reply [flat|nested] 180+ messages in thread
* Re: Linux GPL and binary module exception clause? 2003-12-10 17:10 ` Linus Torvalds ` (2 preceding siblings ...) 2003-12-10 18:14 ` David Schwartz @ 2003-12-10 19:48 ` Kendall Bennett 3 siblings, 0 replies; 180+ messages in thread From: Kendall Bennett @ 2003-12-10 19:48 UTC (permalink / raw) To: Linus Torvalds Cc: Larry McVoy, Andre Hedrick, Arjan van de Ven, Valdis.Kletnieks, linux-kernel Linus Torvalds <torvalds@osdl.org> wrote: > Just imagine: distributing a compiled binary-only kernel module > that can be loaded into the kernel is not like distributing a new > book: it's more like distributing a extra chapter to a book that > somebody else wrote, that uses all the same characters and the > plot, but more importantly it literally can only be read _together_ > with the original work. It doesn't stand alone. So what if the chapter you wrote was generic enough that it *could* be used for different books? Maybe it couldn't be read alone (at least not with a small book the link the chapters to make logical sense), but it could be read as a whole along with lots of book. In that case you would believe such a book would not be a derivative work, correct? Regards, --- Kendall Bennett Chief Executive Officer SciTech Software, Inc. Phone: (530) 894 8400 http://www.scitechsoft.com ~ SciTech SNAP - The future of device driver technology! ~ ^ permalink raw reply [flat|nested] 180+ messages in thread
* Re: Linux GPL and binary module exception clause? 2003-12-10 16:34 ` Larry McVoy 2003-12-10 17:10 ` Linus Torvalds @ 2003-12-11 7:32 ` Rob Landley 2003-12-11 14:03 ` Geert Uytterhoeven 1 sibling, 1 reply; 180+ messages in thread From: Rob Landley @ 2003-12-11 7:32 UTC (permalink / raw) To: Larry McVoy, Linus Torvalds Cc: Larry McVoy, Andre Hedrick, Arjan van de Ven, Valdis.Kletnieks, Kendall Bennett, linux-kernel On Wednesday 10 December 2003 10:34, Larry McVoy wrote: > On Wed, Dec 10, 2003 at 08:21:52AM -0800, Linus Torvalds wrote: > > There's a fundamental difference between "plugins" and "kernel modules": > > intent. > > Which is? How is it that you can spend a page of text saying a judge > doesn't care about technicalities and then base the rest of your argument > on the distinction between a "plugin" and a "kernel module"? Because there are distinctions that aren't technicalities? Strange but true... Rob (I'm driving 55 MPH on the freeway. I'm driving 55 MPH in a 35 MPH zone. I'm driving 55 MPH through the middle of a crowded shopping mall... Same action, same tools, three different contexts. One is legal, one gets you a ticket, one gets you serious jail time. The law's full of this sort of thing...) ^ permalink raw reply [flat|nested] 180+ messages in thread
* Re: Linux GPL and binary module exception clause? 2003-12-11 7:32 ` Rob Landley @ 2003-12-11 14:03 ` Geert Uytterhoeven 0 siblings, 0 replies; 180+ messages in thread From: Geert Uytterhoeven @ 2003-12-11 14:03 UTC (permalink / raw) To: Rob Landley Cc: Larry McVoy, Linus Torvalds, Andre Hedrick, Arjan van de Ven, Valdis.Kletnieks, Kendall Bennett, Linux Kernel Development On Thu, 11 Dec 2003, Rob Landley wrote: > On Wednesday 10 December 2003 10:34, Larry McVoy wrote: > > On Wed, Dec 10, 2003 at 08:21:52AM -0800, Linus Torvalds wrote: > > > There's a fundamental difference between "plugins" and "kernel modules": > > > intent. > > > > Which is? How is it that you can spend a page of text saying a judge > > doesn't care about technicalities and then base the rest of your argument > > on the distinction between a "plugin" and a "kernel module"? > > Because there are distinctions that aren't technicalities? > > Strange but true... Let's take a fresh look, from a historical perspective... We had a GPLed kernel with (lots of) GPLed drivers. Even too many drivers, since a kernel with all drivers enabled is too large to fit in 640 KiB! (of course we elitist m68k users didn't suffer from that limitation ;-) So someone solved this problem and found a way to reduce the kernel image size below the magical limit by moving driver code to `loadable kernel modules'. A nice side-effect was that people (read: distributors) now no longer needed a bloated kernel that took ages to start during device probe. They could provide a small kernel instead, with separate driver modules for all possible hardware, to be loaded at boot time or on demand. Hence technically loadable kernel modules are just a work-around to allow larger kernels, and all loadable kernel code should be treated the same as in-kernel code. So they are clearly derived from the kernel. Later people started to realize that: (a) They can build out-of-tree modules, i.e. drivers that can't even be built in, (b) They can build out-of-tree modules and make them non-GPL. And (b) is where the problem started... Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds ^ permalink raw reply [flat|nested] 180+ messages in thread
* Re: Linux GPL and binary module exception clause? 2003-12-10 16:21 ` Linus Torvalds 2003-12-10 16:34 ` Larry McVoy @ 2003-12-10 22:49 ` Oliver Hunt 1 sibling, 0 replies; 180+ messages in thread From: Oliver Hunt @ 2003-12-10 22:49 UTC (permalink / raw) To: Linus Torvalds, linux-kernel Linus Torvalds wrote: ... > There's a fundamental difference between "plugins" and "kernel modules": > intent. > ... The key difference between a plugin and a module(from my understanding of plugins in browser/application sense) is how information is passed. Says we have the flash plugin for some random browser, say BrowserApp 1.01, now the browser comes across a flash file, now it calls the flash plugin, passing both the file, and the graphics context the plugin can draw to. Flash does it's rendering and then shoves it's output to the canvas: that's all it can do, it may make a request (say, browser::getURL) but that's about it, and the browser can always ignore it. Now there is competitor to BrowserApp known as BrowserOS, instead of plugins it has modules. Now, when BrowserOS comes across a flash file it loads it's flash module and passes the url, at which point the module takes over, and allocates a graphics context for it to draw to(see it controls what happens, rather than the otherway round). Now say the module wants to load a webpage it now tells the address bar to change, then it makes internal changes (loads the new url, etc), that the browser _cannot_ stop, it is effectively part of the program... --Oliver ^ permalink raw reply [flat|nested] 180+ messages in thread
* RE: Linux GPL and binary module exception clause? 2003-12-10 15:18 ` Linus Torvalds 2003-12-10 15:32 ` Larry McVoy @ 2003-12-10 17:15 ` Hua Zhong 2003-12-10 17:42 ` Linus Torvalds 2003-12-10 17:49 ` Jörn Engel 2003-12-10 18:16 ` Andre Hedrick 2 siblings, 2 replies; 180+ messages in thread From: Hua Zhong @ 2003-12-10 17:15 UTC (permalink / raw) To: 'Linus Torvalds', 'Andre Hedrick' Cc: 'Arjan van de Ven', Valdis.Kletnieks, 'Kendall Bennett', linux-kernel > The inlines have nothing to do with _anything_. > > Trust me, a federal judge couldn't care less about some very esoteric > technical detail. I don't know who brought up inline > functions, but they aren't what would force the GPL. Great! > What has meaning for "derived work" is whether it stands on its own or > not, and how tightly integrated it is. If something works > with just one particular version of the kernel - or depends on things like > whether the kernel was compiled with certain options etc - then it pretty > clearly is very tightly integrated. Many userspace programs fall into this category too. For example they depend on /proc to be there. They probably only work with a certain version of the kernel because the next version changed some format in /proc. Is /proc a stable API/ABI? Yes? No? > Don't think that copyright would depend on any technicalities. > > Linus > - > To unsubscribe from this list: send the line "unsubscribe > linux-kernel" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html > Please read the FAQ at http://www.tux.org/lkml/ > ^ permalink raw reply [flat|nested] 180+ messages in thread
* RE: Linux GPL and binary module exception clause? 2003-12-10 17:15 ` Hua Zhong @ 2003-12-10 17:42 ` Linus Torvalds 2003-12-10 19:32 ` Andre Hedrick ` (2 more replies) 2003-12-10 17:49 ` Jörn Engel 1 sibling, 3 replies; 180+ messages in thread From: Linus Torvalds @ 2003-12-10 17:42 UTC (permalink / raw) To: Hua Zhong Cc: 'Andre Hedrick', 'Arjan van de Ven', Valdis.Kletnieks, 'Kendall Bennett', linux-kernel On Wed, 10 Dec 2003, Hua Zhong wrote: > > > What has meaning for "derived work" is whether it stands on its own or > > not, and how tightly integrated it is. If something works > > with just one particular version of the kernel - or depends on things like > > whether the kernel was compiled with certain options etc - then it pretty > > clearly is very tightly integrated. > > Many userspace programs fall into this category too. Absolutely. Trust me, REAL LAWYERS WERE WORRIED about this. It wasn't just random tech people discussing issues on a technical (or, right now, not-so-technical) mailing list. There's a reason for those lines at the top of the COPYING file saying that user space is not covered, and there are literally lawyers who say it would hold up in a court of law. Exactly because you _can_ argue that user-space might be covered. It's an argument that almost certainly would fail very quickly due to "documented interfaces" and ABI issues, but it is an argument that lawyers have made, and it's that argument that makes the disclaimer in COPYING be worth it. In other words: even without that disclaimer of derivation, user space would almost certainly (with a very high probability indeed) be safe from a copyright infringement suit. Such a suit would most likely be thrown out very early, exactly because the UNIX system call interface is clearly extensively documented, and the Linux implementation of it has strived to be a stable ABI for a long time. In fact, a user program written in 1991 is actually still likely to run, if it doesn't do a lot of special things. So user programs really are a hell of a lot more insulated than kernel modules, which have been known to break weekly. Similarly, things like /proc etc are clearly intended to be ways to interface to the kernel in user space, so there's a clear intent there that nobody can reasonably deny (again, that intent is made _clearer_ by the COPYING disclaimer, but it would be hard to argue against even in the absense of that). But even DESPITE these strong arguments that user-space clearly isn't a derived work, and real lawyers worried, and felt much happier with the explicit disclaimer in the COPYING file. That should tell you something. In particular, it should tell you to be careful: some courts have made so broad "derivative work" judgements that it's scary - think about the "Gone With the Wind" parody (I think the ruling was eventually overturned on First Amendment grounds, but the point is that you should be very careful, and while source code has the potential for First Amendment protection, binary modules sure as hell do not). And please note that I am _not_ arguing for those overly broad judgements: I'm just pointing out that you should not assume that "derivative" is something simple. If an author claims your work is derivative, you should step very very lightly. And I claim that binary-only kernel modules ARE derivative "by default", by virtue of having no meaning without the kernel. Linus ^ permalink raw reply [flat|nested] 180+ messages in thread
* RE: Linux GPL and binary module exception clause? 2003-12-10 17:42 ` Linus Torvalds @ 2003-12-10 19:32 ` Andre Hedrick 2003-12-10 22:43 ` Jason Kingsland 2003-12-10 23:11 ` Linus Torvalds 2003-12-10 19:48 ` Kendall Bennett 2003-12-11 12:04 ` David Woodhouse 2 siblings, 2 replies; 180+ messages in thread From: Andre Hedrick @ 2003-12-10 19:32 UTC (permalink / raw) To: Linus Torvalds Cc: Hua Zhong, 'Arjan van de Ven', Valdis.Kletnieks, 'Kendall Bennett', linux-kernel Linus, How can the additional words alter the mean of GPL itself? I am not baiting this time. Does the simple addition of your meaning imposed create an effective restriction? Does that applied meaning make the kernel license invalid for all? I am sure there were no changes in the text of the COPYING file, but the additions to the "coyrighted" file appears to alter intent. Cheers, Andre Hedrick LAD Storage Consulting Group On Wed, 10 Dec 2003, Linus Torvalds wrote: > > > On Wed, 10 Dec 2003, Hua Zhong wrote: > > > > > What has meaning for "derived work" is whether it stands on its own or > > > not, and how tightly integrated it is. If something works > > > with just one particular version of the kernel - or depends on things like > > > whether the kernel was compiled with certain options etc - then it pretty > > > clearly is very tightly integrated. > > > > Many userspace programs fall into this category too. > > Absolutely. > > Trust me, REAL LAWYERS WERE WORRIED about this. It wasn't just random tech > people discussing issues on a technical (or, right now, not-so-technical) > mailing list. > > There's a reason for those lines at the top of the COPYING file saying > that user space is not covered, and there are literally lawyers who say it > would hold up in a court of law. > > Exactly because you _can_ argue that user-space might be covered. It's an > argument that almost certainly would fail very quickly due to "documented > interfaces" and ABI issues, but it is an argument that lawyers have made, > and it's that argument that makes the disclaimer in COPYING be worth it. > > In other words: even without that disclaimer of derivation, user space > would almost certainly (with a very high probability indeed) be safe from > a copyright infringement suit. Such a suit would most likely be thrown out > very early, exactly because the UNIX system call interface is clearly > extensively documented, and the Linux implementation of it has strived to > be a stable ABI for a long time. > > In fact, a user program written in 1991 is actually still likely to run, > if it doesn't do a lot of special things. So user programs really are a > hell of a lot more insulated than kernel modules, which have been known to > break weekly. > > Similarly, things like /proc etc are clearly intended to be ways to > interface to the kernel in user space, so there's a clear intent there > that nobody can reasonably deny (again, that intent is made _clearer_ by > the COPYING disclaimer, but it would be hard to argue against even in the > absense of that). > > But even DESPITE these strong arguments that user-space clearly isn't a > derived work, and real lawyers worried, and felt much happier with the > explicit disclaimer in the COPYING file. > > That should tell you something. In particular, it should tell you to be > careful: some courts have made so broad "derivative work" judgements that > it's scary - think about the "Gone With the Wind" parody (I think the > ruling was eventually overturned on First Amendment grounds, but the > point is that you should be very careful, and while source code has > the potential for First Amendment protection, binary modules sure as hell > do not). > > And please note that I am _not_ arguing for those overly broad judgements: > I'm just pointing out that you should not assume that "derivative" is > something simple. If an author claims your work is derivative, you should > step very very lightly. > > And I claim that binary-only kernel modules ARE derivative "by default", > by virtue of having no meaning without the kernel. > > Linus > ^ permalink raw reply [flat|nested] 180+ messages in thread
* Re: Linux GPL and binary module exception clause? 2003-12-10 19:32 ` Andre Hedrick @ 2003-12-10 22:43 ` Jason Kingsland 2003-12-10 22:49 ` Andre Hedrick 2003-12-10 23:11 ` Linus Torvalds 1 sibling, 1 reply; 180+ messages in thread From: Jason Kingsland @ 2003-12-10 22:43 UTC (permalink / raw) To: Andre Hedrick, Linus Torvalds Cc: Hua Zhong, 'Arjan van de Ven', Valdis.Kletnieks, 'Kendall Bennett', linux-kernel "Andre Hedrick" wrote: > How can the additional words alter the mean of GPL itself? Because if the additional words in the license predate the publishing date of the code, they form a valid part of the license for that code as published. So the answer to whether such a clause in valid and enforceable (rather than just Linus' opinion) depends on when any particular piece of code was first submitted publicly into the kernel tree, who the copyright holder is (usually the author) and hence which license prevailed at the time the code was first published. Later changes to a license are not retroactive to earlier publications unless the original copyright holder agrees - as only the copyright holder can change the terms of any license after publication. The readme for Linux version 0.1 had the copyright owned by Linus and was not licensed under GPL at all: " This kernel is (C) 1991 Linus Torvalds, but all or part of it may be redistributed provided you do the following: - Full source must be available (and free), if not with the distribution then at least on asking for it. - Copyright notices must be intact. (In fact, if you distribute only parts of it you may have to add copyrights, as there aren't (C)'s in all files.) Small partial excerpts may be copied without bothering with copyrights. - You may not distibute this for a fee, not even "handling" costs. " This changed in Version 0.12 with the following statement of intent: " The Linux copyright will change: I've had a couple of requests to make it compatible with the GNU copyleft, removing the "you may not distribute it for money" condition. I agree. I propose that the copyright be changed so that it confirms to GNU - pending approval of the persons who have helped write code. I assume this is going to be no problem for anybody: If you have grievances ("I wrote that code assuming the copyright would stay the same") mail me. Otherwise The GNU copyleft takes effect as of the first of February. If you do not know the gist of the GNU copyright - read it. " The next major release was v0.95 in March 1992 which contained a reference to GPL with this clarification: " NOTE! The linux unistd library-functions (the low-level interface to linux: system calls etc) are excempt from the copyright - you may use them as you wish, and using those in your binary files won't mean that your files are automatically under the GNU copyleft. This concerns /only/ the unistd-library and those (few) other library functions I have written: most of the rest of the library has it's own copyrights (or is public domain). See the library sources for details of those. " For release 0.99 the clarification was missing, with just a standard GPL V2 being used for releases up to 0.99.11 when the (in)famous disclaimer about user programs was added: " NOTE! This copyright does *not* cover user programs that use kernel services by normal system calls - this is merely considered normal use of the kernel, and does *not* fall under the heading of "derived work". Also note that the GPL below is copyrighted by the Free Software Foundation, but the instance of code that it refers to (the linux kernel) is copyrighted by me and others who actually wrote it. Linus Torvalds " and then it stayed constant until 2.4 when the GPL V2-only clause was added: " Also note that the only valid version of the GPL as far as the kernel is concerned is _this_ license (ie v2), unless explicitly otherwise stated. " ^ permalink raw reply [flat|nested] 180+ messages in thread
* Re: Linux GPL and binary module exception clause? 2003-12-10 22:43 ` Jason Kingsland @ 2003-12-10 22:49 ` Andre Hedrick 0 siblings, 0 replies; 180+ messages in thread From: Andre Hedrick @ 2003-12-10 22:49 UTC (permalink / raw) To: Jason Kingsland Cc: Linus Torvalds, Hua Zhong, 'Arjan van de Ven', Valdis.Kletnieks, 'Kendall Bennett', linux-kernel Jason, Nice bit of research! Hat tip to you, just close your eyes so the glare off my balding head does not blind you :-) This is so much fun! Cheers, Andre Hedrick LAD Storage Consulting Group On Wed, 10 Dec 2003, Jason Kingsland wrote: > > "Andre Hedrick" wrote: > > > How can the additional words alter the mean of GPL itself? > > Because if the additional words in the license predate the publishing date > of the code, they form a valid part of the license for that code as > published. > > > So the answer to whether such a clause in valid and enforceable (rather than > just Linus' opinion) depends on when any particular piece of code was first > submitted publicly into the kernel tree, who the copyright holder is > (usually the author) and hence which license prevailed at the time the code > was first published. > > Later changes to a license are not retroactive to earlier publications > unless the original copyright holder agrees - as only the copyright holder > can change the terms of any license after publication. > > The readme for Linux version 0.1 had the copyright owned by Linus and was > not licensed under GPL at all: > > " > This kernel is (C) 1991 Linus Torvalds, but all or part of it may be > redistributed provided you do the following: > > - Full source must be available (and free), if not with the > distribution then at least on asking for it. > > - Copyright notices must be intact. (In fact, if you distribute > only parts of it you may have to add copyrights, as there aren't > (C)'s in all files.) Small partial excerpts may be copied > without bothering with copyrights. > > - You may not distibute this for a fee, not even "handling" costs. > " > > This changed in Version 0.12 with the following statement of intent: > > " > The Linux copyright will change: I've had a couple of requests to make > it compatible with the GNU copyleft, removing the "you may not > distribute it for money" condition. I agree. I propose that the > copyright be changed so that it confirms to GNU - pending approval of > the persons who have helped write code. I assume this is going to be no > problem for anybody: If you have grievances ("I wrote that code assuming > the copyright would stay the same") mail me. Otherwise The GNU copyleft > takes effect as of the first of February. If you do not know the gist > of the GNU copyright - read it. > " > > The next major release was v0.95 in March 1992 which contained a reference > to GPL with this clarification: > > " > NOTE! The linux unistd library-functions (the low-level interface to > linux: system calls etc) are excempt from the copyright - you may use > them as you wish, and using those in your binary files won't mean that > your files are automatically under the GNU copyleft. This concerns > /only/ the unistd-library and those (few) other library functions I have > written: most of the rest of the library has it's own copyrights (or is > public domain). See the library sources for details of those. > " > > For release 0.99 the clarification was missing, with just a standard GPL V2 > being used for releases up to 0.99.11 when the (in)famous disclaimer about > user programs was added: > > " > NOTE! This copyright does *not* cover user programs that use kernel > services by normal system calls - this is merely considered normal use > of the kernel, and does *not* fall under the heading of "derived work". > Also note that the GPL below is copyrighted by the Free Software > Foundation, but the instance of code that it refers to (the linux > kernel) is copyrighted by me and others who actually wrote it. > > Linus Torvalds > " > > and then it stayed constant until 2.4 when the GPL V2-only clause was added: > > " > Also note that the only valid version of the GPL as far as the kernel > is concerned is _this_ license (ie v2), unless explicitly otherwise > stated. > > " > > ^ permalink raw reply [flat|nested] 180+ messages in thread
* RE: Linux GPL and binary module exception clause? 2003-12-10 19:32 ` Andre Hedrick 2003-12-10 22:43 ` Jason Kingsland @ 2003-12-10 23:11 ` Linus Torvalds 2003-12-10 23:24 ` Andre Hedrick 1 sibling, 1 reply; 180+ messages in thread From: Linus Torvalds @ 2003-12-10 23:11 UTC (permalink / raw) To: Andre Hedrick Cc: Hua Zhong, 'Arjan van de Ven', Valdis.Kletnieks, 'Kendall Bennett', Kernel Mailing List On Wed, 10 Dec 2003, Andre Hedrick wrote: > > How can the additional words alter the mean of GPL itself? They can't. But they _can_ alter your ability to sue. In particular, if you publicly state that you will not sue anybody over something, they can now use that statement to make future plans. If at a later date you decide to sue them anyway, they can point the judge at your earlier statement, and claim estoppel against you. So note how the license itself didn't change - but your ability to _enforce_ the license has changed by virtue of you stating that you won't. So while I publicaly say that I'm a lazy bastard, and the less I have to do with lawyers, the better - I won't actually say that I will never sue anybody. I'll say that it is "unlikely", or that people would have to irritate me mightily. For most developers that literally doesn't much matter what they say. Even when _I_ say something, that doesn't really matter to what other developers do, and while it could potentially limit me from enforcing _my_ copyrights, it doesn't stop others from enforcing theirs. So my random email ramblings should really be construed as my opinions rather than any legally relevant stuff. However, the few extra lines in the main COPYING file end up being somewhat binding to others, simply because they are _so_ public (they are, after all, in the _main_ COPYING file) and they have been there pretty much since the beginning, that they would basically end up being a very strong argument in any legal case where some random kernel developer would try to argue that it doesn't cover "their" code. You don't have to agree to them, btw - you can remove them from the copy of Linux you distribute, since the GPL in no way requires you to keep them. They're not part of the copyright license per se, they are expressly marked as being my personal viewpoint. I suspect that if you do, you'll find companies that would be slightly more nervous to work with you, though. But nobody has really ever argued against the clause, even originally. And in this particular discussion, I don't believe anybody is actually arguing against it now either. The legal meaning of it may be under discussion, but I don't think anybody is really even _trying_ to argue that it should be removed and that we should suddenly try to claim that any future user programs have to be GPL'd. Quite the reverse - I think everybody involved would argue that that would just be crazy talk. Linus ^ permalink raw reply [flat|nested] 180+ messages in thread
* RE: Linux GPL and binary module exception clause? 2003-12-10 23:11 ` Linus Torvalds @ 2003-12-10 23:24 ` Andre Hedrick 0 siblings, 0 replies; 180+ messages in thread From: Andre Hedrick @ 2003-12-10 23:24 UTC (permalink / raw) To: Linus Torvalds Cc: Hua Zhong, 'Arjan van de Ven', Valdis.Kletnieks, 'Kendall Bennett', Kernel Mailing List Linus: Oh great! > So while I publicaly say that I'm a lazy bastard, and the less I have to > do with lawyers, the better - I won't actually say that I will never sue > anybody. I'll say that it is "unlikely", or that people would have to > irritate me mightily. So what did you want for Christmas this year :-? Maybe I should stop now because I have history of being able to "irritate you mightily" !!! You know me from our conversions offline and in person, and enough said there. There are times when I am a classic BOHA and other when I a serious and cold. You know my intent, and that is all that needs to be said. What I really want, is a better License for all. Cheers, Andre Hedrick LAD Storage Consulting Group On Wed, 10 Dec 2003, Linus Torvalds wrote: > > > On Wed, 10 Dec 2003, Andre Hedrick wrote: > > > > How can the additional words alter the mean of GPL itself? > > They can't. > > But they _can_ alter your ability to sue. In particular, if you publicly > state that you will not sue anybody over something, they can now use that > statement to make future plans. If at a later date you decide to sue them > anyway, they can point the judge at your earlier statement, and claim > estoppel against you. > > So note how the license itself didn't change - but your ability to > _enforce_ the license has changed by virtue of you stating that you won't. > > So while I publicaly say that I'm a lazy bastard, and the less I have to > do with lawyers, the better - I won't actually say that I will never sue > anybody. I'll say that it is "unlikely", or that people would have to > irritate me mightily. > > For most developers that literally doesn't much matter what they say. Even > when _I_ say something, that doesn't really matter to what other > developers do, and while it could potentially limit me from enforcing _my_ > copyrights, it doesn't stop others from enforcing theirs. So my random > email ramblings should really be construed as my opinions rather than any > legally relevant stuff. > > However, the few extra lines in the main COPYING file end up being > somewhat binding to others, simply because they are _so_ public (they are, > after all, in the _main_ COPYING file) and they have been there pretty > much since the beginning, that they would basically end up being a very > strong argument in any legal case where some random kernel developer would > try to argue that it doesn't cover "their" code. > > You don't have to agree to them, btw - you can remove them from the copy > of Linux you distribute, since the GPL in no way requires you to keep > them. They're not part of the copyright license per se, they are expressly > marked as being my personal viewpoint. I suspect that if you do, you'll > find companies that would be slightly more nervous to work with you, > though. > > But nobody has really ever argued against the clause, even originally. And > in this particular discussion, I don't believe anybody is actually arguing > against it now either. The legal meaning of it may be under discussion, > but I don't think anybody is really even _trying_ to argue that it should > be removed and that we should suddenly try to claim that any future user > programs have to be GPL'd. > > Quite the reverse - I think everybody involved would argue that that would > just be crazy talk. > > Linus > ^ permalink raw reply [flat|nested] 180+ messages in thread
* RE: Linux GPL and binary module exception clause? 2003-12-10 17:42 ` Linus Torvalds 2003-12-10 19:32 ` Andre Hedrick @ 2003-12-10 19:48 ` Kendall Bennett 2003-12-10 21:15 ` viro 2003-12-10 22:18 ` Larry McVoy 2003-12-11 12:04 ` David Woodhouse 2 siblings, 2 replies; 180+ messages in thread From: Kendall Bennett @ 2003-12-10 19:48 UTC (permalink / raw) To: Linus Torvalds Cc: 'Andre Hedrick', 'Arjan van de Ven', Valdis.Kletnieks, linux-kernel Linus Torvalds <torvalds@osdl.org> wrote: > In fact, a user program written in 1991 is actually still likely > to run, if it doesn't do a lot of special things. So user programs > really are a hell of a lot more insulated than kernel modules, > which have been known to break weekly. IMHO (and IANAL of course), it seems a bit tenuous to me the argument that just because you deliberating break compatibility at the module level on a regular basis, that they are automatically derived works. Clearly the module interfaces could be stabilised and published, and if you consider the instance of a single kernel version in time, that module ABI *is* published and *is* stable *for that version*. Just because you make an active effort to change things and actively *not* document the ABI other than in the source code across kernel versions, doesn't automatically make a module a derived work. IMHO anyway. Regards, --- Kendall Bennett Chief Executive Officer SciTech Software, Inc. Phone: (530) 894 8400 http://www.scitechsoft.com ~ SciTech SNAP - The future of device driver technology! ~ ^ permalink raw reply [flat|nested] 180+ messages in thread
* Re: Linux GPL and binary module exception clause? 2003-12-10 19:48 ` Kendall Bennett @ 2003-12-10 21:15 ` viro 2003-12-10 22:36 ` Kendall Bennett 2003-12-10 22:18 ` Larry McVoy 1 sibling, 1 reply; 180+ messages in thread From: viro @ 2003-12-10 21:15 UTC (permalink / raw) To: Kendall Bennett Cc: Linus Torvalds, 'Andre Hedrick', 'Arjan van de Ven', Valdis.Kletnieks, linux-kernel On Wed, Dec 10, 2003 at 11:48:45AM -0800, Kendall Bennett wrote: > Linus Torvalds <torvalds@osdl.org> wrote: > > > In fact, a user program written in 1991 is actually still likely > > to run, if it doesn't do a lot of special things. So user programs > > really are a hell of a lot more insulated than kernel modules, > > which have been known to break weekly. > > IMHO (and IANAL of course), it seems a bit tenuous to me the argument > that just because you deliberating break compatibility at the module > level on a regular basis, that they are automatically derived works. > Clearly the module interfaces could be stabilised and published, and if > you consider the instance of a single kernel version in time, that module > ABI *is* published and *is* stable *for that version*. Just because you > make an active effort to change things and actively *not* document the > ABI other than in the source code across kernel versions, doesn't > automatically make a module a derived work. Oh, for crying out loud! Had you ever looked at that "API"? At least 90% of it are random functions exposing random details of internals. Most of them are there only because some in-tree piece of code had been "modularized". Badly. Due to the dumb mechanism used to export symbols, each of those layering violations automatically becomes available to all modules. And they outnumber the things that could be reasonably considered as something resembling an API. Outnumber by order of magnitude. The problem had been festering for almost a decade now, and external modules also didn't help things - a lot of them contained layering violations of their own and asked to export this, this and that. With no explanation offered and too little resistance met. In 2.7 we need to get the export list back to sanity. Right now it's a such a junkpile that speaking about even a relative stability for it... Not funny. ^ permalink raw reply [flat|nested] 180+ messages in thread
* Re: Linux GPL and binary module exception clause? 2003-12-10 21:15 ` viro @ 2003-12-10 22:36 ` Kendall Bennett 2003-12-10 23:13 ` viro 2003-12-11 15:29 ` Jesse Pollard 0 siblings, 2 replies; 180+ messages in thread From: Kendall Bennett @ 2003-12-10 22:36 UTC (permalink / raw) To: viro Cc: Linus Torvalds, 'Andre Hedrick', 'Arjan van de Ven', Valdis.Kletnieks, linux-kernel viro@parcelfarce.linux.theplanet.co.uk wrote: > On Wed, Dec 10, 2003 at 11:48:45AM -0800, Kendall Bennett wrote: > > Linus Torvalds <torvalds@osdl.org> wrote: > > > > > In fact, a user program written in 1991 is actually still likely > > > to run, if it doesn't do a lot of special things. So user programs > > > really are a hell of a lot more insulated than kernel modules, which > > > have been known to break weekly. > > > > IMHO (and IANAL of course), it seems a bit tenuous to me the argument > > that just because you deliberating break compatibility at the module > > level on a regular basis, that they are automatically derived works. > > Clearly the module interfaces could be stabilised and published, and if > > you consider the instance of a single kernel version in time, that > > module ABI *is* published and *is* stable *for that version*. Just > > because you make an active effort to change things and actively *not* > > document the ABI other than in the source code across kernel versions, > > doesn't automatically make a module a derived work. > > Oh, for crying out loud! Had you ever looked at that "API"? > > At least 90% of it are random functions exposing random details of > internals. Most of them are there only because some in-tree piece > of code had been "modularized". Badly. The fact that an API is 'badly' implemented does not detract from the fact that it is an API. It is still published as the mechanism that a module would use to load and interface to the kernel, via that API. > In 2.7 we need to get the export list back to sanity. Right now it's a > such a junkpile that speaking about even a relative stability for it... > Not funny. You miss my point. I was talking about a single kernel version. For a single kernel version, the ABI is both *published* and *stable*. Sure it may not be what you consider a *clean* or *good* ABI, but it *IS* an ABI. Note that: 1. It is a published ABI because for that one kernel release, all the source code is available that documents the ABI (albiet badly IYO). 2. It is stable because that kernel version will never change on your machine. Given that it is a stable and published ABI for a single kernel version, then what makes a kernel module different from a user program? The fact that binary only modules are *only* guaranteed to work with one single kernel version, the fact that the ABI changes from version to version is completely irrelevant to determing whether a binary module is derived from the kernel or not. Regards, --- Kendall Bennett Chief Executive Officer SciTech Software, Inc. Phone: (530) 894 8400 http://www.scitechsoft.com ~ SciTech SNAP - The future of device driver technology! ~ ^ permalink raw reply [flat|nested] 180+ messages in thread
* Re: Linux GPL and binary module exception clause? 2003-12-10 22:36 ` Kendall Bennett @ 2003-12-10 23:13 ` viro 2003-12-11 15:29 ` Jesse Pollard 1 sibling, 0 replies; 180+ messages in thread From: viro @ 2003-12-10 23:13 UTC (permalink / raw) To: Kendall Bennett Cc: Linus Torvalds, 'Andre Hedrick', 'Arjan van de Ven', Valdis.Kletnieks, linux-kernel On Wed, Dec 10, 2003 at 02:36:46PM -0800, Kendall Bennett wrote: > > In 2.7 we need to get the export list back to sanity. Right now it's a > > such a junkpile that speaking about even a relative stability for it... > > Not funny. > > You miss my point. I was talking about a single kernel version. For a > single kernel version, the ABI is both *published* and *stable*. Sure it > may not be what you consider a *clean* or *good* ABI, but it *IS* an ABI. The hell it is. Change CONFIG_SMP or any number of other options and your binary compatibility is toast. > Given that it is a stable and published ABI for a single kernel version, > then what makes a kernel module different from a user program? The fact The utter lack of isolation in the former. And that's a very practical consideration - amount of efforts needed to tell whether any given bug is in kernel or in an application is *way* less than for module vs. kernel. Ditto for potential impact of changes on one side of "interface" upon the other side. Realistically there's no way to keep the module "API" fixed without a major negative impact on kernel development, security and stability. If somebody has business model based on the expectation that this "API" will not be changed whenever we find that useful - too bad, you can't possibly claim that you had not been warned. Again, lack of warranties regarding the module "API" is * deliberate * well-documented * older than binary-only modules * based on the very sound technical reasons Live with it. It's not going to change. Of course some parts of the "API" are relatively stable; if nothing else, we have in-tree drivers to consider whenever we make a change and well-behaving 3rd-party module won't take more efforts to update than a typical in-tree driver. But that's it - author of such module basically makes an educated guess regarding the likeliness of change that would leave him in a bad situation. Generally, the deeper in kernel guts you play, the easier it is to get burned. And current set of exports goes very deep in said guts - much deeper than it should have. Anybody who does out-of-tree kernel work must understand the reality. Modules are different from userland code in the ways that deeply affect product cycle. Pretending that there is no fundamental difference and complaining about that difference signifies only one thing - lack of basic research on part of complainers. Don't pretend that you don't know what you are getting into. ^ permalink raw reply [flat|nested] 180+ messages in thread
* Re: Linux GPL and binary module exception clause? 2003-12-10 22:36 ` Kendall Bennett 2003-12-10 23:13 ` viro @ 2003-12-11 15:29 ` Jesse Pollard 2003-12-11 18:47 ` Kendall Bennett 1 sibling, 1 reply; 180+ messages in thread From: Jesse Pollard @ 2003-12-11 15:29 UTC (permalink / raw) To: Kendall Bennett, viro Cc: Linus Torvalds, 'Andre Hedrick', 'Arjan van de Ven', Valdis.Kletnieks, linux-kernel On Wednesday 10 December 2003 16:36, Kendall Bennett wrote: > viro@parcelfarce.linux.theplanet.co.uk wrote: > > On Wed, Dec 10, 2003 at 11:48:45AM -0800, Kendall Bennett wrote: > > > Linus Torvalds <torvalds@osdl.org> wrote: > > > > In fact, a user program written in 1991 is actually still likely > > > > to run, if it doesn't do a lot of special things. So user programs > > > > really are a hell of a lot more insulated than kernel modules, which > > > > have been known to break weekly. > > > > > > IMHO (and IANAL of course), it seems a bit tenuous to me the argument > > > that just because you deliberating break compatibility at the module > > > level on a regular basis, that they are automatically derived works. > > > Clearly the module interfaces could be stabilised and published, and if > > > you consider the instance of a single kernel version in time, that > > > module ABI *is* published and *is* stable *for that version*. Just > > > because you make an active effort to change things and actively *not* > > > document the ABI other than in the source code across kernel versions, > > > doesn't automatically make a module a derived work. > > > > Oh, for crying out loud! Had you ever looked at that "API"? > > > > At least 90% of it are random functions exposing random details of > > internals. Most of them are there only because some in-tree piece > > of code had been "modularized". Badly. > > The fact that an API is 'badly' implemented does not detract from the > fact that it is an API. It is still published as the mechanism that a > module would use to load and interface to the kernel, via that API. > > > In 2.7 we need to get the export list back to sanity. Right now it's a > > such a junkpile that speaking about even a relative stability for it... > > Not funny. > > You miss my point. I was talking about a single kernel version. For a > single kernel version, the ABI is both *published* and *stable*. Sure it > may not be what you consider a *clean* or *good* ABI, but it *IS* an ABI. > Note that: > > 1. It is a published ABI because for that one kernel release, all the > source code is available that documents the ABI (albiet badly IYO). > > 2. It is stable because that kernel version will never change on your > machine. Huh? I frequently update the kernel, and the kernel minor version... as well as switch from uniprocessor to SMP. The major version may not change, but that minor one certanly does. And adding SMP changes the ABI for that version. And patches CAN and DO change the ABI, even within the major version. > Given that it is a stable and published ABI for a single kernel version, > then what makes a kernel module different from a user program? The fact > that binary only modules are *only* guaranteed to work with one single > kernel version, the fact that the ABI changes from version to version is > completely irrelevant to determing whether a binary module is derived > from the kernel or not. How do you handle the differences in a single version for something like SMP? It is still the same version, but a binary driver for SMP will most likely NOT work on uniprocessor, and even more likey not work if compiled for a uniprocessor under SMP. ^ permalink raw reply [flat|nested] 180+ messages in thread
* Re: Linux GPL and binary module exception clause? 2003-12-11 15:29 ` Jesse Pollard @ 2003-12-11 18:47 ` Kendall Bennett 2003-12-11 18:55 ` Nick Piggin 2003-12-11 22:18 ` Jesse Pollard 0 siblings, 2 replies; 180+ messages in thread From: Kendall Bennett @ 2003-12-11 18:47 UTC (permalink / raw) To: Jesse Pollard Cc: Linus Torvalds, 'Andre Hedrick', 'Arjan van de Ven', Valdis.Kletnieks, linux-kernel Jesse Pollard <jesse@cats-chateau.net> wrote: > > You miss my point. I was talking about a single kernel version. For a > > single kernel version, the ABI is both *published* and *stable*. Sure it > > may not be what you consider a *clean* or *good* ABI, but it *IS* an > > ABI. Note that: > > > > 1. It is a published ABI because for that one kernel release, all the > > source code is available that documents the ABI (albiet badly IYO). > > > > 2. It is stable because that kernel version will never change on your > > machine. > > Huh? I frequently update the kernel, and the kernel minor version... as > well as switch from uniprocessor to SMP. The major version may not change, > but that minor one certanly does. And adding SMP changes the ABI for that > version. And patches CAN and DO change the ABI, even within the major > version. So what? You don't change it on *MY* machine, now do you? *MY* version remains stable regardless of what *YOU* do unless I update my source code. > How do you handle the differences in a single version for > something like SMP? It is still the same version, but a binary > driver for SMP will most likely NOT work on uniprocessor, and even > more likey not work if compiled for a uniprocessor under SMP. No, it is not the same version. One is the UNI version and one is the SMP version. By version of kernel I mean the version of the binary that I am building the loadable module to work with. You can just consider the UNI/SMP support to be an extension of the version and treat them as different versions (after all, you will need two separate modules to handle this anyway). Regards, --- Kendall Bennett Chief Executive Officer SciTech Software, Inc. Phone: (530) 894 8400 http://www.scitechsoft.com ~ SciTech SNAP - The future of device driver technology! ~ ^ permalink raw reply [flat|nested] 180+ messages in thread
* Re: Linux GPL and binary module exception clause? 2003-12-11 18:47 ` Kendall Bennett @ 2003-12-11 18:55 ` Nick Piggin 2003-12-11 22:18 ` Jesse Pollard 1 sibling, 0 replies; 180+ messages in thread From: Nick Piggin @ 2003-12-11 18:55 UTC (permalink / raw) To: Kendall Bennett Cc: Jesse Pollard, Linus Torvalds, 'Andre Hedrick', 'Arjan van de Ven', Valdis.Kletnieks, linux-kernel Kendall Bennett wrote: >Jesse Pollard <jesse@cats-chateau.net> wrote: > > >>>You miss my point. I was talking about a single kernel version. For a >>>single kernel version, the ABI is both *published* and *stable*. Sure it >>>may not be what you consider a *clean* or *good* ABI, but it *IS* an >>>ABI. Note that: >>> >>>1. It is a published ABI because for that one kernel release, all the >>>source code is available that documents the ABI (albiet badly IYO). >>> >>>2. It is stable because that kernel version will never change on your >>>machine. >>> >>Huh? I frequently update the kernel, and the kernel minor version... as >>well as switch from uniprocessor to SMP. The major version may not change, >>but that minor one certanly does. And adding SMP changes the ABI for that >>version. And patches CAN and DO change the ABI, even within the major >>version. >> > >So what? You don't change it on *MY* machine, now do you? *MY* version >remains stable regardless of what *YOU* do unless I update my source >code. > Linus doesn't change it on *YOUR* machine either, when he releases a new kernel. You do when you pull his changes. The point is the difficulty from a module distributor's point of view. ^ permalink raw reply [flat|nested] 180+ messages in thread
* Re: Linux GPL and binary module exception clause? 2003-12-11 18:47 ` Kendall Bennett 2003-12-11 18:55 ` Nick Piggin @ 2003-12-11 22:18 ` Jesse Pollard 1 sibling, 0 replies; 180+ messages in thread From: Jesse Pollard @ 2003-12-11 22:18 UTC (permalink / raw) To: Kendall Bennett Cc: Linus Torvalds, 'Andre Hedrick', 'Arjan van de Ven', Valdis.Kletnieks, linux-kernel On Thursday 11 December 2003 12:47, Kendall Bennett wrote: > Jesse Pollard <jesse@cats-chateau.net> wrote: > > > You miss my point. I was talking about a single kernel version. For a > > > single kernel version, the ABI is both *published* and *stable*. Sure > > > it may not be what you consider a *clean* or *good* ABI, but it *IS* an > > > ABI. Note that: > > > > > > 1. It is a published ABI because for that one kernel release, all the > > > source code is available that documents the ABI (albiet badly IYO). > > > > > > 2. It is stable because that kernel version will never change on your > > > machine. > > > > Huh? I frequently update the kernel, and the kernel minor version... as > > well as switch from uniprocessor to SMP. The major version may not > > change, but that minor one certanly does. And adding SMP changes the ABI > > for that version. And patches CAN and DO change the ABI, even within the > > major version. > > So what? You don't change it on *MY* machine, now do you? *MY* version > remains stable regardless of what *YOU* do unless I update my source > code. You won't be able to update it... Even in the face of real problems that must be updated (as in a major security problem). > > How do you handle the differences in a single version for > > something like SMP? It is still the same version, but a binary > > driver for SMP will most likely NOT work on uniprocessor, and even > > more likey not work if compiled for a uniprocessor under SMP. > > No, it is not the same version. One is the UNI version and one is the SMP > version. By version of kernel I mean the version of the binary that I am > building the loadable module to work with. You can just consider the > UNI/SMP support to be an extension of the version and treat them as > different versions (after all, you will need two separate modules to > handle this anyway). According to the kernel it is the same version - the binary module loaded, it just doesn't work. And no way to get it working either. This also applies to other minor options - like AMD optimizations, PII/P3/P4 optimizations... They all run the same Kernel version... Even when they are uniprocessor only... So now you ALSO have to have that third party to distribute BINARY versions of the kernel to make that binary driver work. And you can't make any changes.. because that may/would break the system... You can no longer upgrade your system. You might be able to go from P2 to p3, but if the driver was built for p3, expect problems on a p2. And blow it out your ear if you want an IA64, or even a 64 bit AMD. And you don't even know what options that third party used in building their kernel, and can't create an equivalent... And forget trying to get any help for a problem. Especially if there are two such modules you need... If you think the finger pointing is bad now, think about what happens then. Which is why I don't buy, nor even recommend, devices that reqire closed source drivers. There are just too many combinations of options that make a single (or even limited number of) version(s) of a binary module either unusable or unsupportable. ^ permalink raw reply [flat|nested] 180+ messages in thread
* Re: Linux GPL and binary module exception clause? 2003-12-10 19:48 ` Kendall Bennett 2003-12-10 21:15 ` viro @ 2003-12-10 22:18 ` Larry McVoy 2003-12-10 22:25 ` Andre Hedrick ` (3 more replies) 1 sibling, 4 replies; 180+ messages in thread From: Larry McVoy @ 2003-12-10 22:18 UTC (permalink / raw) To: Kendall Bennett Cc: Linus Torvalds, 'Andre Hedrick', 'Arjan van de Ven', Valdis.Kletnieks, linux-kernel On Wed, Dec 10, 2003 at 11:48:45AM -0800, Kendall Bennett wrote: > Linus Torvalds <torvalds@osdl.org> wrote: > > > In fact, a user program written in 1991 is actually still likely > > to run, if it doesn't do a lot of special things. So user programs > > really are a hell of a lot more insulated than kernel modules, > > which have been known to break weekly. > > IMHO (and IANAL of course), it seems a bit tenuous to me the argument > that just because you deliberating break compatibility at the module > level on a regular basis, that they are automatically derived works. Not only that, I think the judge would have something to say about the fact that the modules interface is delibrately changed all the time with stated intent of breaking binary drivers. In fact, Linus pointed out his thoughts on what the judge would say: In fact, I will bet you that if the judge thinks that you tried to use technicalities ("your honour, I didn't actually run the 'ln' program, instead of wrote a shell script for the _user_ to run the 'ln' program for me"), that judge will just see that as admission of the fact that you _knew_ you were doing something bad. Why is it that the judge wouldn't see the delibrate changing of the interfaces, the EXPORT_GPL stuff, all of that as a way to delibrately force something that wouldn't otherwise be a derived work into a derived work category? -- --- Larry McVoy lm at bitmover.com http://www.bitmover.com/lm ^ permalink raw reply [flat|nested] 180+ messages in thread
* Re: Linux GPL and binary module exception clause? 2003-12-10 22:18 ` Larry McVoy @ 2003-12-10 22:25 ` Andre Hedrick 2003-12-10 23:38 ` Linus Torvalds ` (2 subsequent siblings) 3 siblings, 0 replies; 180+ messages in thread From: Andre Hedrick @ 2003-12-10 22:25 UTC (permalink / raw) To: Larry McVoy Cc: Kendall Bennett, Linus Torvalds, 'Arjan van de Ven', Valdis.Kletnieks, linux-kernel Larry, You have a strong grap of the obvious :-) I wish more of the meatball could have such a strong grip. 2.6 is setting itself up to fall hard on the back edge of the sword. "Made you Look" is not much use if it is published, because it is now a public record. Cheers, Andre Hedrick LAD Storage Consulting Group On Wed, 10 Dec 2003, Larry McVoy wrote: > On Wed, Dec 10, 2003 at 11:48:45AM -0800, Kendall Bennett wrote: > > Linus Torvalds <torvalds@osdl.org> wrote: > > > > > In fact, a user program written in 1991 is actually still likely > > > to run, if it doesn't do a lot of special things. So user programs > > > really are a hell of a lot more insulated than kernel modules, > > > which have been known to break weekly. > > > > IMHO (and IANAL of course), it seems a bit tenuous to me the argument > > that just because you deliberating break compatibility at the module > > level on a regular basis, that they are automatically derived works. > > Not only that, I think the judge would have something to say about the > fact that the modules interface is delibrately changed all the time > with stated intent of breaking binary drivers. In fact, Linus pointed > out his thoughts on what the judge would say: > > In fact, I will bet you that if the judge thinks that you tried to > use technicalities ("your honour, I didn't actually run the 'ln' > program, instead of wrote a shell script for the _user_ to run the > 'ln' program for me"), that judge will just see that as admission > of the fact that you _knew_ you were doing something bad. > > Why is it that the judge wouldn't see the delibrate changing of the > interfaces, the EXPORT_GPL stuff, all of that as a way to delibrately > force something that wouldn't otherwise be a derived work into a > derived work category? > -- > --- > Larry McVoy lm at bitmover.com http://www.bitmover.com/lm > ^ permalink raw reply [flat|nested] 180+ messages in thread
* Re: Linux GPL and binary module exception clause? 2003-12-10 22:18 ` Larry McVoy 2003-12-10 22:25 ` Andre Hedrick @ 2003-12-10 23:38 ` Linus Torvalds 2003-12-11 1:03 ` Larry McVoy 2003-12-10 23:39 ` Andrea Arcangeli 2003-12-11 17:44 ` Robin Rosenberg 3 siblings, 1 reply; 180+ messages in thread From: Linus Torvalds @ 2003-12-10 23:38 UTC (permalink / raw) To: Larry McVoy Cc: Kendall Bennett, 'Andre Hedrick', 'Arjan van de Ven', Valdis.Kletnieks, linux-kernel On Wed, 10 Dec 2003, Larry McVoy wrote: > > Not only that, I think the judge would have something to say about the > fact that the modules interface is delibrately changed all the time > with stated intent of breaking binary drivers. Where do you people _find_ these ideas? We don't "deliberately change the interfaces to make modules harder". Rather, we deliberately don't _care_ about binary modules, exactly because we have documented several times that it IS NOT AN API. So what we do is to change the interfaces when it makes sense to change them (ie we do have a real reason to do so), and we deliberately make people AWARE of this fact. See the difference? The internal kernel module interface is clearly documented to be _internal_ over several years of discussions (this particular discussion seems to come up once every year or so). It's not an API, and never has been. But we don't change the interfaces just to be difficult. Linus ^ permalink raw reply [flat|nested] 180+ messages in thread
* Re: Linux GPL and binary module exception clause? 2003-12-10 23:38 ` Linus Torvalds @ 2003-12-11 1:03 ` Larry McVoy 2003-12-11 14:46 ` Ingo Molnar 0 siblings, 1 reply; 180+ messages in thread From: Larry McVoy @ 2003-12-11 1:03 UTC (permalink / raw) To: Linus Torvalds Cc: Larry McVoy, Kendall Bennett, 'Andre Hedrick', 'Arjan van de Ven', Valdis.Kletnieks, linux-kernel On Wed, Dec 10, 2003 at 03:38:02PM -0800, Linus Torvalds wrote: > On Wed, 10 Dec 2003, Larry McVoy wrote: > > Not only that, I think the judge would have something to say about the > > fact that the modules interface is delibrately changed all the time > > with stated intent of breaking binary drivers. > > Where do you people _find_ these ideas? Oh, I don't know, years of reading this list maybe? Come on, Linus, do you really need me to go surfing around to find all the postings to the list where people were saying that's why change is good? I *know* you have said it. Don't play dumb, you have and you know it. Yeah, you have said that part of it is that you retain the right to fix things that need to be fixed and that part I agree with 100%. Broken interfaces suck and fixing them should be your right. Agreed. But is that all? I don't think so and I've been here for 10 years. -- --- Larry McVoy lm at bitmover.com http://www.bitmover.com/lm ^ permalink raw reply [flat|nested] 180+ messages in thread
* Re: Linux GPL and binary module exception clause? 2003-12-11 1:03 ` Larry McVoy @ 2003-12-11 14:46 ` Ingo Molnar 0 siblings, 0 replies; 180+ messages in thread From: Ingo Molnar @ 2003-12-11 14:46 UTC (permalink / raw) To: Larry McVoy Cc: Linus Torvalds, Kendall Bennett, 'Andre Hedrick', 'Arjan van de Ven', Valdis.Kletnieks, linux-kernel On Wed, 10 Dec 2003, Larry McVoy wrote: > > > Not only that, I think the judge would have something to say about the > > > fact that the modules interface is delibrately changed all the time > > > with stated intent of breaking binary drivers. > > > > Where do you people _find_ these ideas? > > Oh, I don't know, years of reading this list maybe? Come on, Linus, do > you really need me to go surfing around to find all the postings to the > list where people were saying that's why change is good? I *know* you > have said it. Don't play dumb, you have and you know it. i challenge you to find such posts. What maybe might have happened is that someone said "dont change this, it changes the module API" then someone else said "that is not a good reason at all" - which is a perfectly correct position. Maybe sometimes an interface was changed (or even removed) because modules used it in a really unsafe way that lead to many bogus bugreports and stability problems. I cant remember any instance of pure "hey, lets change this function for fun and for breaking binary modules". i've been around here for a long time too and i find your accusation insulting. and even if someone did do something deliberately, it would be completely legal, in fact, an action expressly protected by law. It is a technological measure that effectively controls access to a work. Deactivating an effective technological measure is against 17 USC 1201. (the DMCA) Believe me, most kernel copyright holders are _a lot_ less anal about their rights than they could be. Every time Congress makes copyright laws stronger for Disney & co, the kernel copyright gets stronger too. Ingo ^ permalink raw reply [flat|nested] 180+ messages in thread
* Re: Linux GPL and binary module exception clause? 2003-12-10 22:18 ` Larry McVoy 2003-12-10 22:25 ` Andre Hedrick 2003-12-10 23:38 ` Linus Torvalds @ 2003-12-10 23:39 ` Andrea Arcangeli 2003-12-11 17:44 ` Robin Rosenberg 3 siblings, 0 replies; 180+ messages in thread From: Andrea Arcangeli @ 2003-12-10 23:39 UTC (permalink / raw) To: Larry McVoy, Kendall Bennett, Linus Torvalds, 'Andre Hedrick', 'Arjan van de Ven', Valdis.Kletnieks, linux-kernel On Wed, Dec 10, 2003 at 02:18:00PM -0800, Larry McVoy wrote: > interfaces, the EXPORT_GPL stuff, all of that as a way to delibrately forget EXPORT_GPL, that's an hint, all _GPL can be removed, and any EXPORT_SYMBOL can be added. what is a derived work or not, what is legal or not, has nothing to do with whatever EXPORT_SYMBOL_GPL or even with EXPORT_SYMBOL. Clearly if we export everything with EXPORT_SYMBOL we make life easier to illegal people, that's why using EXPORT_SYMBOL_GPL can make sense, but any distributor is free to drop all _GPL tags everywhere, and export every single kernel function with EXPORT_SYMBOL. If somebody than makes a derived work through those exported symbols illegally, that's his own problem. The distributor has no control on the export symbol users. just look vmmon, that's a derived work with a non GPL compatible licence, it does everything through exported symbols but it doesn't mean it's not a derivative work. ^ permalink raw reply [flat|nested] 180+ messages in thread
* Re: Linux GPL and binary module exception clause? 2003-12-10 22:18 ` Larry McVoy ` (2 preceding siblings ...) 2003-12-10 23:39 ` Andrea Arcangeli @ 2003-12-11 17:44 ` Robin Rosenberg 2003-12-11 17:56 ` Valdis.Kletnieks 2003-12-11 18:37 ` David Schwartz 3 siblings, 2 replies; 180+ messages in thread From: Robin Rosenberg @ 2003-12-11 17:44 UTC (permalink / raw) To: Larry McVoy, Kendall Bennett Cc: Linus Torvalds, 'Andre Hedrick', 'Arjan van de Ven', Valdis.Kletnieks, linux-kernel onsdagen den 10 december 2003 23.18 skrev Larry McVoy: > On Wed, Dec 10, 2003 at 11:48:45AM -0800, Kendall Bennett wrote: [...] > Not only that, I think the judge would have something to say about the > fact that the modules interface is delibrately changed all the time > with stated intent of breaking binary drivers. In fact, Linus pointed > out his thoughts on what the judge would say: > > In fact, I will bet you that if the judge thinks that you tried to > use technicalities ("your honour, I didn't actually run the 'ln' > program, instead of wrote a shell script for the _user_ to run the > 'ln' program for me"), that judge will just see that as admission > of the fact that you _knew_ you were doing something bad. > > Why is it that the judge wouldn't see the delibrate changing of the > interfaces, the EXPORT_GPL stuff, all of that as a way to delibrately > force something that wouldn't otherwise be a derived work into a > derived work category? If EXPORT_GPL is changed as a means of protecting the copyright, i..e. provide source code access. then doesn't this "mechanism" fall under the infamous DMCA, i.e. you're not allowed to even think about circumventing it... -- robin ^ permalink raw reply [flat|nested] 180+ messages in thread
* Re: Linux GPL and binary module exception clause? 2003-12-11 17:44 ` Robin Rosenberg @ 2003-12-11 17:56 ` Valdis.Kletnieks 2003-12-11 18:16 ` Nick Piggin 2003-12-11 18:50 ` Mihai RUSU 2003-12-11 18:37 ` David Schwartz 1 sibling, 2 replies; 180+ messages in thread From: Valdis.Kletnieks @ 2003-12-11 17:56 UTC (permalink / raw) To: Robin Rosenberg; +Cc: linux-kernel [-- Attachment #1: Type: text/plain, Size: 977 bytes --] On Thu, 11 Dec 2003 18:44:03 +0100, Robin Rosenberg said: > If EXPORT_GPL is changed as a means of protecting the copyright, i..e. provide > source code access. then doesn't this "mechanism" fall under the infamous DMCA, > i.e. you're not allowed to even think about circumventing it... 17 USC 1201 (a)(1)(A) says: "No person shall circumvent a technological measure that effectively controls access to a work protected under this title. The prohibition contained in the preceding sentence shall take effect at the end of the 2-year period beginning on the date of the enactment of this chapter." OK, so Adobe managed to make the case that rot-13 was an "effective control". Given that the GPL specifically allows you to change the source and thus bypass the EXPORT_GPL, I doubt you can make the case for "effective". Of course, IANAL, just a sysadmin who can read. If the definition of "effective" is likely to matter to you, get legal advice from a qualified expert. [-- Attachment #2: Type: application/pgp-signature, Size: 226 bytes --] ^ permalink raw reply [flat|nested] 180+ messages in thread
* Re: Linux GPL and binary module exception clause? 2003-12-11 17:56 ` Valdis.Kletnieks @ 2003-12-11 18:16 ` Nick Piggin 2003-12-11 18:50 ` Mihai RUSU 1 sibling, 0 replies; 180+ messages in thread From: Nick Piggin @ 2003-12-11 18:16 UTC (permalink / raw) To: Valdis.Kletnieks; +Cc: Robin Rosenberg, linux-kernel Valdis.Kletnieks@vt.edu wrote: >On Thu, 11 Dec 2003 18:44:03 +0100, Robin Rosenberg said: > > >>If EXPORT_GPL is changed as a means of protecting the copyright, i..e. provide >>source code access. then doesn't this "mechanism" fall under the infamous DMCA, >>i.e. you're not allowed to even think about circumventing it... >> > >17 USC 1201 (a)(1)(A) says: > >"No person shall circumvent a technological measure that effectively controls >access to a work protected under this title. The prohibition contained in the >preceding sentence shall take effect at the end of the 2-year period beginning >on the date of the enactment of this chapter." > >OK, so Adobe managed to make the case that rot-13 was an "effective control". >Given that the GPL specifically allows you to change the source and thus bypass >the EXPORT_GPL, I doubt you can make the case for "effective". > You know, "effectively" has two (that I know of) meanings. I would be surprised if a case for prosecution could be won based on the argument that rot-13 "works properly". Not because I know anything about law, maybe naive though. ^ permalink raw reply [flat|nested] 180+ messages in thread
* Re: Linux GPL and binary module exception clause? 2003-12-11 17:56 ` Valdis.Kletnieks 2003-12-11 18:16 ` Nick Piggin @ 2003-12-11 18:50 ` Mihai RUSU 1 sibling, 0 replies; 180+ messages in thread From: Mihai RUSU @ 2003-12-11 18:50 UTC (permalink / raw) To: Valdis.Kletnieks; +Cc: Robin Rosenberg, linux-kernel -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On Thu, 11 Dec 2003 Valdis.Kletnieks@vt.edu wrote: > 17 USC 1201 (a)(1)(A) says: > > "No person shall circumvent a technological measure that effectively controls > access to a work protected under this title. The prohibition contained in the > preceding sentence shall take effect at the end of the 2-year period beginning > on the date of the enactment of this chapter." What about section 1201(f)(2) : Notwithstanding the provisions of subsections (a)(2) and (b), a person may develop and employ technological means to circumvent a technological measure, or to circumvent protection afforded by a technological measure ... for the purpose of enabling interoperability of an independently created computer program with other programs, if such means are necessary to achieve such interoperability, to the extent that doing so does not constitute infringement under this title. Read more on this case analysis http://research.yale.edu/lawmeme/modules.php?name=News&file=article&sid=149 - -- Mihai RUSU Email: dizzy@roedu.net GPG : http://dizzy.roedu.net/dizzy-gpg.txt WWW: http://dizzy.roedu.net "Linux is obsolete" -- AST -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.3 (GNU/Linux) iD8DBQE/2Lx2PZzOzrZY/1QRAiMVAKDRL1T2XM0dmIRWat3L9pFFw92JrQCgvyAw Dop7R7K/waecGWn9PDhAJ1M= =6zfE -----END PGP SIGNATURE----- ^ permalink raw reply [flat|nested] 180+ messages in thread
* RE: Linux GPL and binary module exception clause? 2003-12-11 17:44 ` Robin Rosenberg 2003-12-11 17:56 ` Valdis.Kletnieks @ 2003-12-11 18:37 ` David Schwartz 1 sibling, 0 replies; 180+ messages in thread From: David Schwartz @ 2003-12-11 18:37 UTC (permalink / raw) To: Robin Rosenberg, Larry McVoy, Kendall Bennett; +Cc: linux-kernel > If EXPORT_GPL is changed as a means of protecting the copyright, > i..e. provide > source code access. then doesn't this "mechanism" fall under the > infamous DMCA, > i.e. you're not allowed to even think about circumventing it... > > -- robin This was already discussed to death. If EXPORT_GPL were a copyright enforcement mechanism, it could not add any restrictions not already present in the GPL because the GPL prohibits additional restrictions. So either EXPORT_GPL is not a copyright enforcement mechanism (in which case the DMCA doesn't prohibit removing or circumventing it), or it only enforces technically restrictions that are already in effect legally. So this would only matter to someone who said, "I'm going to violate the GPL, what might happen?" Interestingly, even if it is a copyright enforcement mechanism and even if it only enforces the GPL's actual terms, anyone who wants to could still remove it. The inability to remove a copyright enforcement mechanism would be an "additional restriction" and so it couldn't be imposed on a GPL'd work. (IANAL, and you never know how courts would rule of course.) DS ^ permalink raw reply [flat|nested] 180+ messages in thread
* RE: Linux GPL and binary module exception clause? 2003-12-10 17:42 ` Linus Torvalds 2003-12-10 19:32 ` Andre Hedrick 2003-12-10 19:48 ` Kendall Bennett @ 2003-12-11 12:04 ` David Woodhouse 2 siblings, 0 replies; 180+ messages in thread From: David Woodhouse @ 2003-12-11 12:04 UTC (permalink / raw) To: Linus Torvalds Cc: Hua Zhong, 'Andre Hedrick', 'Arjan van de Ven', Valdis.Kletnieks, 'Kendall Bennett', linux-kernel On Wed, 2003-12-10 at 09:42 -0800, Linus Torvalds wrote: > There's a reason for those lines at the top of the COPYING file saying > that user space is not covered, and there are literally lawyers who say it > would hold up in a court of law. I'm glad that the lawyers have been specifically asked about that, because the exception seems poorly worded to me. It does _not_ say that user space 'is not covered'; in fact it says only that user space is not considered a derived work. But see §2 of the GPL: 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. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. Being pedantic about it, the precise wording of the exception does not prevent a user space program from being affected by the above even though it is explicitly _not_ considered to be 'derived work', and though it 'can be reasonably considered [an] independent and separate [work] in [itself]'. If you distribute your user space programs not 'as separate works' but rather 'as part of a whole which is a work based on the Program', then they may be affected. I don't _like_ the idea that user space could be affected, and I hope that the _intent_ of the exception is clear enough to cover the ambiguity. I'm not really sure that's the case though. For example, imagine explaining to a judge the technicalities about user space and kernel space, and the 'separation' between the kernel and the cramfs in the downloadable binary blob which forms the firmware for the Linksys/Cisco wireless routers -- and hence arguing that the user space bits are being distributed 'as separate works', rather than 'as part of a whole...'. What reaction do you think you'd get? I don't think the GPL on the kernel _should_ extend its reach into user space, and I'll allow people to invoke estoppel by publicly stating here and now that I'd never sue for such 'violations' alone. Note the word "alone" in the above sentence. I won't rule out the possibility of including such violations in a case against a vendor shipping binary-only modules, or committing other violations. -- dwmw2 ^ permalink raw reply [flat|nested] 180+ messages in thread
* Re: Linux GPL and binary module exception clause? 2003-12-10 17:15 ` Hua Zhong 2003-12-10 17:42 ` Linus Torvalds @ 2003-12-10 17:49 ` Jörn Engel 1 sibling, 0 replies; 180+ messages in thread From: Jörn Engel @ 2003-12-10 17:49 UTC (permalink / raw) To: Hua Zhong Cc: 'Linus Torvalds', 'Andre Hedrick', 'Arjan van de Ven', Valdis.Kletnieks, 'Kendall Bennett', linux-kernel On Wed, 10 December 2003 09:15:15 -0800, Hua Zhong wrote: > > Many userspace programs fall into this category too. For example they > depend on /proc to be there. They probably only work with a certain > version of the kernel because the next version changed some format in > /proc. > > Is /proc a stable API/ABI? Yes? No? Have you ever played roleplaying games? Almost every rule system has gray areas that could be exploited by the player. But if you really try to do it, the game master will simply notice that - as unlikely as it sounds - a meteor just landed on your head and you are dead. Try to use /proc/kcore to load kernel modules through a gray area and the game master (aka judge) will notice. Use it to check the kernel version and noone cares. So common sense applies again, no matter how tricky your questions are. Jörn -- If you're willing to restrict the flexibility of your approach, you can almost always do something better. -- John Carmack ^ permalink raw reply [flat|nested] 180+ messages in thread
* Re: Linux GPL and binary module exception clause? 2003-12-10 15:18 ` Linus Torvalds 2003-12-10 15:32 ` Larry McVoy 2003-12-10 17:15 ` Hua Zhong @ 2003-12-10 18:16 ` Andre Hedrick 2 siblings, 0 replies; 180+ messages in thread From: Andre Hedrick @ 2003-12-10 18:16 UTC (permalink / raw) To: Linus Torvalds Cc: Arjan van de Ven, Valdis.Kletnieks, Kendall Bennett, linux-kernel Linus, Thanks for the clarification ! So as I suspected and validated via other means, the content of the headers are not an issue as it relates to GPL as many claim. Well I have gotten side requests that I was late in joining the thread party and I am distracting you from patch merging. This is a fair point, and we can restart after 2.6.0 is out. Cheers, Andre Hedrick LAD Storage Consulting Group On Wed, 10 Dec 2003, Linus Torvalds wrote: > > > On Wed, 10 Dec 2003, Andre Hedrick wrote: > > > > So why not do the removal of the inlines to real .c files and quit playing > > games with bogus attempts to bleed taint into the inprotectable api? > > The inlines have nothing to do with _anything_. > > Trust me, a federal judge couldn't care less about some very esoteric > technical detail. I don't know who brought up inline functions, but they > aren't what would force the GPL. > > What has meaning for "derived work" is whether it stands on its own or > not, and how tightly integrated it is. If something works with just one > particular version of the kernel - or depends on things like whether the > kernel was compiled with certain options etc - then it pretty clearly is > very tightly integrated. > > Don't think that copyright would depend on any technicalities. > > Linus > ^ permalink raw reply [flat|nested] 180+ messages in thread
* Re: Linux GPL and binary module exception clause? 2003-12-05 19:09 ` Valdis.Kletnieks 2003-12-05 19:22 ` Arjan van de Ven @ 2003-12-05 19:25 ` Kendall Bennett 1 sibling, 0 replies; 180+ messages in thread From: Kendall Bennett @ 2003-12-05 19:25 UTC (permalink / raw) To: Valdis.Kletnieks; +Cc: linux-kernel Valdis.Kletnieks@vt.edu wrote: > On Fri, 05 Dec 2003 10:44:02 PST, Kendall Bennett said: > > > Right, and by extension of the same argument you cannot use kernel > > headers to create non-GPL'ed binaries that run IN USER SPACE! Just > > because a program runs in user space does not mean that it is not a > > dervived work. > > That's a bad idea for technical reasons too - how often do we have > to tell people not to use kernel headers from userspace? > glibc-kernheaders (and whatever non-RedHat boxes call it) exists > for a reason. > > Interestingly enough, at least on my Fedora box, 'rpm -qi' reports > glibc as LGPL, but glibc-kernheaders as GPL, which seems right to > me - linking against glibc gives the LGPL semantics as we'd want, > but forces userspace that's poking in the kernel to be GPL as a > derived work.... If glibc-kernheaders (used only if you do not have real kernel source code installed) is GPL, and many of the standard Linux include files end up including either headers from glibc-kernheaders (or the real Linux kernel source if you have it installed and symlinked), then by extension the glibc library built for Linux must be GPL as would all programs linked against it. Regards, --- Kendall Bennett Chief Executive Officer SciTech Software, Inc. Phone: (530) 894 8400 http://www.scitechsoft.com ~ SciTech SNAP - The future of device driver technology! ~ ^ permalink raw reply [flat|nested] 180+ messages in thread
* RE: Linux GPL and binary module exception clause? 2003-12-05 18:44 ` Kendall Bennett 2003-12-05 19:09 ` Valdis.Kletnieks @ 2003-12-05 19:26 ` Linus Torvalds 1 sibling, 0 replies; 180+ messages in thread From: Linus Torvalds @ 2003-12-05 19:26 UTC (permalink / raw) To: Kendall Bennett; +Cc: linux-kernel On Fri, 5 Dec 2003, Kendall Bennett wrote: > > Right, and by extension of the same argument you cannot use kernel > headers to create non-GPL'ed binaries that run IN USER SPACE! This was indeed one of the worries that people had a long time ago, and is one (but only one) of the reasons for the addition of the clarification to the COPYING file for the kernel. So I agree with you from a technical standpoint, and I claim that the clarification in COPYING about user space usage through normal system calls covers that special case. But at the same time I do want to say that I discourage use of the kernel header files for user programs for _other_ reasons (ie for the last 8 years or so, the suggestion has been to have a separate copy of the header files for the user space library). But that's due to technical issues (since I think the language of the COPYING file takes care of all copyright issues): trying to avoid version dependencies. > This exact reasoning is what RedHat (aka Cygnus) has been using for years > with the Cygwin toolkit for Windows. Although 99% of the code built with > the GNU compilers and Cygwin includes the glibc runtime library that is > LGPL, every program *must* include the C runtime library startup code or > it cannot function. *That* code is pure GPL, and by extension any program > using the Cygwin libraries is a derived work and must be GPL. If you > don't like that, by a commercially licensed version of Cygwin from > RedHat/Cygnus instead. And this is an area where I think the GPL just isn't the right license to use - but on the other hand it obviously isn't my decision to make. I'm not touching Cygwin with a ten-foot pole, and that has nothing to do with licensing ;) The GPL just doesn't make a lot of sense for library-like infrastructure. Linus ^ permalink raw reply [flat|nested] 180+ messages in thread
* Re: Linux GPL and binary module exception clause? 2003-12-05 6:34 ` David Schwartz 2003-12-05 6:58 ` Linus Torvalds @ 2003-12-05 15:50 ` Valdis.Kletnieks 2003-12-05 18:44 ` Kendall Bennett 2 siblings, 0 replies; 180+ messages in thread From: Valdis.Kletnieks @ 2003-12-05 15:50 UTC (permalink / raw) To: David Schwartz; +Cc: Peter Chubb, linux-kernel [-- Attachment #1: Type: text/plain, Size: 763 bytes --] On Thu, 04 Dec 2003 22:34:37 PST, David Schwartz said: > So you're argument is that it's impossible to use the header file without > creating a derived work, hence permission to use the header file is > permission to create the derived work. Right. And getting the permission to create the derived work is contingent on your agreeing that if it is distributed, the derived work is GPL. > This supports my argument that you > can create a derived work without agreeing to the GPL. Thanks. It's quite possible and legal to *create* a derived work without agreeing to the GPL. However, the only things you can legally *do* with the work are use it on your own system, and brag about how cool your code is. You most certainly can't distribute it as non-GPL. [-- Attachment #2: Type: application/pgp-signature, Size: 226 bytes --] ^ permalink raw reply [flat|nested] 180+ messages in thread
* RE: Linux GPL and binary module exception clause? 2003-12-05 6:34 ` David Schwartz 2003-12-05 6:58 ` Linus Torvalds 2003-12-05 15:50 ` Valdis.Kletnieks @ 2003-12-05 18:44 ` Kendall Bennett 2003-12-06 0:02 ` Maciej Zenczykowski 2 siblings, 1 reply; 180+ messages in thread From: Kendall Bennett @ 2003-12-05 18:44 UTC (permalink / raw) To: David Schwartz; +Cc: linux-kernel "David Schwartz" <davids@webmaster.com> wrote: > > That's 6,288 chances for you to #include GPL code and end up > > with executable derived from it in *your* .o file, not the kernel's. > > I'm sorry, but that just doesn't matter. The GPL gives you the > unrestricted right to *use* the original work. This implicitly > includes the right to peform any step necessary to use the work. > (This is why you can 'make a copy' of a book on your retina if you > have the right to read it.) Please tell me how you use a kernel > header file, other than by including it in a code file, compiling > that code file, and executing the result. Another point worth mentioning is that if the Linux kernel headers are pure GPL, then user land programs that use the Linux kernel headers themselves would also be pure GPL by extension if the above argument holds water. Clearly the Linux developers would like to believe otherwise, but there are many Linux user mode programs that will make use of GPL kernel headers in their non-GPL programs. And some of that code will include inline assembler and inline functions to make calls into the kernel. Likewise, by extension, any runtime library that uses GPL header files from the kernel directly would have to also be pure GPL. This means glibc folks. We all know glibc is LGPL, but if you link pure GPL code with LGPL code the entire work must be *GPL*, not LGPL if it is considered a derived work. Regards, --- Kendall Bennett Chief Executive Officer SciTech Software, Inc. Phone: (530) 894 8400 http://www.scitechsoft.com ~ SciTech SNAP - The future of device driver technology! ~ ^ permalink raw reply [flat|nested] 180+ messages in thread
* RE: Linux GPL and binary module exception clause? 2003-12-05 18:44 ` Kendall Bennett @ 2003-12-06 0:02 ` Maciej Zenczykowski 0 siblings, 0 replies; 180+ messages in thread From: Maciej Zenczykowski @ 2003-12-06 0:02 UTC (permalink / raw) To: Kendall Bennett; +Cc: David Schwartz, linux-kernel > Another point worth mentioning is that if the Linux kernel headers are > pure GPL, then user land programs that use the Linux kernel headers > themselves would also be pure GPL by extension if the above argument > holds water. Clearly the Linux developers would like to believe Problem being that user space programs are not supposed to use the kernel headers - they're supposed to use the glibc headers anyway. In fact the latest kernel source headers don't work in userspace period. And the user space glibc 'kernel' headers are released and distributed seperately and contain much less code than the actual kernel kernel headers. Cheers, MaZe. ^ permalink raw reply [flat|nested] 180+ messages in thread
* Re: Linux GPL and binary module exception clause? 2003-12-05 5:13 ` Valdis.Kletnieks 2003-12-05 5:26 ` Hua Zhong 2003-12-05 6:34 ` David Schwartz @ 2003-12-05 18:44 ` Kendall Bennett 2003-12-10 13:16 ` Andre Hedrick 3 siblings, 0 replies; 180+ messages in thread From: Kendall Bennett @ 2003-12-05 18:44 UTC (permalink / raw) To: Valdis.Kletnieks; +Cc: linux-kernel Peter Chubb <peter@chubb.wattle.id.au> wrote: > > As far as I know, interfacing to a published API doesn't infringe > > copyright. > > Well, if the only thing in the .h files was #defines and structure > definitions, it would probably be a slam dunk to decide that, yes. > > Here's the part where people's eyes glaze over: > > % cd /usr/src/linux-2.6.0-test10-mm1 > % find include -name '*.h' | xargs egrep 'static.*inline' | wc -l > 6288 > > That's 6,288 chances for you to #include GPL code and end up > with executable derived from it in *your* .o file, not the kernel's. > > More to the point, look at include/linux/rwsem.h, and ask yourself > how to call down_read(), down_write(), up_read(), and up_write() > without getting little snippets of GPL all over your .o. Clearly that is easy to work around, because all you need to do is have a small GPL wrapper module that includes the Linux kernel headers and would end up having GPL code linked into it, and build the wrapper such that it makes calls via an API *you* define into your code. Then your code is simply interfacing via your own API to the GPL wrapper module and none of your code would be tainted. At least via direct inclusion and use of Linux kernel API header files anyway. There is still the issue of whether the specific binary module code you are linking into the kernel is Linux specific or not and would be considered a dervived work. If it is only for Linux and is not very useful for other platforms, one could argue that it is a derived work and hence should be GPL regardless of what API or GPL wrapper it uses. Then again, if a module is completely Linux specific and the source for it has no use outside of Linux, I doubt a vendor could care less about keeping it proprietary anyway ;-) Regards, --- Kendall Bennett Chief Executive Officer SciTech Software, Inc. Phone: (530) 894 8400 http://www.scitechsoft.com ~ SciTech SNAP - The future of device driver technology! ~ ^ permalink raw reply [flat|nested] 180+ messages in thread
* Re: Linux GPL and binary module exception clause? 2003-12-05 5:13 ` Valdis.Kletnieks ` (2 preceding siblings ...) 2003-12-05 18:44 ` Kendall Bennett @ 2003-12-10 13:16 ` Andre Hedrick 2003-12-10 15:02 ` Jesse Pollard 3 siblings, 1 reply; 180+ messages in thread From: Andre Hedrick @ 2003-12-10 13:16 UTC (permalink / raw) To: Valdis.Kletnieks; +Cc: Peter Chubb, linux-kernel Very simple. Apply the basics of GPL and strip all the inlines to a file called kernel_inlines.[ch] and export all the symbols to export_symbol. Thus all the cute tricks people try to taint the unprotecable interface is removed. The basics of removing the code in question. If you holler wait you are changing the core and you can't BUZZIT. I can change what ever I want and distribute it where ever I care. Thank you, Andre Hedrick LAD Storage Consulting Group On Fri, 5 Dec 2003 Valdis.Kletnieks@vt.edu wrote: > On Fri, 05 Dec 2003 15:23:10 +1100, Peter Chubb said: > > > As far as I know, interfacing to a published API doesn't infringe > > copyright. > > Well, if the only thing in the .h files was #defines and structure definitions, > it would probably be a slam dunk to decide that, yes. > > Here's the part where people's eyes glaze over: > > % cd /usr/src/linux-2.6.0-test10-mm1 > % find include -name '*.h' | xargs egrep 'static.*inline' | wc -l > 6288 > > That's 6,288 chances for you to #include GPL code and end up > with executable derived from it in *your* .o file, not the kernel's. > > More to the point, look at include/linux/rwsem.h, and ask yourself > how to call down_read(), down_write(), up_read(), and up_write() > without getting little snippets of GPL all over your .o. > > And even if your module doesn't get screwed by that, there's a > few other equally dangerous inlines waiting to bite you on the posterior. > > I seem to recall one of the little buggers was particularly nasty, because it > simply Would Not Work if not inlined, so compiling with -fno-inline wasn't an > option. Unfortunately, I can't remember which it was - it was mentioned on > here a while ago when somebody's kernel failed to boot because a gcc 3.mumble > had broken inlining..... > > ^ permalink raw reply [flat|nested] 180+ messages in thread
* Re: Linux GPL and binary module exception clause? 2003-12-10 13:16 ` Andre Hedrick @ 2003-12-10 15:02 ` Jesse Pollard 2003-12-10 20:37 ` Theodore Ts'o 0 siblings, 1 reply; 180+ messages in thread From: Jesse Pollard @ 2003-12-10 15:02 UTC (permalink / raw) To: Andre Hedrick, Valdis.Kletnieks; +Cc: Peter Chubb, linux-kernel On Wednesday 10 December 2003 07:16, Andre Hedrick wrote: > Very simple. > > Apply the basics of GPL and strip all the inlines to a file called > kernel_inlines.[ch] and export all the symbols to export_symbol. I belive that is what is done for the usermode includes (excluding the inlines), and including some of the constants. As a matter of fact, the user includes can't be used in the kernel anyway since they ARE incomplete from the kernels point of view. They don't even have to match the kernel at all.. They DO have to match the libc being used, though. > Thus all the cute tricks people try to taint the unprotecable interface is > removed. The basics of removing the code in question. > > If you holler wait you are changing the core and you can't BUZZIT. > I can change what ever I want and distribute it where ever I care. You are still deriving your binary from a GPL source when a module is loaded. The kernel relocation symbols themselves are under GPL. The advantage that the NVIDIA approach has is that all GPL symbols/relocation/ whatever is handled by the wrapper for the binary driver. And that wrapper is distributed in an "acceptable" way. The DISadvantage it has is that the "defined" module interface changes. And it can even change during minor updates. The module interface is NOT a fixed target, like the usermode interface is. And then the NVIDIA driver(and/or wrapper) will require changes to continue to work... And bugs in a tainted kernel will continue to be unfixable. ^ permalink raw reply [flat|nested] 180+ messages in thread
* Re: Linux GPL and binary module exception clause? 2003-12-10 15:02 ` Jesse Pollard @ 2003-12-10 20:37 ` Theodore Ts'o 2003-12-11 16:26 ` Jesse Pollard 0 siblings, 1 reply; 180+ messages in thread From: Theodore Ts'o @ 2003-12-10 20:37 UTC (permalink / raw) To: Jesse Pollard; +Cc: Andre Hedrick, Valdis.Kletnieks, Peter Chubb, linux-kernel On Wed, Dec 10, 2003 at 09:02:21AM -0600, Jesse Pollard wrote: > > You are still deriving your binary from a GPL source when a module is loaded. > The kernel relocation symbols themselves are under GPL. > Even if the relocation symbols are under GPL'ed (there is doubt whether such symbols are copyrightable --- since things like telephone numbers are not copyrightable, for example), there is still the issue that the user is the one which is loading the module, not the person writing and distributing the module. And at this point, given that the GPL itself says that it's all about distribution, not about the use of the GPL'ed software, not to mention the fair use doctrine (trust me, the open source community does **not** want to narrow what is considered fair use), there isn't a problem. - Ted ^ permalink raw reply [flat|nested] 180+ messages in thread
* Re: Linux GPL and binary module exception clause? 2003-12-10 20:37 ` Theodore Ts'o @ 2003-12-11 16:26 ` Jesse Pollard 0 siblings, 0 replies; 180+ messages in thread From: Jesse Pollard @ 2003-12-11 16:26 UTC (permalink / raw) To: Theodore Ts'o Cc: Andre Hedrick, Valdis.Kletnieks, Peter Chubb, linux-kernel On Wednesday 10 December 2003 14:37, Theodore Ts'o wrote: > On Wed, Dec 10, 2003 at 09:02:21AM -0600, Jesse Pollard wrote: > > You are still deriving your binary from a GPL source when a module is > > loaded. The kernel relocation symbols themselves are under GPL. > > Even if the relocation symbols are under GPL'ed (there is doubt > whether such symbols are copyrightable --- since things like telephone > numbers are not copyrightable, for example), there is still the issue > that the user is the one which is loading the module, not the person > writing and distributing the module. As a nit - It is the person writing and distributing the binary that determines the symbols used. In any case, my phrasing was definitely poor. ((Though individual telephone numbers are not copyrightable, arrangements of telephone numbers are... Or the copyright notice in my phone book is bogus :-)) > And at this point, given that > the GPL itself says that it's all about distribution, not about the > use of the GPL'ed software, not to mention the fair use doctrine > (trust me, the open source community does **not** want to narrow what > is considered fair use), there isn't a problem. I had no real problem with the actual load... Just the distribution of the binary. To create the binary required access to the kernel sources just to identify the interfaces. But if the Kernel includes can provide the required separation... (I don't think they do, because other things are missing, such as the actual routines). I don't even have a big problem (other than distaste) to GPL shim modules for binary drivers. I don't see this as much different than loadable firmware. At least the shim (if properly written, that is) should be able to adjust to the various options in a specific kernel build. And I do have SOME possibility (however remote) to fix a slightly broken shim. ^ permalink raw reply [flat|nested] 180+ messages in thread
* Re: Linux GPL and binary module exception clause? 2003-12-05 0:07 ` Nick Piggin 2003-12-05 2:07 ` Kendall Bennett 2003-12-05 4:23 ` Peter Chubb @ 2003-12-05 13:52 ` Richard B. Johnson 2 siblings, 0 replies; 180+ messages in thread From: Richard B. Johnson @ 2003-12-05 13:52 UTC (permalink / raw) To: Nick Piggin; +Cc: Paul Adams, linux-kernel On Fri, 5 Dec 2003, Nick Piggin wrote: > > > Paul Adams wrote: > > >--- In linux-kernel@yahoogroups.com, Linus Torvalds > ><torvalds@o...> wrote: > > > >>- anything that was written with Linux in mind > >> > >(whether it then > > > >>_also_ works on other operating systems or not) is > >> > >clearly > > > >>partially a derived work. > >> > > > >I am no more a lawyer than you are, but I have to > >disagree. You > >are not free to define "derivative work" as you > >please. You > >must use accepted legal definitions. At least in the > >U.S., you > >must consider what Congress had to say on this. They > >said, "to > >constitute a violation of section 106(2) [which gives > >copyright > >owners rights over derivative works], the infringing > >work must > >incorporate a portion of the copyrighted work in some > >form; for > >example, a detailed commentary on a work or a > >programmatic musical > >composition inspired by a novel would not normally > >constitute > >infringements under this clause." > >http://www4.law.cornell.edu/uscode/17/106.notes.html > > > >A work that is inspired by Linux is no more a > >derivative work than > >a programmatic musical composition inspired by a > >novel. Having > >Linux in mind cannot be enough to constitute > >infringement. > > > > Of course not, thought police aren't any good until a mind reader > is invented ;) > > Seriously: > What about specifically a module that includes the Linux Kernel's > headers and uses its APIs? I don't think you could say that is > definitely not a derivative work. > When copyright law was developed, nobody thought of "#include <filename.h>". Let's guess what that means. To me, that is like a reference to a written work, when you attribute something to some document that was previously written and, incidentally, give appropriate credit to the writer(s). In this context, it is clearly not a copyright infringement to include the works of others with appropriate credit being given. It is just like; "See John Smith's article on frogs", referenced in an article about frogs. However, there are some who would claim that they don't want their previous work referenced by others at all, in particular those who might dirty their hands by making money with it. The only known way to prevent others from referencing a previous work is to not publish it at all. "Publish means to make public". If you don't want others referencing your precious work, then you need to keep it secret. It's just that simple. You can't have it both ways. You can't say, "I publish this only for the eyes of my friends who will work for free." Now, I have seen some who write their own header files because they think that including somebody else's creation might violate some copyright law. This, in fact, might be a violation in itself, to incorporate "whole cloth" the works of others in a separate document does appear to violate US law. However, referencing the unmodified original document, clearly (as clear are any law could be interpreted) does not. Cheers, Dick Johnson Penguin : Linux version 2.4.22 on an i686 machine (797.90 BogoMips). Note 96.31% of all statistics are fiction. ^ permalink raw reply [flat|nested] 180+ messages in thread
* Re: Linux GPL and binary module exception clause? 2003-12-04 23:50 Linux GPL and binary module exception clause? Paul Adams 2003-12-05 0:07 ` Nick Piggin @ 2003-12-05 0:09 ` Oliver Hunt 2003-12-05 10:55 ` Russell King 2003-12-05 0:46 ` Erik Andersen 2003-12-05 1:47 ` Linus Torvalds 3 siblings, 1 reply; 180+ messages in thread From: Oliver Hunt @ 2003-12-05 0:09 UTC (permalink / raw) To: Paul Adams, linux-kernel Paul Adams wrote: > --- In linux-kernel@yahoogroups.com, Linus Torvalds > <torvalds@o...> wrote: > >>- anything that was written with Linux in mind > > (whether it then > >>_also_ works on other operating systems or not) is > > clearly > >>partially a derived work. > > > I am no more a lawyer than you are, but I have to > disagree. You > are not free to define "derivative work" as you > please. You > must use accepted legal definitions. At least in the > U.S., you > must consider what Congress had to say on this. They > said, "to > constitute a violation of section 106(2) [which gives > copyright > owners rights over derivative works], the infringing > work must > incorporate a portion of the copyrighted work in some > form; for > example, a detailed commentary on a work or a > programmatic musical > composition inspired by a novel would not normally > constitute > infringements under this clause." > http://www4.law.cornell.edu/uscode/17/106.notes.html > > A work that is inspired by Linux is no more a > derivative work than > a programmatic musical composition inspired by a > novel. Having > Linux in mind cannot be enough to constitute > infringement. > > Remember also that U.S. copyright law states: > "In no case does copyright protection for an original > work of > authorship extend to any idea, procedure, process, > system, method > of operation, concept, principle, or discovery, > regardless of > the form in which it is described, explained, > illustrated, or > embodied in such work." > http://www4.law.cornell.edu/uscode/17/102.html > Thus you cannot claim infringement because a work > merely shares > ideas or methods of operation with Linux. > > The standard used in U.S. courts for determining if > software > violates a copyright includes a filtering procedure to > eliminate > unprotected aspects as described above. A standard > filter is that > you eliminate an element if "The element's expression > was dictated > by external factors, such as using an existing file > format or > interoperating with another program." Computer > Associates v. > Altai specifically discusses the need to filter > elements related > to "compatibility requirements of other programs with > which a > program is designed to operate in conjunction." > http://www.bitlaw.com/source/cases/copyright/altai.html > Code needed to interoperate with the Linux kernel thus > cannot be > considered as a factor in determining if the Linux > copyright is > infringed. > > Unless actual Linux code is incorporated in a binary > distribution > in some form, I don't see how you can claim > infringement of the > copyright on Linux code, at least in the U.S. > > > > __________________________________ > Do you Yahoo!? > Free Pop-Up Blocker - Get it now > http://companion.yahoo.com/ > - > To unsubscribe from this list: send the line "unsubscribe linux-kernel" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html > Please read the FAQ at http://www.tux.org/lkml/ Yes, but the if you want to write a kernel modules you need to #include at least a few of the headers: you are including copyrighted work... What (i think) linus is saying is that he, as the owner of the copyright, would accept a ported driver as not being derived(as most of the work would have been based on another system, not linux), but that is his choice, he is allowed to relax the terms of use because it is his copyright... I'm not however ever a lawyer... --Oliver The Department Formerly Known as Cosc University of Canterbury New Zealand ^ permalink raw reply [flat|nested] 180+ messages in thread
* Re: Linux GPL and binary module exception clause? 2003-12-05 0:09 ` Oliver Hunt @ 2003-12-05 10:55 ` Russell King 0 siblings, 0 replies; 180+ messages in thread From: Russell King @ 2003-12-05 10:55 UTC (permalink / raw) To: Oliver Hunt; +Cc: linux-kernel On Fri, Dec 05, 2003 at 01:09:00PM +1300, Oliver Hunt wrote: > What (i think) linus is saying is that he, as the owner of the > copyright, Unfortunately, this statement isn't entirely correct. Linus owns the copyright on parts of the kernel written by Linus, just the same as I own copyright on the parts of the kernel written by me, Red Hat own copyright on parts of the kernel written by their employees, and IBM own copyright on parts of the kernel written by their employees. etc. No one person owns the overall copyright on the complete kernel. This, in turn, means that no one person can change the terms and conditions of the license under which the overall kernel is distributed. IANAL. -- Russell King Linux kernel 2.6 ARM Linux - http://www.arm.linux.org.uk/ maintainer of: 2.6 PCMCIA - http://pcmcia.arm.linux.org.uk/ 2.6 Serial core ^ permalink raw reply [flat|nested] 180+ messages in thread
* Re: Linux GPL and binary module exception clause? 2003-12-04 23:50 Linux GPL and binary module exception clause? Paul Adams 2003-12-05 0:07 ` Nick Piggin 2003-12-05 0:09 ` Oliver Hunt @ 2003-12-05 0:46 ` Erik Andersen 2003-12-05 0:58 ` Zwane Mwaikambo ` (2 more replies) 2003-12-05 1:47 ` Linus Torvalds 3 siblings, 3 replies; 180+ messages in thread From: Erik Andersen @ 2003-12-05 0:46 UTC (permalink / raw) To: Paul Adams; +Cc: linux-kernel On Thu Dec 04, 2003 at 03:50:55PM -0800, Paul Adams wrote: > Unless actual Linux code is incorporated in a binary > distribution > in some form, I don't see how you can claim > infringement of the > copyright on Linux code, at least in the U.S. A kernel module is useless without a Linux kernel in which it can be loaded. Once loaded, it becomes not merely an adjunct, but an integrat part of the Linux kernel. Further, it clearly "incorporate[s] a portion of the copyrighted work" since it can only operate within the context of the kernel by utilizing Linux kernel function calls. To abuse your earlier metaphor, a kernel module is not comparable to a programmatic musical composition inspired by a novel. It is better comparared with another novel with substantial similarity in the theme, plot, sequence, settings, mood, dialogue, and characters, with the same story being told, with trademarked phrases and taglines, and that makes no sense whatsoever unless you insert it's entire content over the top of page 450, paragraph 4 (of the Linux "novel"), and which thereby changes the ending of the original book... -Erik -- Erik B. Andersen http://codepoet-consulting.com/ --This message was written using 73% post-consumer electrons-- ^ permalink raw reply [flat|nested] 180+ messages in thread
* Re: Linux GPL and binary module exception clause? 2003-12-05 0:46 ` Erik Andersen @ 2003-12-05 0:58 ` Zwane Mwaikambo 2003-12-05 1:03 ` Erik Andersen 2003-12-05 1:58 ` David Schwartz 2003-12-05 2:07 ` Kendall Bennett 2 siblings, 1 reply; 180+ messages in thread From: Zwane Mwaikambo @ 2003-12-05 0:58 UTC (permalink / raw) To: Erik Andersen; +Cc: Paul Adams, linux-kernel On Thu, 4 Dec 2003, Erik Andersen wrote: > On Thu Dec 04, 2003 at 03:50:55PM -0800, Paul Adams wrote: > > Unless actual Linux code is incorporated in a binary > > distribution > > in some form, I don't see how you can claim > > infringement of the > > copyright on Linux code, at least in the U.S. > > A kernel module is useless without a Linux kernel in which it can > be loaded. Once loaded, it becomes not merely an adjunct, but an > integrat part of the Linux kernel. Further, it clearly > "incorporate[s] a portion of the copyrighted work" since it > can only operate within the context of the kernel by utilizing > Linux kernel function calls. What about software which utilises Linux specific kernel services, such as say some cd writing software? ^ permalink raw reply [flat|nested] 180+ messages in thread
* Re: Linux GPL and binary module exception clause? 2003-12-05 0:58 ` Zwane Mwaikambo @ 2003-12-05 1:03 ` Erik Andersen 2003-12-05 1:21 ` Larry McVoy 0 siblings, 1 reply; 180+ messages in thread From: Erik Andersen @ 2003-12-05 1:03 UTC (permalink / raw) To: Zwane Mwaikambo; +Cc: Paul Adams, linux-kernel On Thu Dec 04, 2003 at 07:58:18PM -0500, Zwane Mwaikambo wrote: > What about software which utilises Linux specific kernel > services, such as say some cd writing software? An ordinary program that uses normal system calls? linux/COPYING says: This copyright does *not* cover user programs that use kernel services by normal system calls - this is merely considered normal use of the kernel, and does *not* fall under the heading of "derived work". -Erik -- Erik B. Andersen http://codepoet-consulting.com/ --This message was written using 73% post-consumer electrons-- ^ permalink raw reply [flat|nested] 180+ messages in thread
* Re: Linux GPL and binary module exception clause? 2003-12-05 1:03 ` Erik Andersen @ 2003-12-05 1:21 ` Larry McVoy 2003-12-05 1:30 ` Hua Zhong ` (2 more replies) 0 siblings, 3 replies; 180+ messages in thread From: Larry McVoy @ 2003-12-05 1:21 UTC (permalink / raw) To: Erik Andersen, Zwane Mwaikambo, Paul Adams, linux-kernel On Thu, Dec 04, 2003 at 06:03:49PM -0700, Erik Andersen wrote: > On Thu Dec 04, 2003 at 07:58:18PM -0500, Zwane Mwaikambo wrote: > > What about software which utilises Linux specific kernel > > services, such as say some cd writing software? > > An ordinary program that uses normal system calls? > > linux/COPYING says: This copyright does *not* cover user programs > that use kernel services by normal system calls - this is merely > considered normal use of the kernel, and does *not* fall under > the heading of "derived work". Yeah, and the GPL specificly invalidates that statement. We're on thin ice here. Linus is making up the rules, which is cool (since I tend to like his rules) but the reality is that the GPL doesn't allow you to extend the GPL. It's the GPL or nothing. Given the GPL rules you have to disregard Linus' rules that are extensions and work off of standard law. When you get there it becomes an issue of boundaries and the law seems to clearly support Linus' point of view, he didn't need to make that clarification, whether he did or not, that's what is true in the eyes of the law. But given that, neither Linus (nor any of you) get to say "well, that's fine for userland but drivers are derived works". I've said this over and over and I'll say it again. If you want the protection of the law you have to live with the law's rules. You DO NOT get to say "user programs are a boundary across which the GPL does not apply but drivers are a boundary across which the GPL does apply". It doesn't, and can't, work that way. Either userland is GPL and drivers are GPL or neither are GPLed. Take your pick. -- --- Larry McVoy lm at bitmover.com http://www.bitmover.com/lm ^ permalink raw reply [flat|nested] 180+ messages in thread
* RE: Linux GPL and binary module exception clause? 2003-12-05 1:21 ` Larry McVoy @ 2003-12-05 1:30 ` Hua Zhong 2003-12-05 1:58 ` Linus Torvalds 2003-12-05 3:58 ` Jason Kingsland 2 siblings, 0 replies; 180+ messages in thread From: Hua Zhong @ 2003-12-05 1:30 UTC (permalink / raw) To: 'Larry McVoy', 'Erik Andersen', 'Zwane Mwaikambo', 'Paul Adams', linux-kernel > But given that, neither Linus (nor any of you) get to say > "well, that's fine for userland but drivers are derived works". Indeed. Linus said nowadays kernel modules developed with Linux specifically in mind are less likely to be considered "not a derived work" as early days kernel modules. However, how about user space programs designed specifically for Linux, and even using Linux specific system calls? It's definitely a grey area here, and it's not so clear that kernel-user boundary is stronger than kernel-kernel boundary per se. :-) Note kernel-user boundary is not just normal system calls. /proc, ioctl (provided by kernel modules) are also part of it (which are system calls too but they can be arbitrarily extended). ^ permalink raw reply [flat|nested] 180+ messages in thread
* Re: Linux GPL and binary module exception clause? 2003-12-05 1:21 ` Larry McVoy 2003-12-05 1:30 ` Hua Zhong @ 2003-12-05 1:58 ` Linus Torvalds 2003-12-06 3:00 ` Larry McVoy 2003-12-11 12:37 ` David Woodhouse 2003-12-05 3:58 ` Jason Kingsland 2 siblings, 2 replies; 180+ messages in thread From: Linus Torvalds @ 2003-12-05 1:58 UTC (permalink / raw) To: Larry McVoy; +Cc: Erik Andersen, Zwane Mwaikambo, Paul Adams, linux-kernel On Thu, 4 Dec 2003, Larry McVoy wrote: > > > > linux/COPYING says: This copyright does *not* cover user programs > > that use kernel services by normal system calls - this is merely > > considered normal use of the kernel, and does *not* fall under > > the heading of "derived work". > > Yeah, and the GPL specificly invalidates that statement. We're on thin > ice here. Linus is making up the rules, which is cool (since I tend to > like his rules) but the reality is that the GPL doesn't allow you to > extend the GPL. It's the GPL or nothing. Larry, you are wrong. The license _IS_ the GPL. There's no issue about that. The GPL rules apply 100%. But a license only covers what it _can_ cover - derived works. The fact that Linux is under the GPL simply _cannot_matter_ to a user program, if the author can show that the user program is not a derived work. And the linux/COPYING addition is not an addition to the license itself (indeed, it cannot be, since the GPL itself is a copyrighted work, and so by copyright law you aren't allowed to just take it and change it). No, the note at the top of the copying file is something totally different: it's basically a statement to the effect that the copyright holder recognizes that there are limits to a derived work, and spells out one such limit that he would never contest in court. See? It's neither a license nor a contract, but it actually does have legal meaning: look up the legal meaning of "estoppel" (google "define:" is qutie good). Trust me, it's got _tons_ of legal precedent. Linus ^ permalink raw reply [flat|nested] 180+ messages in thread
* Re: Linux GPL and binary module exception clause? 2003-12-05 1:58 ` Linus Torvalds @ 2003-12-06 3:00 ` Larry McVoy 2003-12-06 4:39 ` Linus Torvalds 2003-12-06 14:13 ` Andrew Pimlott 2003-12-11 12:37 ` David Woodhouse 1 sibling, 2 replies; 180+ messages in thread From: Larry McVoy @ 2003-12-06 3:00 UTC (permalink / raw) To: Linus Torvalds Cc: Larry McVoy, Erik Andersen, Zwane Mwaikambo, Paul Adams, linux-kernel On Thu, Dec 04, 2003 at 05:58:18PM -0800, Linus Torvalds wrote: > On Thu, 4 Dec 2003, Larry McVoy wrote: > > > linux/COPYING says: This copyright does *not* cover user programs > > > that use kernel services by normal system calls - this is merely > > > considered normal use of the kernel, and does *not* fall under > > > the heading of "derived work". > > > > Yeah, and the GPL specificly invalidates that statement. We're on thin > > ice here. Linus is making up the rules, which is cool (since I tend to > > like his rules) but the reality is that the GPL doesn't allow you to > > extend the GPL. It's the GPL or nothing. > > Larry, you are wrong. Linus, you are a purple 3 legged frog. So there. It is written and it shall be so :) > But a license only covers what it _can_ cover - derived works. The fact > that Linux is under the GPL simply _cannot_matter_ to a user program, if > the author can show that the user program is not a derived work. I'll followup on this below. > And the linux/COPYING addition is not an addition to the license itself > (indeed, it cannot be, since the GPL itself is a copyrighted work, and so > by copyright law you aren't allowed to just take it and change it). Exactly my point. The addition is not part of the license and given your other arguments, userland is 100% GPLed as a result. > No, the note at the top of the copying file is something totally > different: it's basically a statement to the effect that the copyright > holder recognizes that there are limits to a derived work, and spells out > one such limit that he would never contest in court. It's one that _you_ apparently will never contest in court but the amount of code in the kernel that you wrote is quite small. You are the leader but that doesn't mean you speak for everyone. There seem to be differing opinions. In this case, that may be a good thing. In my opinion, you are playing with fire and playing well into SCO's hands. I haven't read the original Unix license but I have heard that it had a somewhat similar viral effect, like the GPL does. I've heard that it claims ownership of derived works, which I doubt is true. But I've also heard that it claimed certain distribution rights for derived works and that I do believe. It's entirely plausible that a commercial entity would have a license which says "you can't build on my work and give to someone who hasn't also obtained a license from us". Makes perfect sense and is quite likely. However, if someone did take derived code (which is now covered by the viral license) and add it illegally to Linux, it is entirely reasonable for the license holder to say that all of Linux now has the virus. Just as reasonable as someone saying "hey, that's the Linux XYZ driver in Solaris, Solaris is now GPLed". There seems to be this sentiment (a pleasant one) in this community that if you do the wrong thing and then undo it, all is forgiven. That's not how the license reads. The GPL doesn't say "if you uncombine the work you are no longer obligated to obey the GPL". Neither would any other license. Roll forward a bit and see how this plays out in court. Suppose there is code in Linux that is derived from Unix. Remember, if Unix licenses had the same viral effect as the GPL, all it takes is a function or two and the rest of the code is GPL-ed (or in this case, Unix-ed). If you are arguing that an API isn't a boundary for the GPL you are going to look bloody two faced when you go and argue that an API is a boundary for Unix. And all of this discussion is nicely indexed by Google for SCO's lawyers to dig through and say "see, the leader of Linux doesn't think that boundaries apply. Linux is now covered *completely* by the SCO Unix license. Pay up". I'm not a lawyer but I am someone who pays lawyers to figure this stuff out and I've explored precisely this area. I sure hope that what I've learned is true because if what you are saying is true we are all likely to be screwed. -- --- Larry McVoy lm at bitmover.com http://www.bitmover.com/lm ^ permalink raw reply [flat|nested] 180+ messages in thread
* Re: Linux GPL and binary module exception clause? 2003-12-06 3:00 ` Larry McVoy @ 2003-12-06 4:39 ` Linus Torvalds 2003-12-06 5:14 ` Larry McVoy 2003-12-07 13:01 ` Ingo Molnar 2003-12-06 14:13 ` Andrew Pimlott 1 sibling, 2 replies; 180+ messages in thread From: Linus Torvalds @ 2003-12-06 4:39 UTC (permalink / raw) To: Larry McVoy Cc: Erik Andersen, Zwane Mwaikambo, Paul Adams, Kernel Mailing List IANAL. On Fri, 5 Dec 2003, Larry McVoy wrote: > > However, if someone did take derived code (which is now covered by the > viral license) and add it illegally to Linux, it is entirely reasonable > for the license holder to say that all of Linux now has the virus. You are making a classic mistake, which is to confuse "license" and "copyright", and mixing them together. [ Caveat: I'm obviously not a lawyer, but I've talked to a number of them over the years, and this is my understanding. Make of it what you will. ] Copyright (aka "ownership" of the code) and licenses are entirely different animals, and they have very little to do with each other legally. Except for the fact that the license can only be set by the owner. But even when you set the license, the license _remains_ a separate issue from the ownership itself. So a license is _independent_ of the copyright on a work. You can have multiple licenses for a work that is copyrighted by one person, and you can have a single license for a work that is copyrighted by multiple people. Or you can have no license at all (or no copyright, but at that point the license loses its meaning, for other reasons - if the code is in the public domain, anybody can pick it up and claim ownership, and so everybody can set their own licenses. "No ownership" is a special case because of that). So the only thing that ties the two together is that only the copyright holder can set the license. Other than that they are totally separate things. For example, I set the license on the kernel because I weas originally the only copyright holder, which meant that I could use any license I pleased. That ends up constraining later people, since they now have to follow the rules - unlike me, they can't just make up the license for the original code. But if somebody else writes a piece of code for Linux, we now have a situation where Linux is comprised of two pieces (a) the original work (for simplicity, let's say it's copyright by person A) and (b) the new work (copyright person B). Now, (a+b) is the new work (joint copyrighted by A+B), and if the original code (a) required the GPL, then (a+b) requires the GPL too due to the "viral" nature of the GPL. You are right so far. BUT THAT DOES NOT MEAN THAT PERSON B LOST _ANY_ RIGTHS WRT WORK (b). In particular, person B can still license work (b) under any other license. He cannot license (a+b) under any other license, since that is required by the GPL to continue to be GPL, but he _can_ license the code he retains full copyright to. In particular, he can take his contribution (b), and combine it with somebody elses contribution (c), and HE IS NOT BOUND BY THE GPL! See? The "viral" nature of the GPL does not actually "infect" the code itself. Because ownership always overrides _any_ license. The owner is not bound by the license, and can license it anew. See how "ownership" and "license" are totally different things? One is subject to the other. The code remains copyright to person B, and as long as it so remains (which it does forever, unless B actively gives it away or the US congress finally stops playing its silly games and lets copyrights expire eventually), person B can re-license his code any which way he pleases. Ask a lawyer. Any good lawyer. It is only "(a+b)" that is a derived work. The code (b) that B wrote is (as long as he didn't incorporate anybody elses work) remains his, and is _not_ derived on its own. (See the definition of derived that I quoted earlier: "derivation" really requires actual combination). But my claim is that if (b) is compiled into a Linux kernel module, then it _is_ part of (a+b) whether (a) is physically present or not. So if company B compiles their code (owned 100% by them) into a binary linux kernel module, that _does_ make it a part of (a+b). "Physical location" has nothing to do with derived works - and the fact that compaby B compiled code (b) for Linux and then only distributes the (broken up) part of (a+b) doesn't mean that (a+b) didn't exist. See what I'm aiming at? I'm saying that B still owns the code (b), but if he uses it "as part of (a+b)", he has to license the result under the GPL. And that "compiles into a kernel module" _is_ using (b) as part of (a+b). But he could _also_ compile the module into some other project (c). And when used _that_ way, he can license that derivation of (b) any way that makes sense from a standpoint of a derived work (b+c). And if he uses code (b) stand-alone (ie does not combine it with anything at all that anybody else owned), he can use the result any way he wants to. I'll bet you a dollar that a copyright lawyer will tell you that my argument is not incorrect. He probably won't agree with me (since no lawyers ever agree on _anything_ as far as I can tell) but I really think he'll say "yeah, seeing it that way is not incompatible with copyright law". > Just > as reasonable as someone saying "hey, that's the Linux XYZ driver in > Solaris, Solaris is now GPLed". No. That's not what anybody sane is claiming. Let's have this following schenario: (a) is the Linux kernel and is licensed entirely under the GPL (and can have hundreds of copyright owners) (b) is a driver written and thus owned by party B (c) is Solaris, copyright Sun and others. And the rule is: only an OWNER can accept a license. So (a+b) is possible only licensed under the GPL, and only if B accepts the GPL. And (b+c) is possible only if there is some license that B and Sun can agree on. If the only license that B agrees to is the GPL, then the only way (b+c) is possible is if Sun agrees to license (c) under a GPL-compatible license. In other words, if (b) is GPL-only, then you can't use (b) with (c), _or_ C has to accept the GPL. "Forcing" a (b+c) doesn't make (c) be under the GPL. But forcing (b+c) is illegal, since you can't force a license without the agreement of the owner. IANAL. Linus ^ permalink raw reply [flat|nested] 180+ messages in thread
* Re: Linux GPL and binary module exception clause? 2003-12-06 4:39 ` Linus Torvalds @ 2003-12-06 5:14 ` Larry McVoy 2003-12-06 5:48 ` Linus Torvalds 2003-12-06 15:38 ` Theodore Ts'o 2003-12-07 13:01 ` Ingo Molnar 1 sibling, 2 replies; 180+ messages in thread From: Larry McVoy @ 2003-12-06 5:14 UTC (permalink / raw) To: Linus Torvalds Cc: Larry McVoy, Erik Andersen, Zwane Mwaikambo, Paul Adams, Kernel Mailing List On Fri, Dec 05, 2003 at 08:39:03PM -0800, Linus Torvalds wrote: > But if somebody else writes a piece of code for Linux, we now have a > situation where Linux is comprised of two pieces (a) the original work > (for simplicity, let's say it's copyright by person A) and (b) the new > work (copyright person B). > > Now, (a+b) is the new work (joint copyrighted by A+B), and if the original > code (a) required the GPL, then (a+b) requires the GPL too due to the > "viral" nature of the GPL. You are right so far. > > BUT THAT DOES NOT MEAN THAT PERSON B LOST _ANY_ RIGTHS WRT WORK (b). I never said that person B lost any rights at all. > In particular, person B can still license work (b) under any other > license. He cannot license (a+b) under any other license, since that is > required by the GPL to continue to be GPL, but he _can_ license the code > he retains full copyright to. Yeah, I know this. > The code remains copyright to person B, and as long as it so remains > (which it does forever, unless B actively gives it away or the US congress > finally stops playing its silly games and lets copyrights expire > eventually), person B can re-license his code any which way he pleases. > > Ask a lawyer. Any good lawyer. I have, I know all this. > But my claim is that if (b) is compiled into a Linux kernel module, then > it _is_ part of (a+b) whether (a) is physically present or not. So if > company B compiles their code (owned 100% by them) into a binary linux > kernel module, that _does_ make it a part of (a+b). "Physical location" > has nothing to do with derived works - and the fact that compaby B > compiled code (b) for Linux and then only distributes the (broken up) part > of (a+b) doesn't mean that (a+b) didn't exist. I know all this as well. The issue is "what is a derived work", your claim is "pretty much anything combined with the original work" and I don't agree and neither does the GPL. 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. A loadable driver doesn't modify the kernel. I understand that the license says "when you distribute them as separate works" and I think that the courts will view providing a driver as just that. Your view that "(b) is compiled into a Linux kernel module, then it _is_ part of (a+b) whether (a) is physically present or not." is not something that I have managed to seen in any caselaw. On the other hand, it is widely held that you can't force licenses across an API and it's perfectly reasonable to see the loadable module interface as an API. I think this is something that is going to get resolved by the courts, not you or I. And whether it get solved "correctly" is more a matter of money than of correctness, unfortunately. I stand behind my earlier point that your thinking, Linus, could well bite you on this one. I can see how you are trying to work around the issues but I can also see, clearly, how a lawyer would use your words against you and for SCO. For example, you haven't puzzled out what happens if there are two GPL-like licenses which cover work which is combined. Which one wins? What if they have conflicting terms? The GPL *does not* automatically win, any more than the other license automatically wins. Either could win. I also don't buy your separation argument in the context of licensed intellectual property. Your whole argument seems to allow things to cross over boundaries but then when something you don't want to cross over does, you start talking about how the work was separated and the license you don't like doesn't apply. I may be missing something but it sure sounds like you are trying to intepret the law one way when it meets your goals and another way when it doesn't and that isn't real promising. -- --- Larry McVoy lm at bitmover.com http://www.bitmover.com/lm ^ permalink raw reply [flat|nested] 180+ messages in thread
* Re: Linux GPL and binary module exception clause? 2003-12-06 5:14 ` Larry McVoy @ 2003-12-06 5:48 ` Linus Torvalds 2003-12-06 17:14 ` Larry McVoy 2003-12-06 15:38 ` Theodore Ts'o 1 sibling, 1 reply; 180+ messages in thread From: Linus Torvalds @ 2003-12-06 5:48 UTC (permalink / raw) To: Larry McVoy Cc: Erik Andersen, Zwane Mwaikambo, Paul Adams, Kernel Mailing List On Fri, 5 Dec 2003, Larry McVoy wrote: > > For example, you haven't puzzled out what happens if there are two > GPL-like licenses which cover work which is combined. Which one wins? > What if they have conflicting terms? The GPL *does not* automatically > win, any more than the other license automatically wins. Either could > win. What? Nobody can "win". If the owners of the code can't agree on a mutually acceptable license, you simply cannot legally combine them. End of story. Whoever tries to combine the works - if it is against the license of _either_ of the individual works - is doing something he simply doesn't have the right to do. And even if he does it, that illegal act in no way affects the license of _either_ piece, since only ownership gives the right to change a license. Nobody else and nothing else _ever_ does. This has nothing to do with software. Think of book editors: they can't combine two short stories into an edition unless _both_ authors of the stories agree to the combination. And the GPL only agrees to combine with the GPL. It's that simple. There are no other ways to combine it. There just isn't anything unclear here. I don't see why you'd be confused. > I also don't buy your separation argument in the context of licensed > intellectual property. What separation argument wrt licensed intellectual property? I never made such an argument. I made the argument that if A has ownership of the code (not "licensed intellectual property" - OWNERSHIP - and I thought I made it very clear that they are totally different things), then they can take that part of the code that they own and license it any which way they want, and make any derived works they want (obviously, as long the other party of such a derivative work agrees to the aggregation. As mentioned, the GPL happily agrees to that, but only if the license on the result is also the GPL). But that requires outright OWNERSHIP. It really requires that you are the copyrigth holder. If you are a mere licensee, you simply can't do it (unless the license explicitly gives you the right to do it, of course, or you enter into some other contractual agreement to do so as a subcontractor for the real copyright holder or similar. Blah blah blah). But I never introduced the notion of being a licensee. I have at all times only talked about outright ownership. Sorry if I have been unclear (I didn't think I had been, but hey, few people find _themselves_ unclear ;) Maybe you were confused by the IBM thing, and thinking that when I referred to IBM I referred to a licensee. But the fact is, IBM is _not_ a licensor of the JFS code etc. They own it outright. Even SCO has acknowledged that fact long ago. So I want to clarify: I have at all times talked about outright copyright ownership. No sublicensing involved anywhere. - deep breath - Now, this is all only true as far as copyright law goes. There are other sections of the law that can have _other_ limitations. Eg you can limit yourself contractually or through other means, outside of what copyright allows you to do. So to clarify with an example: let's say my _contract_ with OSDL says that anything I write as an OSDL employee has to be licensed under an open-source license - but that I can retain copyright to it, ie OSDL doesn't aquire copyright ownership rights unless I so choose. What does this mean? _Copyright_ law allows me to take any piece of code I wrote (say, I could take a few lines from the kernel that I can show that I own personally), I can take that code and I can license it under any other license - _despite_ the fact that it is also licensed under the GPL when it is part of the kernel. So according to copyright law I can sell that code under any license I damn well please. However, my _contract_ with OSDL says that the code I write as an employee has to be open-sourced, so while I'm not limited by copyright law, I'm obviously limited by _other_ laws. I can still re-license my code (I'm still the owner), but now I can only re-license it in specific ways (because I'm bound by a contract). Linus ^ permalink raw reply [flat|nested] 180+ messages in thread
* Re: Linux GPL and binary module exception clause? 2003-12-06 5:48 ` Linus Torvalds @ 2003-12-06 17:14 ` Larry McVoy 0 siblings, 0 replies; 180+ messages in thread From: Larry McVoy @ 2003-12-06 17:14 UTC (permalink / raw) To: Linus Torvalds Cc: Larry McVoy, Erik Andersen, Zwane Mwaikambo, Paul Adams, Kernel Mailing List On Fri, Dec 05, 2003 at 09:48:56PM -0800, Linus Torvalds wrote: > But I never introduced the notion of being a licensee. I have at all times > only talked about outright ownership. Sorry if I have been unclear (I > didn't think I had been, but hey, few people find _themselves_ unclear ;) Point taken. You didn't, or at least I don't remember you doing it. I was thinking about contract law being mixed with copyright law, specifically the GPL (copyright) and the Unix license (which I believe to be a contract and as such having nastier viral possibilities). > Maybe you were confused by the IBM thing, and thinking that when I > referred to IBM I referred to a licensee. But the fact is, IBM is _not_ a > licensor of the JFS code etc. They own it outright. Even SCO has > acknowledged that fact long ago. Yes but that doesn't mean that SCO doesn't have a contract with IBM (by way of ATT/Bell Labs) that gives SCO some rights over that code. That said, I get your point about copyright and ownership. It's a good point and should probably be remade each time GPL fud comes up. The prevailing view amongst manager types is not what you said, over and over I have seen (as has everyone else) statements that if you combine your code with GPLed code then your code becomes GPLed. Period. But that's not true, as you pointed out. If someone wants to keep combining their code with the GPLed code then they have to offer their code under the GPL (at the least). The point that management types will like to hear is that if someone screws up and puts something out there in binary form that they shouldn't have, management has a choice. They can cease and desist or they have to offer up source under the GPL. To management, that is a lot less scary than "combine this code and your code is GPL". Choice is good. -- --- Larry McVoy lm at bitmover.com http://www.bitmover.com/lm ^ permalink raw reply [flat|nested] 180+ messages in thread
* Re: Linux GPL and binary module exception clause? 2003-12-06 5:14 ` Larry McVoy 2003-12-06 5:48 ` Linus Torvalds @ 2003-12-06 15:38 ` Theodore Ts'o 2003-12-06 16:47 ` Jason Kingsland 2003-12-06 21:30 ` David Schwartz 1 sibling, 2 replies; 180+ messages in thread From: Theodore Ts'o @ 2003-12-06 15:38 UTC (permalink / raw) To: Larry McVoy, Linus Torvalds, Larry McVoy, Erik Andersen, Zwane Mwaikambo, Paul Adams, Kernel Mailing List On Fri, Dec 05, 2003 at 09:14:33PM -0800, Larry McVoy wrote: > Your view that "(b) is compiled into a Linux kernel module, then it > _is_ part of (a+b) whether (a) is physically present or not." is not > something that I have managed to seen in any caselaw. On the other hand, > it is widely held that you can't force licenses across an API and it's > perfectly reasonable to see the loadable module interface as an API. Well, whether or not you can force licenses across an API is not well settled, as far as I know (IANAL) Microsoft and Apple still have licenses that try to claim ownership across API's. And to the extent that the FSF still tries to claim that programs written to use the GNU readline library must fall under the GPL, when two other BSD-licensed implementations of the readline interface exist, they are claiming exactly the same thing (although the FSF has been known to call for bycotts of companies that try to claim interfacde copyrights; heh). Which brings up an interesting point. The moment someone implements BSD-licensed code which implements a particular interface, it very strongly weakens the case that anyone implementing code to that interface is a derived work of the GPL'ed interface. This is one of the reasons why claiming that the GPL can infect across an interface (whether it is a module interface, a system call interface, or dynamically linked shared library interface) is bizarre at best. For example, let me give the following example. Debugfs of the e2fsprogs library uses libss, which I recently enhanced to attempt to dynamically load one of the following libraries via dlopen: readline (GPL'ed), editline (BSD licensed), or libedit (BSD licensed), which all export the same interface. Libss dates back to 1985 or so, and has a BSD-style license. It is also used in Kerberos V5 (which is also BSD licensed), and so Solaris has a propietary derived version of Krb5 whose administration client uses libss. So if you compile the latest version of e2fsprogs on Solaris, and Solaris' krb5 admin client manages to use the new version of libss, then you could potentially have in the single address space: * Solaris's propietary admin client * The libss shared library (BSD) * The GPL'ed readline library OK, riddle me this: is there a GPL violation, and if so, who committed it? The user, for running the admin client in this configuration? But the GPL explicitly says that it's only about distribution, and doesn't restrict usage in any way, and the end-user is only using the code. Solaris, the owner of the propietary admin client? But they weren't involved in my enhancing the libss shared library to dynamically load either a GPL'ed or a BSD-licensed library, and they created the admin client before I added the libss enhancement. And heck, the original admin client was created by me while I was working at MIT, and is part of the original MIT Kerberos V5 disitribution (although Sun has modified it extensively since then). Me, for modifying a BSD-licensed library to try to dynamically load a GPL'ed library? But I was trying to make a perfectly legitimate stack work: * Debugfs (which is GPL'ed) * The libss shared library (BSD) * The GPL'ed readline library and the reason why I used dynamic linking was because I wanted debugfs to only optionally depend on readline library, since the readline library is a monster (over 600k) and so it wouldn't fit on a rescue floppy. So trust me, you really don't want to claim that just because a program was written to use a particular interface, the license infects across the API. Apple and Microsoft are playing that game, and a very unsavory game it is. And it leads to all sorts of paradoxes, such as the one I described above. - Ted ^ permalink raw reply [flat|nested] 180+ messages in thread
* Re: Linux GPL and binary module exception clause? 2003-12-06 15:38 ` Theodore Ts'o @ 2003-12-06 16:47 ` Jason Kingsland 2003-12-06 21:30 ` David Schwartz 1 sibling, 0 replies; 180+ messages in thread From: Jason Kingsland @ 2003-12-06 16:47 UTC (permalink / raw) To: Theodore Ts'o, Larry McVoy, Linus Torvalds, Larry McVoy, Erik Andersen, Zwane Mwaikambo, Paul Adams, Kernel Mailing List "Theodore Ts'o" wrote: > you could potentially have in the single address space: > > * Solaris's propietary admin client > * The libss shared library (BSD) > * The GPL'ed readline library > > OK, riddle me this: is there a GPL violation, and if so, who committed it? There is no violation so long as the GPL code isn't being distributed as part of the Solaris proprietary work. It would be the responsibility of the distributor (Sun?) to ensure the licenses on everything they distribute are mutually compatible. That is specifically the reason for the exception clause in GPL: " 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. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. " ^ permalink raw reply [flat|nested] 180+ messages in thread
* RE: Linux GPL and binary module exception clause? 2003-12-06 15:38 ` Theodore Ts'o 2003-12-06 16:47 ` Jason Kingsland @ 2003-12-06 21:30 ` David Schwartz 2003-12-06 21:42 ` Larry McVoy 1 sibling, 1 reply; 180+ messages in thread From: David Schwartz @ 2003-12-06 21:30 UTC (permalink / raw) To: Theodore Ts'o, Larry McVoy, Kernel Mailing List > So trust me, you really don't want to claim that just because a > program was written to use a particular interface, the license infects > across the API. Apple and Microsoft are playing that game, and a very > unsavory game it is. And it leads to all sorts of paradoxes, such as > the one I described above. > > - Ted What you want do is claim that taking from a copyrighted work merely what you need to take from it in order to make your own code interoperate with it is fair use. If people honestly believe in free software, they should be making these types of claims. DS ^ permalink raw reply [flat|nested] 180+ messages in thread
* Re: Linux GPL and binary module exception clause? 2003-12-06 21:30 ` David Schwartz @ 2003-12-06 21:42 ` Larry McVoy 0 siblings, 0 replies; 180+ messages in thread From: Larry McVoy @ 2003-12-06 21:42 UTC (permalink / raw) To: David Schwartz; +Cc: Theodore Ts'o, Larry McVoy, Kernel Mailing List On Sat, Dec 06, 2003 at 01:30:39PM -0800, David Schwartz wrote: > > > So trust me, you really don't want to claim that just because a > > program was written to use a particular interface, the license infects > > across the API. Apple and Microsoft are playing that game, and a very > > unsavory game it is. And it leads to all sorts of paradoxes, such as > > the one I described above. > > > > - Ted > > What you want do is claim that taking from a copyrighted work merely what > you need to take from it in order to make your own code interoperate with it > is fair use. If people honestly believe in free software, they should be > making these types of claims. I agree with David. The GPL isn't free software it is "open" software, it wants all the changes to be done out in the open. Which is perfectly fine, one can look at the BSD history and the Linux history and argue that the GPL is what made Linux the "winner". But GPLed software isn't free, it is software with an agenda, a noble agenda in many opinions (including mine), of allowing everyone to benefit from the work and enhancements of the work. Not everyone likes this, however. The BK license took a lot of heat for the fact that we reserved the right to force your repositories out in the open (because it became clear that some people were using the BK commercially and not paying license fees). Even though we were saying "it's free if you are working out in the open" some free software developers felt that was too much (it occurs to me as I'm writing this that what the license should say is that we can force you to open the repos if and only if the changes have been pulled to another repo - that would finess security feature problem). -- --- Larry McVoy lm at bitmover.com http://www.bitmover.com/lm ^ permalink raw reply [flat|nested] 180+ messages in thread
* Re: Linux GPL and binary module exception clause? 2003-12-06 4:39 ` Linus Torvalds 2003-12-06 5:14 ` Larry McVoy @ 2003-12-07 13:01 ` Ingo Molnar 2003-12-07 22:11 ` Rob Landley 1 sibling, 1 reply; 180+ messages in thread From: Ingo Molnar @ 2003-12-07 13:01 UTC (permalink / raw) To: Linus Torvalds Cc: Larry McVoy, Erik Andersen, Zwane Mwaikambo, Paul Adams, Kernel Mailing List On Fri, 5 Dec 2003, Linus Torvalds wrote: > In other words, if (b) is GPL-only, then you can't use (b) with (c), > _or_ C has to accept the GPL. "Forcing" a (b+c) doesn't make (c) be > under the GPL. But forcing (b+c) is illegal, since you can't force a > license without the agreement of the owner. i'm wondering why it's layed out like this. Couldnt the FSF have extended section 6 of the GPL the following way: ORIGINAL: 6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. [this section is a pure expression of a license from the original author, covering the original Program only - not the derivative.] ADDITION: Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from you to copy, distribute or modify those portions ot the Program (or any work based on the Program), where you are the copyright owner or sublicensor. Any existing or future contract or agreement restricting you from doing so automatically terminates your rights under this License. or something along these lines. Ie. cannot the act of distribution also automatically trigger a license from the entity doing the redistribution, for all portions which are owned by the redistributor? I suspect the FSF would have done this if legally possible ... so there must be some major roadblock in the way. Ingo ^ permalink raw reply [flat|nested] 180+ messages in thread
* Re: Linux GPL and binary module exception clause? 2003-12-07 13:01 ` Ingo Molnar @ 2003-12-07 22:11 ` Rob Landley 0 siblings, 0 replies; 180+ messages in thread From: Rob Landley @ 2003-12-07 22:11 UTC (permalink / raw) To: Ingo Molnar, Linus Torvalds Cc: Larry McVoy, Erik Andersen, Zwane Mwaikambo, Paul Adams, Kernel Mailing List On Sunday 07 December 2003 07:01, Ingo Molnar wrote: > On Fri, 5 Dec 2003, Linus Torvalds wrote: > > In other words, if (b) is GPL-only, then you can't use (b) with (c), > > _or_ C has to accept the GPL. "Forcing" a (b+c) doesn't make (c) be > > under the GPL. But forcing (b+c) is illegal, since you can't force a > > license without the agreement of the owner. > > i'm wondering why it's layed out like this. Couldnt the FSF have extended > section 6 of the GPL the following way: > > ORIGINAL: 6. Each time you redistribute the Program (or any work based on > the Program), the recipient automatically receives a license from the > original licensor to copy, distribute or modify the Program subject to > these terms and conditions. You may not impose any further restrictions on > the recipients' exercise of the rights granted herein. > > [this section is a pure expression of a license from the original author, > covering the original Program only - not the derivative.] > > ADDITION: Each time you redistribute the Program (or any work based on > the Program), the recipient automatically receives a license from you to > copy, distribute or modify those portions ot the Program (or any work > based on the Program), where you are the copyright owner or sublicensor. > Any existing or future contract or agreement restricting you from doing so > automatically terminates your rights under this License. The GPL really needs an improved clause about patent licensing too. (The GPL could easily be a patent pool. Right now the language says that patents must be licensed for use by everybody, when all it really NEEDS to say is that the patent needs to be licensed for use in GPL programs. in regards to patents, the GPL acts like the BSD license, rather than copyleft, and that would be really easy to fix.) The GPL is sort of becoming a patent pool anyway, with Red Hat licensing its patents for use in GPL programs only, and IBM making noises about that, etc... But it's not explicit, and it's not really one pool that you join automatically by participating, and that violation of the GPL could block you from access to all of... Richard Stallman, unfortunately, is a zealot. He wants to log roll a whole bunch of things like addressing the application service provider issue into a GPL 3.0, which means there probably never will be a GPL 3.0. And he won't issue a GPL 2.1 with minor issues like these because that would erode the chocolate coating on the other unpopular issues he wants to lump together into a big "take it or leave it" upgrade at some nebulous point in the future that pushes unpopular elements of his agenda as part of the package... Sad, really. Oh well. I suppose somebody could come out with a "GPL patent pool license", which might not violate the GPL. The preamble says "we have made it clear that any patent must be licensed for everyone's free use or not licensed at all", but doesn't say who everyone is (since the license only applies to people who accept the license, then it could logically be "everyone who agrees to the GPL".) Clauses 7 and 8 mention patents, but don't specify any license terms for them. Therefore, you NEED a patent license, but the GPL doesn't give the text of it. So if the GPL is just a copyright license, and it requires patents be licensed but doesn't specify the terms, therefore it's legal (and in fact expected) to combine the GPL with a (compatable) patent license. But there IS no standard GPL patent license. It would be nice if there was one, that could be regularly combined with the GPL in a standard way (GPL+), saying that the patents are licensed for use in GPL-licensed software only, as part of a GPL patent pool. It's one way to bypass Stallman's log-rolling, anyway... Rob ^ permalink raw reply [flat|nested] 180+ messages in thread
* Re: Linux GPL and binary module exception clause? 2003-12-06 3:00 ` Larry McVoy 2003-12-06 4:39 ` Linus Torvalds @ 2003-12-06 14:13 ` Andrew Pimlott 2003-12-06 17:50 ` Larry McVoy 1 sibling, 1 reply; 180+ messages in thread From: Andrew Pimlott @ 2003-12-06 14:13 UTC (permalink / raw) To: linux-kernel Cc: Larry McVoy, Linus Torvalds, Larry McVoy, Erik Andersen, Zwane Mwaikambo, Paul Adams On Fri, Dec 05, 2003 at 07:00:37PM -0800, Larry McVoy wrote: > In my opinion, you are playing with fire and playing well into SCO's > hands. I haven't read the original Unix license but I have heard that > it had a somewhat similar viral effect, like the GPL does. I've heard > that it claims ownership of derived works, which I doubt is true. > But I've also heard that it claimed certain distribution rights for > derived works and that I do believe. It's entirely plausible that a > commercial entity would have a license which says "you can't build on > my work and give to someone who hasn't also obtained a license from us". > Makes perfect sense and is quite likely. > > However, if someone did take derived code (which is now covered by the > viral license) and add it illegally to Linux, it is entirely reasonable > for the license holder to say that all of Linux now has the virus. Just > as reasonable as someone saying "hey, that's the Linux XYZ driver in > Solaris, Solaris is now GPLed". This last is unfounded. It may be true to say that Sun could only release Solaris+XYZ under the GPL, but it is fantasy to imagine that this makes Solaris now GPLed. That is simply not one of the available legal remedies for breach of a copyright license. Pamela Jones of groklaw.net fame wrote a more authoritative article covering this point at http://lwn.net/Articles/61292/ (unfortunately subscriber-only for the next week, I think). She cited (FSF's lawyer) Eben Moglen: The claim that a GPL violation could lead to the forcing open of proprietary code that has wrongfully included GPL'd components is simply wrong. There is no provision in the Copyright Act to require distribution of infringing work on altered terms. What copyright plaintiffs are entitled to, under the Act, are damages, injunctions to prevent infringing distribution, and--where appropriate--attorneys' fees. A defendant found to have wrongfully included GPL'd code in its own proprietary work can be mulcted in damages for the distribution that has already occurred, and prevented from distributing its product further. That's a sufficient disincentive to make wrongful use of GPL'd program code. And it is all that the Copyright Act permits. (At first, I had hoped that "mulcted" was a typo for "mulched", but then I looked it up.) It might be true that Sun's misdeed perpetually voids their license to XYZ. RMS argued similarly after QT was GPLed to accomodate KDE (and explicitly "forgave" the breach wrt FSF-owned code). But this is entirely different from forcing anyone to put their own code under some particular license. > There seems to be this sentiment (a pleasant one) in this community that > if you do the wrong thing and then undo it, all is forgiven. That's not > how the license reads. The GPL doesn't say "if you uncombine the work you > are no longer obligated to obey the GPL". Neither would any other license. Again, totally groundless AFAICT. This is not within the scope of what a copyright license can require, and runs directly counter to my (meager) knowledge of case law. Courts generally don't force violators to license material under specific terms (except perhaps in antitrust cases). > Roll forward a bit and see how this plays out in court. Suppose there is > code in Linux that is derived from Unix. Remember, if Unix licenses had > the same viral effect as the GPL, all it takes is a function or two and > the rest of the code is GPL-ed (or in this case, Unix-ed). If you are > arguing that an API isn't a boundary for the GPL you are going to look > bloody two faced when you go and argue that an API is a boundary for Unix. Your comparisons to the SCO case are far-fetched. In part because of what I said above (your idea of "viral" is divorced from reality), and in part because there is a diverse range of boundaries, and any judge can see that there is a wide gulf between the kernel-module boundary and the unix-"anything that's ever touched unix even through N indirections" boundary. We are not on a slippery slope. > And all of this discussion is nicely indexed by Google for SCO's lawyers > to dig through and say "see, the leader of Linux doesn't think that > boundaries apply. Linux is now covered *completely* by the SCO Unix > license. Pay up". You seem to think that this boundary thing is black and white. "If the GPL crosses the kernel-module boundary, any license can cross any boundary." I think you have to do better than that. Andrew ^ permalink raw reply [flat|nested] 180+ messages in thread
* Re: Linux GPL and binary module exception clause? 2003-12-06 14:13 ` Andrew Pimlott @ 2003-12-06 17:50 ` Larry McVoy 2003-12-06 21:19 ` Theodore Ts'o 2003-12-08 16:34 ` Andrew Pimlott 0 siblings, 2 replies; 180+ messages in thread From: Larry McVoy @ 2003-12-06 17:50 UTC (permalink / raw) To: linux-kernel, Linus Torvalds, Larry McVoy, Erik Andersen, Zwane Mwaikambo, Paul Adams On Sat, Dec 06, 2003 at 09:13:00AM -0500, Andrew Pimlott wrote: > On Fri, Dec 05, 2003 at 07:00:37PM -0800, Larry McVoy wrote: > This last is unfounded. It may be true to say that Sun could only > release Solaris+XYZ under the GPL, but it is fantasy to imagine that > this makes Solaris now GPLed. Right you are, my apologies. My brain was in contract space, not copyright space. > and--where appropriate--attorneys' fees. A defendant found to > have wrongfully included GPL'd code in its own proprietary work > can be mulcted in damages for the distribution that has already > occurred, and prevented from distributing its product further. > That's a sufficient disincentive to make wrongful use of GPL'd > program code. And it is all that the Copyright Act permits. > > (At first, I had hoped that "mulcted" was a typo for "mulched", but > then I looked it up.) I did too, for those who didn't, it's an old word with two meanings and the meaning here (I am pretty sure) is "punished with a fine". Leave it to a lawyer to know that one :) > It might be true that Sun's misdeed perpetually voids their license > to XYZ. That's a good question, it's not clear what the answer to that is. I reread the GPL and I don't see where it spells out what happens if you try and cheat. > > Roll forward a bit and see how this plays out in court. Suppose there is > > code in Linux that is derived from Unix. Remember, if Unix licenses had > > the same viral effect as the GPL, all it takes is a function or two and > > the rest of the code is GPL-ed (or in this case, Unix-ed). If you are > > arguing that an API isn't a boundary for the GPL you are going to look > > bloody two faced when you go and argue that an API is a boundary for Unix. > > Your comparisons to the SCO case are far-fetched. In part because > of what I said above (your idea of "viral" is divorced from > reality) In copyright law, yes. Contract law is a bit different. Linus and you yanked me back into copyright law and you're right that SCO can't claim rights to Linux, they don't own it. But isn't it true that if the Unix license they have with IBM (actually more likely Sequent) is a contract then that contract could extend to anything that was originally written in the context of Unix, even if 100% of was written by Sequent and removed from Unix and ported to Linux? If I wrote a contract that gave you rights to use and extend some program I wrote and I put into that contract that you may not distribute any code that was written as part of the program to a third party that did not have a license, isn't that legal? And if it is, which I believe to be true, and if you wrote a new widget that was originally done in the context of that program but now wanted to put that widget someplace else and the widget removed all references to the original program, do I still have any contractially based rights to that widget? This is the crucial question for SCO. I doubt that the answer is really simple but I think that the answer has a lot to do with the concept of a boundary which is why I keep harping on that. > You seem to think that this boundary thing is black and white. "If > the GPL crosses the kernel-module boundary, any license can cross > any boundary." I think you have to do better than that. Nothing in law is black and white, it's all sorted out in caselaw typically. But as far as I can tell there has to be some way to limit the influence of a contract or a license or otherwise everything that ran on a GPLed kernel would be GPLed (the HURD is a GPLed kernel, right? How much you want to bet that the FSF is not going to try and make the claim that userland has to be GPLed?) My guess is that at some point there will be a court case that clarifies fair use for code and the clarification will be focussed on the concept of a boundary with the definition of the boundary being the ability to replace one section of the program with a different work, said work not be derived from the program, and have the program continue to operate as it did before. I.e., a different userland implementation of "cat" shows that the kernel can't infect userland, a different implementation of libc.so shows that libc can't infect user programs. The sticky one is the one where we started, kernel modules. Linus is saying that kernel modules are covered by the GPL because they are combined with the kernel. I think his reasoning is weak and unlikely to be upheld by the courts. If we remove the issue of inline functions for a moment then we are talking about pure API's and there is no way that the courts are going to uphold that a copyright license can cross a pure API (famous last words). Well, no way if both sides of the dispute have equally good lawyers, without that who knows. Let's just suppose that things work out reasonably and the courts say that using an API is "fair use". That leaves the inline functions. If they are small I believe there is a lot of precedent for ignoring them. Even the FSF says that one liner patches don't need copyright assignment to the FSF. And if the module doesn't use those functions or provides their own version of those functions then I doubt that the inline functions have any bearing. Comments? -- --- Larry McVoy lm at bitmover.com http://www.bitmover.com/lm ^ permalink raw reply [flat|nested] 180+ messages in thread
* Re: Linux GPL and binary module exception clause? 2003-12-06 17:50 ` Larry McVoy @ 2003-12-06 21:19 ` Theodore Ts'o 2003-12-06 21:45 ` Larry McVoy 2003-12-08 16:34 ` Andrew Pimlott 1 sibling, 1 reply; 180+ messages in thread From: Theodore Ts'o @ 2003-12-06 21:19 UTC (permalink / raw) To: Larry McVoy, linux-kernel, Linus Torvalds, Larry McVoy, Erik Andersen, Zwane Mwaikambo, Paul Adams On Sat, Dec 06, 2003 at 09:50:41AM -0800, Larry McVoy wrote: > The sticky one is the one where we started, kernel modules. Linus is > saying that kernel modules are covered by the GPL because they are > combined with the kernel. I think his reasoning is weak and unlikely > to be upheld by the courts. If we remove the issue of inline functions > for a moment then we are talking about pure API's and there is no way > that the courts are going to uphold that a copyright license can cross a > pure API (famous last words). Well, no way if both sides of the dispute > have equally good lawyers, without that who knows. I had a law professor from the MIT Sloan School of Technology, who when I posed the question informally, said that the FSF would be laughed out of court if they tried to claim that the GPL infected across API's. But Larry's right, in the U.S. at least, you get the best justice money can buy, and with enough high-paid lawyers and lobbyist, you can probably pervert the system any way you like --- witness the RIAA and DMCA. But that aside, does the Open Source community really want to push for the legal principal that just because you write an independent program which uses a particular API, the license infects across the interface? That's essentially interface copyrights, and if say the FSF were to file an amicus curiae brief support that particular legal principle in an kernel modules case, it's worthwhile to think about how Microsoft and Apple could use that case law to f*ck us over very badly. It would mean that we would not be able to use Microsoft DLL's in programs like xine. It would mean that programs like Crossover office wouldn't work. It would mean that Apple could legally prohibit people from writing enhancements to MacOS (for example, how do all of the various extensions in Mac OS 9 work? They link into the operating system and modify its behaviour. If they are therefore a derived work of MacOS, then Apple could screw over all of the people who write system extensions of MacOS.) Be careful of what you wish for, before you get it. The ramifications of the statement that just because a device driver is written for Linux, that it is presumptively a derived work of Linux unless proven otherwise, is amazingly scary. Fortunately, we can hope that the law professor I talked to was right, and that such a claim would be laughed out of court. But if it isn't, look to Microsoft and other unsavory companies to use that kind of case law to completely screw us to the wall..... - Ted ^ permalink raw reply [flat|nested] 180+ messages in thread
* Re: Linux GPL and binary module exception clause? 2003-12-06 21:19 ` Theodore Ts'o @ 2003-12-06 21:45 ` Larry McVoy 0 siblings, 0 replies; 180+ messages in thread From: Larry McVoy @ 2003-12-06 21:45 UTC (permalink / raw) To: Theodore Ts'o, linux-kernel, Linus Torvalds, Larry McVoy, Erik Andersen, Zwane Mwaikambo, Paul Adams On Sat, Dec 06, 2003 at 04:19:00PM -0500, Theodore Ts'o wrote: > But that aside, does the Open Source community really want to push for > the legal principal that just because you write an independent program > which uses a particular API, the license infects across the interface? > That's essentially interface copyrights, and if say the FSF were to > file an amicus curiae brief support that particular legal principle in > an kernel modules case, it's worthwhile to think about how Microsoft > and Apple could use that case law to f*ck us over very badly. > > It would mean that we would not be able to use Microsoft DLL's in > programs like xine. It would mean that programs like Crossover office > wouldn't work. It would mean that Apple could legally prohibit people > from writing enhancements to MacOS (for example, how do all of the > various extensions in Mac OS 9 work? They link into the operating > system and modify its behaviour. If they are therefore a derived work > of MacOS, then Apple could screw over all of the people who write > system extensions of MacOS.) > > Be careful of what you wish for, before you get it. The ramifications > of the statement that just because a device driver is written for > Linux, that it is presumptively a derived work of Linux unless proven > otherwise, is amazingly scary. Fortunately, we can hope that the law > professor I talked to was right, and that such a claim would be > laughed out of court. But if it isn't, look to Microsoft and other > unsavory companies to use that kind of case law to completely screw us > to the wall..... What Ted is saying is precisely what I have been trying to say for a long time, he just said it better (thanks Ted). If you want the rules to work a particular way when they benefit you you have to be prepared to deal with it when someone else invokes the same rules against you. I'm with Ted on this one, big time. I agree that it is opening the door to unbelievable amounts of bad juju from the corporate folks if licenses can infect across APIs. I'd personally like it if contracts couldn't do this either. The whole thing gives me more willies than the DMCA. -- --- Larry McVoy lm at bitmover.com http://www.bitmover.com/lm ^ permalink raw reply [flat|nested] 180+ messages in thread
* Re: Linux GPL and binary module exception clause? 2003-12-06 17:50 ` Larry McVoy 2003-12-06 21:19 ` Theodore Ts'o @ 2003-12-08 16:34 ` Andrew Pimlott 1 sibling, 0 replies; 180+ messages in thread From: Andrew Pimlott @ 2003-12-08 16:34 UTC (permalink / raw) To: linux-kernel Cc: Larry McVoy, Linus Torvalds, Larry McVoy, Erik Andersen, Zwane Mwaikambo, Paul Adams On Sat, Dec 06, 2003 at 09:50:41AM -0800, Larry McVoy wrote: > On Sat, Dec 06, 2003 at 09:13:00AM -0500, Andrew Pimlott wrote: > > It might be true that Sun's misdeed perpetually voids their license > > to XYZ. > > That's a good question, it's not clear what the answer to that is. I reread > the GPL and I don't see where it spells out what happens if you try and cheat. FWIW, here's what RMS said: Misusing a GPL-covered program permanently forfeits the right to distribute the code at all. http://linuxtoday.com/news_story.php3?ltsn=2000-09-05-001-21-OP-LF-KE > > Your comparisons to the SCO case are far-fetched. In part because > > of what I said above (your idea of "viral" is divorced from > > reality) > > In copyright law, yes. Contract law is a bit different. Linus and > you yanked me back into copyright law and you're right that SCO can't > claim rights to Linux, they don't own it. But isn't it true that if > the Unix license they have with IBM (actually more likely Sequent) is a > contract then that contract could extend to anything that was originally > written in the context of Unix, even if 100% of was written by Sequent > and removed from Unix and ported to Linux? I guess I can't disagree in principle that a contract could cross almost any boundary. But it seems vanishingly unlikely that anyone (not to speak of IBM) would agree to a contract with such boundary-piercing powers as SCO claims. For this reason, I don't think that even the most bold claims for the GPL's virulence help SCO one bit. On the contrary, any intelligent discussion of boundaries can only undermine SCO's nonsensical case. I agree with you about the importance of figuring out where the boundaries lie. I also wish the FSF would get more involved in this debate, but I have to say, they seem to be avoiding the hard questions, perhaps because they're afraid to say anything that will restrict them later. The best statement I think I've read from them is http://www.gnu.org/licenses/gpl-faq.html#GPLInProprietarySystem which introduces an "arms length" standard. > And if it is, which I believe to be true, and if you wrote a new widget > that was originally done in the context of that program but now wanted > to put that widget someplace else and the widget removed all references > to the original program, do I still have any contractially based rights > to that widget? For me, this doesn't pass the giggle test. > Nothing in law is black and white, it's all sorted out in caselaw > typically. But as far as I can tell there has to be some way to limit > the influence of a contract or a license or otherwise everything that > ran on a GPLed kernel would be GPLed (the HURD is a GPLed kernel, right? > How much you want to bet that the FSF is not going to try and make the > claim that userland has to be GPLed?) They seem to have waived that claim, at least, by deeming system calls "arms length" communication. Andrew ^ permalink raw reply [flat|nested] 180+ messages in thread
* Re: Linux GPL and binary module exception clause? 2003-12-05 1:58 ` Linus Torvalds 2003-12-06 3:00 ` Larry McVoy @ 2003-12-11 12:37 ` David Woodhouse 2003-12-11 12:42 ` Andre Hedrick 2003-12-11 13:54 ` Linux GPL and binary module exception clause? Andrew Pimlott 1 sibling, 2 replies; 180+ messages in thread From: David Woodhouse @ 2003-12-11 12:37 UTC (permalink / raw) To: Linus Torvalds Cc: Larry McVoy, Erik Andersen, Zwane Mwaikambo, Paul Adams, linux-kernel On Thu, 2003-12-04 at 17:58 -0800, Linus Torvalds wrote: > But a license only covers what it _can_ cover - derived works. The fact > that Linux is under the GPL simply _cannot_matter_ to a user program, if > the author can show that the user program is not a derived work. Not so. You, as author of the GPL'd work, are granting permission for someone else to make use of it (other than 'fair use' which they were already permitted). Your conditions for granting that permission do _not_ have to be restricted to licensing of derived works. You can even ask for _money_ in return, if you like. Or you could require that the lucky recipient bathe in creosote daily, in order to receive your licence. I could write a piece of software and tell you that you're only allowed to use it if you release _all_ future software you write under the GPL. Even stuff which isn't at all related, let alone non-derived. It wouldn't be illegal for you to create your own non-GPL software per se; it would just mean you don't have permission to use what _I_ had written and released under this hypothetical licence. You'd probably have to be mad to accept this licence, and of course I don't argue that the GPL actually goes _that_ far, but a copyright licence certainly _can_ do so. The GPL explicitly does make reference to required licensing terms for non-derived works in certain circumstances, even those which can reasonably be considered separate and independent works in themselves. There is no question that, as a copyright licence, the GPL _can_ extend to a non-derived work; and in some circumstances it clearly _does_. -- dwmw2 ^ permalink raw reply [flat|nested] 180+ messages in thread
* Re: Linux GPL and binary module exception clause? 2003-12-11 12:37 ` David Woodhouse @ 2003-12-11 12:42 ` Andre Hedrick 2003-12-11 12:58 ` David Woodhouse 2003-12-11 13:54 ` Linux GPL and binary module exception clause? Andrew Pimlott 1 sibling, 1 reply; 180+ messages in thread From: Andre Hedrick @ 2003-12-11 12:42 UTC (permalink / raw) To: David Woodhouse Cc: Linus Torvalds, Larry McVoy, Erik Andersen, Zwane Mwaikambo, Paul Adams, linux-kernel > There is no question that, as a copyright licence, the GPL _can_ extend > to a non-derived work; and in some circumstances it clearly _does_. David, Would you be kind enough to list "some circumstances" ? Also the authoritative (sp) reference supporting the list. Just spell it out for us who are a little slow in the wee hours of the morning. Cheers, Andre Hedrick LAD Storage Consulting Group On Thu, 11 Dec 2003, David Woodhouse wrote: > On Thu, 2003-12-04 at 17:58 -0800, Linus Torvalds wrote: > > But a license only covers what it _can_ cover - derived works. The fact > > that Linux is under the GPL simply _cannot_matter_ to a user program, if > > the author can show that the user program is not a derived work. > > Not so. You, as author of the GPL'd work, are granting permission for > someone else to make use of it (other than 'fair use' which they were > already permitted). > > Your conditions for granting that permission do _not_ have to be > restricted to licensing of derived works. You can even ask for _money_ > in return, if you like. Or you could require that the lucky recipient > bathe in creosote daily, in order to receive your licence. > > I could write a piece of software and tell you that you're only allowed > to use it if you release _all_ future software you write under the GPL. > Even stuff which isn't at all related, let alone non-derived. > > It wouldn't be illegal for you to create your own non-GPL software per > se; it would just mean you don't have permission to use what _I_ had > written and released under this hypothetical licence. > > You'd probably have to be mad to accept this licence, and of course I > don't argue that the GPL actually goes _that_ far, but a copyright > licence certainly _can_ do so. > > The GPL explicitly does make reference to required licensing terms for > non-derived works in certain circumstances, even those which can > reasonably be considered separate and independent works in themselves. > > There is no question that, as a copyright licence, the GPL _can_ extend > to a non-derived work; and in some circumstances it clearly _does_. > > -- > dwmw2 > > - > To unsubscribe from this list: send the line "unsubscribe linux-kernel" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html > Please read the FAQ at http://www.tux.org/lkml/ > ^ permalink raw reply [flat|nested] 180+ messages in thread
* Re: Linux GPL and binary module exception clause? 2003-12-11 12:42 ` Andre Hedrick @ 2003-12-11 12:58 ` David Woodhouse 2003-12-12 20:26 ` Brian Beattie 0 siblings, 1 reply; 180+ messages in thread From: David Woodhouse @ 2003-12-11 12:58 UTC (permalink / raw) To: Andre Hedrick Cc: Linus Torvalds, Larry McVoy, Erik Andersen, Zwane Mwaikambo, Paul Adams, linux-kernel On Thu, 2003-12-11 at 04:42 -0800, Andre Hedrick wrote: > Would you be kind enough to list "some circumstances" ? You have a work which is not derived and can reasonably be considered an independent and separate work in itself, but instead of distributing it as a separate work you distribute it as part of a whole which is a work based on a GPL'd Program. The precise meaning of 'as separate works' and 'part of a whole which is a work based on the Program' isn't entirely unambiguous. The GPL tries to clarify it by ruling out 'mere aggregation...on a volume of a storage or distribution medium' but stating its intent to control 'collective works'. There's still a little scope for interpretation though. My point, however, was that a copyright licence _can_ make such requirements. It _can_ require you to bathe daily in creosote too, and if you don't like that you have the option of not using the software which is licensed that way. > Also the authoritative (sp) reference supporting the list. Section 2 of the GPL, which I quoted only moments ago. -- dwmw2 ^ permalink raw reply [flat|nested] 180+ messages in thread
* Re: Linux GPL and binary module exception clause? 2003-12-11 12:58 ` David Woodhouse @ 2003-12-12 20:26 ` Brian Beattie 2003-12-13 12:03 ` David Woodhouse 0 siblings, 1 reply; 180+ messages in thread From: Brian Beattie @ 2003-12-12 20:26 UTC (permalink / raw) To: David Woodhouse Cc: Andre Hedrick, Linus Torvalds, Larry McVoy, Erik Andersen, Zwane Mwaikambo, Paul Adams, linux-kernel On Thu, 2003-12-11 at 07:58, David Woodhouse wrote: > My point, however, was that a copyright licence _can_ make such > requirements. It _can_ require you to bathe daily in creosote too, and > if you don't like that you have the option of not using the software > which is licensed that way. I'd be willing to bet, that since bathing in creosote is extremely unhealthy, the courts might well find that that restriction was nonsense. This being the case they might decide that taken as a whole the license was a fraud and grant the public the right to unrestricted use of the product in question. Especially if the defendants lawyer was particularly good. -- Brian Beattie | Experienced kernel hacker/embedded systems beattie@beattie-home.net | programmer, direct or contract, short or www.beattie-home.net | long term, available immediately. "Honor isn't about making the right choices. It's about dealing with the consequences." -- Midori Koto ^ permalink raw reply [flat|nested] 180+ messages in thread
* Re: Linux GPL and binary module exception clause? 2003-12-12 20:26 ` Brian Beattie @ 2003-12-13 12:03 ` David Woodhouse 2003-12-13 15:04 ` jeff millar ` (2 more replies) 0 siblings, 3 replies; 180+ messages in thread From: David Woodhouse @ 2003-12-13 12:03 UTC (permalink / raw) To: Brian Beattie Cc: Andre Hedrick, Linus Torvalds, Larry McVoy, Erik Andersen, Zwane Mwaikambo, Paul Adams, linux-kernel On Fri, 2003-12-12 at 15:26 -0500, Brian Beattie wrote: > I'd be willing to bet, that since bathing in creosote is extremely > unhealthy, the courts might well find that that restriction was > nonsense. This being the case they might decide that taken as a whole > the license was a fraud and grant the public the right to unrestricted > use of the product in question. Especially if the defendants lawyer was > particularly good. The misuse of copyright defence is _very_ limited, and it's not about being reasonable or healthy. If I charged money for my licence _and_ made the creosote requirement, perhaps the court would be able to find a legal loophole which hasn't yet been mentioned. The court is much less likely to attempt this if the creosote is the _only_ thing I'm asking for, and if that's the whole raison d'etre of my licence, and the only reason I'm letting you use my work in the first place. Otherwise where does it end? I tell you that you can use my software 'when Hell freezes over' and since that's also unreasonable you get to use it without restriction? :) -- dwmw2 ^ permalink raw reply [flat|nested] 180+ messages in thread
* Re: Linux GPL and binary module exception clause? 2003-12-13 12:03 ` David Woodhouse @ 2003-12-13 15:04 ` jeff millar 2003-12-13 17:27 ` Gene Heskett 2003-12-14 0:51 ` Linux, Inc. (Re: Linux GPL and binary module exception clause?) Andre Hedrick 2 siblings, 0 replies; 180+ messages in thread From: jeff millar @ 2003-12-13 15:04 UTC (permalink / raw) To: David Woodhouse, Brian Beattie Cc: Andre Hedrick, Larry McVoy, Erik Andersen, Zwane Mwaikambo, Paul Adams, linux-kernel Irony alert! ----- Original Message ----- From: "David Woodhouse" <dwmw2@infradead.org> ................. > > Otherwise where does it end? I tell you that you can use my software > 'when Hell freezes over' Isn't that about what Congress does with copyright extensions? and since that's also unreasonable you get to > use it without restriction? :) And is that about what the population does with Kazaa? ^ permalink raw reply [flat|nested] 180+ messages in thread
* Re: Linux GPL and binary module exception clause? 2003-12-13 12:03 ` David Woodhouse 2003-12-13 15:04 ` jeff millar @ 2003-12-13 17:27 ` Gene Heskett 2003-12-14 0:51 ` Linux, Inc. (Re: Linux GPL and binary module exception clause?) Andre Hedrick 2 siblings, 0 replies; 180+ messages in thread From: Gene Heskett @ 2003-12-13 17:27 UTC (permalink / raw) To: David Woodhouse, Brian Beattie Cc: Andre Hedrick, Linus Torvalds, Larry McVoy, Erik Andersen, Zwane Mwaikambo, Paul Adams, linux-kernel On Saturday 13 December 2003 07:03, David Woodhouse wrote: >On Fri, 2003-12-12 at 15:26 -0500, Brian Beattie wrote: >> I'd be willing to bet, that since bathing in creosote is extremely >> unhealthy, the courts might well find that that restriction was >> nonsense. This being the case they might decide that taken as a >> whole the license was a fraud and grant the public the right to >> unrestricted use of the product in question. Especially if the >> defendants lawyer was particularly good. > >The misuse of copyright defence is _very_ limited, and it's not > about being reasonable or healthy. > >If I charged money for my licence _and_ made the creosote > requirement, perhaps the court would be able to find a legal > loophole which hasn't yet been mentioned. > >The court is much less likely to attempt this if the creosote is the >_only_ thing I'm asking for, and if that's the whole raison d'etre > of my licence, and the only reason I'm letting you use my work in > the first place. > >Otherwise where does it end? I tell you that you can use my software >'when Hell freezes over' and since that's also unreasonable you get > to use it without restriction? :) Chuckle... Hell quite often freezes over, or up as they say. Hell, Michigan that is. :-) -- Cheers, Gene AMD K6-III@500mhz 320M Athlon1600XP@1400mhz 512M 99.22% setiathome rank, not too shabby for a WV hillbilly Yahoo.com attornies please note, additions to this message by Gene Heskett are: Copyright 2003 by Maurice Eugene Heskett, all rights reserved. ^ permalink raw reply [flat|nested] 180+ messages in thread
* Linux, Inc. (Re: Linux GPL and binary module exception clause?) 2003-12-13 12:03 ` David Woodhouse 2003-12-13 15:04 ` jeff millar 2003-12-13 17:27 ` Gene Heskett @ 2003-12-14 0:51 ` Andre Hedrick 2003-12-14 1:06 ` Andre Hedrick 2003-12-14 6:35 ` Rob Landley 2 siblings, 2 replies; 180+ messages in thread From: Andre Hedrick @ 2003-12-14 0:51 UTC (permalink / raw) To: David Woodhouse Cc: Brian Beattie, Linus Torvalds, Larry McVoy, Erik Andersen, Zwane Mwaikambo, Paul Adams, linux-kernel How about a charter orgainization called Linux, Inc. or The Linux Foundation ? CEO Linus Torvalds <aka ph> :-) --- fill in the blanks. --- CSA me <chief smart arse> Now Linux, Inc is designed to regulate the commerial use of Linux and defend the legal causes and actions of the kernel. Everything has a cost. Any company, organization, country, or what ever is required to pay 10% of gross sales associated with products ship with Linux kernel inside, period. Distributions Big Storage Companies Big Box builders Big Appliance Builders blah blah .... Set Top boxes Firewall/VPN Anybody who sells a product w/ the Linux Kernel as its base. Now all the FSF/GPL supporting user space applications can go see FSF and company because I do not give a damn about there issues. They are l^Huser land. Now this allows for commerial adoption and commerial licnesing of Linux. If this offer and idea is rejected then it proves the lack of seriousness in the original goals of "world domination". 10% of Redhat,SuSE(Novell),Mandrake,Conectiva,UnitedLinux,... 10% of EMC,HP,IBM,Dell,Intel,... 10% of CGL people,... 10% of Rackable,Google,... 10% of the little guys ... Now what to do with the money. Hire really good SHARKS and ACCOUNTANTS ... Fund and promote opensource development like a foundation ... Yeah it starts to look like a business and that is what Linux needs. Yeah, this is to simple and easy of an idea. Cheers, Andre Hedrick LAD Storage Consulting Group ^ permalink raw reply [flat|nested] 180+ messages in thread
* Re: Linux, Inc. (Re: Linux GPL and binary module exception clause?) 2003-12-14 0:51 ` Linux, Inc. (Re: Linux GPL and binary module exception clause?) Andre Hedrick @ 2003-12-14 1:06 ` Andre Hedrick 2003-12-14 2:40 ` David S. Miller 2003-12-14 6:55 ` Rob Landley 2003-12-14 6:35 ` Rob Landley 1 sibling, 2 replies; 180+ messages in thread From: Andre Hedrick @ 2003-12-14 1:06 UTC (permalink / raw) To: David Woodhouse Cc: Brian Beattie, Linus Torvalds, Larry McVoy, Erik Andersen, Zwane Mwaikambo, Paul Adams, linux-kernel Part II ... Given the issue of binary module vendors not native to Linux rules and standards, there becomes a need for a review body. Given the problem of most binary vendors are idiots and clueless, it provides a certification for a given kernel. It is short of racketeiring (sp) but it mean nobody gets to use all of our hard work with out paying for it. This is fair and equitable. Oh yeah in order to be invited to the board or advisory board you have to have some time in slavery to the kernel and continue to contribute. Yeah I am back off the nutter wagon and running around free again! Dave Miller, can we have linux-wackos :-) Cheers, Andre Hedrick LAD Storage Consulting Group On Sat, 13 Dec 2003, Andre Hedrick wrote: > > How about a charter orgainization called Linux, Inc. or The Linux > Foundation ? > > CEO Linus Torvalds <aka ph> :-) > --- > fill in the blanks. > --- > CSA me <chief smart arse> > > Now Linux, Inc is designed to regulate the commerial use of Linux and > defend the legal causes and actions of the kernel. Everything has a cost. > Any company, organization, country, or what ever is required to pay 10% of > gross sales associated with products ship with Linux kernel inside, > period. > > Distributions > Big Storage Companies > Big Box builders > Big Appliance Builders > blah blah .... > Set Top boxes > Firewall/VPN > > Anybody who sells a product w/ the Linux Kernel as its base. > > Now all the FSF/GPL supporting user space applications can go see FSF and > company because I do not give a damn about there issues. They are l^Huser > land. > > Now this allows for commerial adoption and commerial licnesing of Linux. > If this offer and idea is rejected then it proves the lack of seriousness > in the original goals of "world domination". > > 10% of Redhat,SuSE(Novell),Mandrake,Conectiva,UnitedLinux,... > 10% of EMC,HP,IBM,Dell,Intel,... > 10% of CGL people,... > 10% of Rackable,Google,... > 10% of the little guys ... > > Now what to do with the money. > > Hire really good SHARKS and ACCOUNTANTS ... > Fund and promote opensource development like a foundation ... > Yeah it starts to look like a business and that is what Linux needs. > > Yeah, this is to simple and easy of an idea. > > Cheers, > > Andre Hedrick > LAD Storage Consulting Group > > - > To unsubscribe from this list: send the line "unsubscribe linux-kernel" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html > Please read the FAQ at http://www.tux.org/lkml/ > ^ permalink raw reply [flat|nested] 180+ messages in thread
* Re: Linux, Inc. (Re: Linux GPL and binary module exception clause?) 2003-12-14 1:06 ` Andre Hedrick @ 2003-12-14 2:40 ` David S. Miller 2003-12-14 2:37 ` Andre Hedrick 2003-12-14 6:55 ` Rob Landley 1 sibling, 1 reply; 180+ messages in thread From: David S. Miller @ 2003-12-14 2:40 UTC (permalink / raw) To: Andre Hedrick Cc: dwmw2, beattie, torvalds, lm, andersen, zwane, padamsdev, linux-kernel On Sat, 13 Dec 2003 17:06:50 -0800 (PST) Andre Hedrick <andre@linux-ide.org> wrote: > Dave Miller, can we have linux-wackos :-) No, but I'll happily give you linux-fantasy or linux-utopia. :) ^ permalink raw reply [flat|nested] 180+ messages in thread
* Re: Linux, Inc. (Re: Linux GPL and binary module exception clause?) 2003-12-14 2:40 ` David S. Miller @ 2003-12-14 2:37 ` Andre Hedrick 0 siblings, 0 replies; 180+ messages in thread From: Andre Hedrick @ 2003-12-14 2:37 UTC (permalink / raw) To: David S. Miller Cc: dwmw2, beattie, torvalds, lm, andersen, zwane, padamsdev, linux-kernel Deal! It also give a place to redirect all future threads and keep it of linux-kernel, and you can apply something you really want ... KILL THREAD !! :-) linux-utopia-fantasy@vger.kernel.org Cheers, Andre Hedrick LAD Storage Consulting Group On Sat, 13 Dec 2003, David S. Miller wrote: > On Sat, 13 Dec 2003 17:06:50 -0800 (PST) > Andre Hedrick <andre@linux-ide.org> wrote: > > > Dave Miller, can we have linux-wackos :-) > > No, but I'll happily give you linux-fantasy or linux-utopia. :) > ^ permalink raw reply [flat|nested] 180+ messages in thread
* Re: Linux, Inc. (Re: Linux GPL and binary module exception clause?) 2003-12-14 1:06 ` Andre Hedrick 2003-12-14 2:40 ` David S. Miller @ 2003-12-14 6:55 ` Rob Landley 1 sibling, 0 replies; 180+ messages in thread From: Rob Landley @ 2003-12-14 6:55 UTC (permalink / raw) To: Andre Hedrick; +Cc: linux-kernel On Saturday 13 December 2003 19:06, Andre Hedrick wrote: > Part II ... > > Given the issue of binary module vendors not native to Linux rules and > standards, there becomes a need for a review body. And thus a new layer of bureaucracy would be added to address a non-problem. Study the history of usenix, will you? Pay special attention to how it killed Atlanta Linux Showcase. (Ask Peter Salus.) > Given the problem of > most binary vendors are idiots and clueless, it provides a certification > for a given kernel. Sturgeon's law says that 90% of them are going to be clueless idiots, but that's nothing special. The ones who make the binary modules that we actually care about are the 10% that _aren't_. Nvidia, specifically, would love to release its code but it can't due to having licensed chunks of it from suppliers. (Nvidia doesn't own all its own IP, it licenses huge chunks of it.) > It is short of racketeiring (sp) but it mean nobody gets to use all of > our hard work with out paying for it. This is fair and equitable. If you're mad that people use your hard work without paying for it, you have missed the entire POINT of open source. I, personally, am fairly certain I have never paid you a dime. My laptop has IDE in it, so I'd guess I'm using your work. You have my thanks. You do not have any of my money. If this really bothers you, put a paypal link on your web page. > Oh yeah in order to be invited to the board or advisory board you have to > have some time in slavery to the kernel and continue to contribute. Yeah > I am back off the nutter wagon and running around free again! I've run volunteer organizations. I co-founded Penguicon, and I'm doing another one called Linucon here in Austin. I put about $1000 of my own money into Penguicon, and I'm probably going to put more than that into Linucon, yet nobody involved with it actually got paid. It was entirely volunteer run. Even our guests of honor didn't get paid. We flew Terry Pratchett in from England (a man who claims he had to switch banks having "filled the first one up" with book royalties), and although we bought his plane ticket, hotel room, and meals, we didn't actually give the man a dime. (We did give him a badge ribbon that said "Geek", though, but that was more an award.) And he agreed to do it, and an important part was that nobody ELSE involved with it was paid a dime either, so it was hard to be jealous. You've never run a volunteer effort. It shows. You clearly, profoundly, DO NOT UNDERSTAND how it works. I admit it's a fairly tough thing to learn about from outside... Here, this absolutely _sucks_, but it's the closest to a related write-up I've done: http://www.fool.com/news/foth/2000/foth000731.htm http://www.fool.com/news/foth/2000/foth000913.htm http://www.fool.com/news/foth/2000/foth000905.htm http://www.fool.com/news/foth/2000/foth000918.htm http://www.fool.com/news/foth/2000/foth000925.htm http://www.fool.com/portfolios/rulemaker/2000/rulemaker000928.htm http://www.fool.com/news/foth/2000/foth001002.htm And some australian woman's follow-up... http://www.firstmonday.dk/issues/issue6_3/doheny/ I've needed to do a better write-up of this (that isn't stale, wrong in places, profoundly incomplete, and for a business audience) for years. Bug me off-list if you're interested... Rob (Darn it, I ran a PANEL on this at Penguicon, with Jay Maynard of the Hercules project. I just haven't got a convenient write-up I can point you to...) ^ permalink raw reply [flat|nested] 180+ messages in thread
* Re: Linux, Inc. (Re: Linux GPL and binary module exception clause?) 2003-12-14 0:51 ` Linux, Inc. (Re: Linux GPL and binary module exception clause?) Andre Hedrick 2003-12-14 1:06 ` Andre Hedrick @ 2003-12-14 6:35 ` Rob Landley 1 sibling, 0 replies; 180+ messages in thread From: Rob Landley @ 2003-12-14 6:35 UTC (permalink / raw) To: Andre Hedrick; +Cc: linux-kernel I suspect most people are going to ignore this message because it's so out there and loopy, but I thought I'd address it because I think Andre is serious. On Saturday 13 December 2003 18:51, Andre Hedrick wrote: > How about a charter orgainization called Linux, Inc. or The Linux > Foundation ? Why not an organization called OSDL? > CEO Linus Torvalds <aka ph> :-) Because he doesn't want to. > Now Linux, Inc is designed to regulate the commerial use of Linux and Regulating the commercial use of open source code. Uh-huh. And you honestly don't know why this won't work? > defend the legal causes and actions of the kernel. Everything has a cost. > Any company, organization, country, or what ever is required to pay 10% of > gross sales associated with products ship with Linux kernel inside, > period. Isn't this what SCO is trying to do? Make everybody who ships Linux pay them money? (And if them requiring money from people just to use Linux violates the GPL, why would _you_ be able to force people to? We have a hard enough time getting source code out of people in basic compliance with the license terms, and you want money out of them, potentially in violation of the license?) Alright, ignore that for a moment. Think back: what if everybody who wanted to assemble a PC had to pay for a license to do so? How far would PC hardware have gone? On the left, you have the ISA bus, which is free to use. On the right, you have the micro-channel bus, which is patented and required a fee. Which won in the open market? > Now this allows for commerial adoption and commerial licnesing of Linux. Excuse me, we HAVE commercial adoption and commercial licensing of Linux. We have IBM putting a billion a year into it and HP putting $IBM*2 a year into their press releases. Did you miss that memo? > If this offer and idea is rejected then it proves the lack of seriousness > in the original goals of "world domination". PC hardware managed to avoid requiring anybody pay licensing fees for the basic design for 20 years now. People have voluntarily joined consortia, but they haven't had to buy a license just to belong to the club of white box manufacturers or component vendors. > 10% of the little guys ... I've worked for little guys that this would have bankrupted. And if such a requirement had been in place, I would have recommended that they use FreeBSD, technical merit notwithstanding. > Now what to do with the money. Belling the cat. "Gee, if we only had a gazaillion dollars..." > Hire really good SHARKS and ACCOUNTANTS ... > Fund and promote opensource development like a foundation ... There's about fifty. Perl's got a foundation, Gnome has a foundation, KDE has a foundation... Eric Raymond's most recent pet project was the Open Source Awards, which among other things involved giving cash to people who had done neat hacks. (Sponsored by C/Net, if I remember...) > Yeah it starts to look like a business and that is what Linux needs. BeOS looked like a business. OS/2 looked like a business. Geos looked a lot like a business. Desqview/X looked like a business. AmigaOS looked like a business. Ret Hat looks like a business. Novell/SuSE looks like a business. Lindows looks like a business. (I'm not sure they ARE, but they LOOK like one...) > Yeah, this is to simple and easy of an idea. There's an old saying: "For every problem, there is a solution that's simple, easy, and wrong." You're trying to address a problem that doesn't exist with a solution that nobody would support, and you're implying that the entire rest of the world is either stupid or not serious if they don't think you're idea is worth even the amount of attention it takes to respond negatively. There are hundreds of thousands of people in the world who make their living from Linux right now. Capitalism says that a couple percent of them are going to get royally screwed, no matter WHAT it is... > Cheers, > > Andre Hedrick > LAD Storage Consulting Group Rob ^ permalink raw reply [flat|nested] 180+ messages in thread
* Re: Linux GPL and binary module exception clause? 2003-12-11 12:37 ` David Woodhouse 2003-12-11 12:42 ` Andre Hedrick @ 2003-12-11 13:54 ` Andrew Pimlott 2003-12-11 15:12 ` David Woodhouse 1 sibling, 1 reply; 180+ messages in thread From: Andrew Pimlott @ 2003-12-11 13:54 UTC (permalink / raw) To: David Woodhouse Cc: Linus Torvalds, Larry McVoy, Erik Andersen, Zwane Mwaikambo, Paul Adams, linux-kernel On Thu, Dec 11, 2003 at 12:37:58PM +0000, David Woodhouse wrote: > Your conditions for granting that permission do _not_ have to be > restricted to licensing of derived works. You can even ask for _money_ > in return, if you like. Or you could require that the lucky recipient > bathe in creosote daily, in order to receive your licence. NAL, but look up "misuse of copyright". You can't just require whatever pleases your fancy. Eg, http://www.digital-law-online.com/lpdi1.0/cases/15PQ2D1846.htm > I could write a piece of software and tell you that you're only allowed > to use it if you release _all_ future software you write under the GPL. > Even stuff which isn't at all related, let alone non-derived. Highly doubtful. Andrew ^ permalink raw reply [flat|nested] 180+ messages in thread
* Re: Linux GPL and binary module exception clause? 2003-12-11 13:54 ` Linux GPL and binary module exception clause? Andrew Pimlott @ 2003-12-11 15:12 ` David Woodhouse 0 siblings, 0 replies; 180+ messages in thread From: David Woodhouse @ 2003-12-11 15:12 UTC (permalink / raw) To: Andrew Pimlott Cc: Linus Torvalds, Larry McVoy, Erik Andersen, Zwane Mwaikambo, Paul Adams, linux-kernel On Thu, 2003-12-11 at 08:54 -0500, Andrew Pimlott wrote: > NAL, but look up "misuse of copyright". You can't just require > whatever pleases your fancy. > http://www.digital-law-online.com/lpdi1.0/cases/15PQ2D1846.htm The misuse of copyright defence: It is forbidden to use a patent or copyright 'to secure an exclusive right or limited monopoly not granted by the [Patent/Copyright] office and which it is contrary to public policy to grant.' It's _not_ just about conditions which are 'unreasonable' (cf. contract law). In particular, the 'public policy' to which the court was referring was the raison d'etre of copyright and patent law -- the encouragement of creativity and development for the general benefit of society. So the hypothetical Creosote Public Licence should be fine. In the case you cite, the licence was prohibiting the licensee (and even others) from creativity which might benefit society: "Each time Lasercomb sells its Interact program to a company and obtains that company’s agreement to the noncompete language, the company is required to forego utilization of the creative abilities of all its officers, directors and employees in the area of CAD/CAM die-making software. Of yet greater concern, these creative abilities are withdrawn from the public. The period for which this anticompetitive restraint exists is ninety-nine years, which could be longer than the life of the copyright itself." Even my other hypothetical licence, which requires you to release _all_ your future work under an open-source licence, does _not_ stop you from benefiting society by being creative. It just makes requirements about the _licensing_ of what you create. Neither does the same licence create an exclusive right or limited monopoly for the licensor -- quite the opposite, in fact, since it's asking the licensee to do the _same_ as the licensor, not enforcing any _difference_ in permitted behaviour. I don't believe that a prosecution for violation of such a licence would fall foul of the 'misuse of copyright' defence, either. Furthermore, no other arrangement exists which allows you to make (other than fair) use of the work in question. You didn't pay the licensor for it and get lumbered with these extra clauses on the side -- the hypothetical licence _only_ asks that you license your own creations in a certain way, and asks nothing else. This is not a 'normal' commercial software agreement with some unreasonable clause tacked on the side; you get to use my software _only_ because you agreed to these conditions and I didn't ask anything else of you. A court _would_ take that into account. > > I could write a piece of software and tell you that you're only allowed > > to use it if you release _all_ future software you write under the GPL. > > Even stuff which isn't at all related, let alone non-derived. > > Highly doubtful. In the case where I accept financial reward from you and we enter into any kind of agreement, I'm inclined to agree. But in the case where no money (or other consideration) has been exchanged, I very much doubt that a court would rule that my work effectively becomes public domain -- the court might not award me damages but you would not be permitted to use my work. -- dwmw2 ^ permalink raw reply [flat|nested] 180+ messages in thread
* Re: Linux GPL and binary module exception clause? 2003-12-05 1:21 ` Larry McVoy 2003-12-05 1:30 ` Hua Zhong 2003-12-05 1:58 ` Linus Torvalds @ 2003-12-05 3:58 ` Jason Kingsland 2 siblings, 0 replies; 180+ messages in thread From: Jason Kingsland @ 2003-12-05 3:58 UTC (permalink / raw) To: Larry McVoy, Erik Andersen, Zwane Mwaikambo, Paul Adams, linux-kernel On Thu, Dec 04, 2003 at 06:03:49PM -0700, Erik Andersen wrote: > linux/COPYING says: This copyright does *not* cover user programs > that use kernel services by normal system calls - this is merely > considered normal use of the kernel, and does *not* fall under > the heading of "derived work". Larry McVoy adds: > Given the GPL rules you have to disregard Linus' rules that are extensions > and work off of standard law. When you get there it becomes an issue of > boundaries and the law seems to clearly support Linus' point of view, he > didn't need to make that clarification, whether he did or not, that's what > is true in the eyes of the law. Actually, about two years ago a large company I previously worked at performed a formal legal review of the GPL, as part of a due-dilligence review whether to use Linux rather than a commercial OS in some of its products. One of the points raised was that the license clarification for user programs was added by Linus to copying.txt well before most other authors started working on the kernel - it can be traced back to a nascent version of Linux to which most everyone else then submitted their code into later on. It was the opinion of the IPR lawyer reviewing the license that the "user program" clarification is therefore a part of the core Linux license, is legally binding and applies to all such subsequent code submitted by other authors. It's a subtle point, but I thought it would be worth a mention. Ultimately, it would be for the courts to decide I guess, if any GPL copyright dispute ever makes it that far. Just goes to show that some companies are concerned about working effectively with the GPL - it took several weeks of highly paid IPR lawyers to formate a policy document which they considered acceptable use. ^ permalink raw reply [flat|nested] 180+ messages in thread
* RE: Linux GPL and binary module exception clause? 2003-12-05 0:46 ` Erik Andersen 2003-12-05 0:58 ` Zwane Mwaikambo @ 2003-12-05 1:58 ` David Schwartz 2003-12-05 4:58 ` Erik Andersen 2003-12-05 2:07 ` Kendall Bennett 2 siblings, 1 reply; 180+ messages in thread From: David Schwartz @ 2003-12-05 1:58 UTC (permalink / raw) To: andersen, Paul Adams; +Cc: linux-kernel > On Thu Dec 04, 2003 at 03:50:55PM -0800, Paul Adams wrote: > > Unless actual Linux code is incorporated in a binary > > distribution > > in some form, I don't see how you can claim > > infringement of the > > copyright on Linux code, at least in the U.S. > A kernel module is useless without a Linux kernel in which it can > be loaded. Once loaded, it becomes not merely an adjunct, but an > integrat part of the Linux kernel. There you go, *ONCE* *LOADED* it becomes an integral part. So it's the *use* of it that makes it integral. Disitribution is prior to use. > Further, it clearly > "incorporate[s] a portion of the copyrighted work" since it > can only operate within the context of the kernel by utilizing > Linux kernel function calls. Except the kernel function calls are not copyrighted, only their implementation is. If you really meant what you're saying, any program that used 'malloc' would be a derived work of any implementation of 'malloc'. > To abuse your earlier metaphor, a kernel module is not comparable > to a programmatic musical composition inspired by a novel. It is > better comparared with another novel with substantial similarity > in the theme, plot, sequence, settings, mood, dialogue, and > characters, with the same story being told, with trademarked > phrases and taglines, and that makes no sense whatsoever unless > you insert it's entire content over the top of page 450, > paragraph 4 (of the Linux "novel"), and which thereby changes > the ending of the original book... So long as it must be mixed with the original work (and isn't already), it's not clear that it's a derived work as it sits. Again, otherwise any program that used 'malloc' would be a derived work of any implementation of 'malloc'. DS ^ permalink raw reply [flat|nested] 180+ messages in thread
* Re: Linux GPL and binary module exception clause? 2003-12-05 1:58 ` David Schwartz @ 2003-12-05 4:58 ` Erik Andersen 2003-12-05 6:34 ` David Schwartz 0 siblings, 1 reply; 180+ messages in thread From: Erik Andersen @ 2003-12-05 4:58 UTC (permalink / raw) To: David Schwartz; +Cc: Paul Adams, linux-kernel On Thu Dec 04, 2003 at 05:58:38PM -0800, David Schwartz wrote: > There you go, *ONCE* *LOADED* it becomes an integral part. So > it's the *use* of it that makes it integral. Disitribution is > prior to use. Steven Spielberg doesn't care what you do to his movies in the privacy of your own home. You can use them as a room dividers for your hamsters if you want for all he cares. But if you try modifying his movies, i.e. to remove the sex, nudity, and violence and then distribute them, you will join Clean Flicks in court [1]. Or maybe you feel like making a Harry Potter knockoff. Go ahead and write whatever you want in the privacy of your own home. If you dare to try distributing such a knock off novel, you will shortly find Time-Warner sending a herd of lawyers your direction [2]. Similarly, nobody cares what kernel modules you feel like making and loading in the privacy of your own home. > So long as it must be mixed with the original work (and isn't > already), it's not clear that it's a derived work as it sits. > Again, otherwise any program that used 'malloc' would be a > derived work of any implementation of 'malloc'. The act of compiling a program and linking that program with a library certainly does create a derivitive work of that library. Try linking your program with the 30-day evaluation version of Intel's Math Kernel Library and distributing the result without paying them for a license. Try using Qt in a non-GPL closed source product without paying Trolltech. Try using MS Visual Studio to create and distribute your own competing compiler. Guess how fast you would have herds of lawyers visiting to discuss your opinions of what is and is not a derived work? -Erik [1] http://writ.news.findlaw.com/hilden/20020903.html [2] http://slate.msn.com/id/2084960/ -- Erik B. Andersen http://codepoet-consulting.com/ --This message was written using 73% post-consumer electrons-- ^ permalink raw reply [flat|nested] 180+ messages in thread
* RE: Linux GPL and binary module exception clause? 2003-12-05 4:58 ` Erik Andersen @ 2003-12-05 6:34 ` David Schwartz 2003-12-05 6:43 ` Linus Torvalds 0 siblings, 1 reply; 180+ messages in thread From: David Schwartz @ 2003-12-05 6:34 UTC (permalink / raw) To: andersen; +Cc: Paul Adams, linux-kernel > Or maybe you feel like making a Harry Potter knockoff. Go ahead > and write whatever you want in the privacy of your own home. If > you dare to try distributing such a knock off novel, you will shortly > find Time-Warner sending a herd of lawyers your direction [2]. Yes, but they will cite the prohibition against *creating* derived works. > Similarly, nobody cares what kernel modules you feel like making > and loading in the privacy of your own home. There's a difference between what you can and can't do and what you can and can't get away with. You can get away with making a Harry Potter sequel in the privacy of your own home because nobody would find about it, however legally, you do not have the right to create the derived work. However, if you did have the right to create the derived work, you'd automatically have the right to distribute it to anyone who already owned the original work from which it was derived. > > So long as it must be mixed with the original work (and isn't > > already), it's not clear that it's a derived work as it sits. > > Again, otherwise any program that used 'malloc' would be a > > derived work of any implementation of 'malloc'. > The act of compiling a program and linking that program with a > library certainly does create a derivitive work of that library. Right, however, you have the right to create that derivative work. > Try linking your program with the 30-day evaluation version of > Intel's Math Kernel Library and distributing the result without > paying them for a license. Try using Qt in a non-GPL closed > source product without paying Trolltech. Try using MS Visual > Studio to create and distribute your own competing compiler. > Guess how fast you would have herds of lawyers visiting to > discuss your opinions of what is and is not a derived work? These cases are much more interesting, except for the MS VC case. In the MS VC case, there's a EULA that courts are likely to consider part of the sales contract. As for the others, I think you'd have a very good chance of winning them. See, for example, ProCD v. Zeidelberg (sp?). In the absence of a shrink wrap or clickthrough at least, it would seem you only have those specific rights copyright grants you, and the right to restrict the distribution of derived works is not one of those rights. DS ^ permalink raw reply [flat|nested] 180+ messages in thread
* RE: Linux GPL and binary module exception clause? 2003-12-05 6:34 ` David Schwartz @ 2003-12-05 6:43 ` Linus Torvalds 0 siblings, 0 replies; 180+ messages in thread From: Linus Torvalds @ 2003-12-05 6:43 UTC (permalink / raw) To: David Schwartz; +Cc: andersen, Paul Adams, linux-kernel On Thu, 4 Dec 2003, David Schwartz wrote: > > Yes, but they will cite the prohibition against *creating* derived > works. So? The same prohibition exists with the GPL. You are not allowed to create and distribute a derived work unless it is GPL'd. I don't see what you are arguing against. It is very clear: a kernel module is a derived work of the kernel by default. End of story. You can then try to prove (through development history etc) that there would be major reasons why it's not really derived. But your argument seems to be that _nothing_ is derived, which is clearly totally false, as you yourself admit when you replace "kernel" with "Harry Potter". Linus ^ permalink raw reply [flat|nested] 180+ messages in thread
* Re: Linux GPL and binary module exception clause? 2003-12-05 0:46 ` Erik Andersen 2003-12-05 0:58 ` Zwane Mwaikambo 2003-12-05 1:58 ` David Schwartz @ 2003-12-05 2:07 ` Kendall Bennett 2003-12-05 7:39 ` Stefan Smietanowski 2 siblings, 1 reply; 180+ messages in thread From: Kendall Bennett @ 2003-12-05 2:07 UTC (permalink / raw) To: andersen; +Cc: linux-kernel Erik Andersen <andersen@codepoet.org> wrote: > On Thu Dec 04, 2003 at 03:50:55PM -0800, Paul Adams wrote: > > Unless actual Linux code is incorporated in a binary > > distribution > > in some form, I don't see how you can claim > > infringement of the > > copyright on Linux code, at least in the U.S. > > A kernel module is useless without a Linux kernel in which it can > be loaded. Once loaded, it becomes not merely an adjunct, but an > integrat part of the Linux kernel. Further, it clearly > "incorporate[s] a portion of the copyrighted work" since it can > only operate within the context of the kernel by utilizing Linux > kernel function calls. But what about the case I stated earlier for a driver that is completely binary portable between different operating systems. Hence the low level portion of the driver is not Linux specific at all, and in fact not even designed specifically with Linux in mind. That muddies the waters even more, and even Linus has said he would believe such a driver to be OK. Regards, --- Kendall Bennett Chief Executive Officer SciTech Software, Inc. Phone: (530) 894 8400 http://www.scitechsoft.com ~ SciTech SNAP - The future of device driver technology! ~ ^ permalink raw reply [flat|nested] 180+ messages in thread
* Re: Linux GPL and binary module exception clause? 2003-12-05 2:07 ` Kendall Bennett @ 2003-12-05 7:39 ` Stefan Smietanowski 0 siblings, 0 replies; 180+ messages in thread From: Stefan Smietanowski @ 2003-12-05 7:39 UTC (permalink / raw) To: Kendall Bennett; +Cc: andersen, linux-kernel Kendall Bennett wrote: > Erik Andersen <andersen@codepoet.org> wrote: > > >>On Thu Dec 04, 2003 at 03:50:55PM -0800, Paul Adams wrote: >> >>>Unless actual Linux code is incorporated in a binary >>>distribution >>>in some form, I don't see how you can claim >>>infringement of the >>>copyright on Linux code, at least in the U.S. >> >>A kernel module is useless without a Linux kernel in which it can >>be loaded. Once loaded, it becomes not merely an adjunct, but an >>integrat part of the Linux kernel. Further, it clearly >>"incorporate[s] a portion of the copyrighted work" since it can >>only operate within the context of the kernel by utilizing Linux >>kernel function calls. > > > But what about the case I stated earlier for a driver that is completely > binary portable between different operating systems. Hence the low level > portion of the driver is not Linux specific at all, and in fact not even > designed specifically with Linux in mind. That muddies the waters even > more, and even Linus has said he would believe such a driver to be OK. You mean kind of like a program being compiled by a compiler? The program isn't designed for a specific platform/cpu/os/whatnot but when compiled it's specific to a platform/cpu/os/whatnot. With the "program" being the low level stuff and the extra cruft all compilers include being the glue. // Stefan ^ permalink raw reply [flat|nested] 180+ messages in thread
* Re: Linux GPL and binary module exception clause? 2003-12-04 23:50 Linux GPL and binary module exception clause? Paul Adams ` (2 preceding siblings ...) 2003-12-05 0:46 ` Erik Andersen @ 2003-12-05 1:47 ` Linus Torvalds 2003-12-10 12:57 ` Andre Hedrick 3 siblings, 1 reply; 180+ messages in thread From: Linus Torvalds @ 2003-12-05 1:47 UTC (permalink / raw) To: Paul Adams; +Cc: linux-kernel On Thu, 4 Dec 2003, Paul Adams wrote: > > A work that is inspired by Linux is no more a derivative work than > a programmatic musical composition inspired by a novel. Having > Linux in mind cannot be enough to constitute infringement. But it does - you have to include the Linux header files in order to be able to make any nontrivial module. I'm not claiming that "thinking about Linux makes you tainted". It's not about inspiration. But it's a bit like getting somebody pregnant: you have to do a lot more than just think about it to actually make it happen, or every high school in the world would be crawling with babies. In other words: feel free to be inspired by Linux all you want. But if you release a binary module that loads and works, you've been doing more than just feeling inspired. And then you need to be _careful_. Linus ^ permalink raw reply [flat|nested] 180+ messages in thread
* Re: Linux GPL and binary module exception clause? 2003-12-05 1:47 ` Linus Torvalds @ 2003-12-10 12:57 ` Andre Hedrick 2003-12-10 15:14 ` Linus Torvalds ` (2 more replies) 0 siblings, 3 replies; 180+ messages in thread From: Andre Hedrick @ 2003-12-10 12:57 UTC (permalink / raw) To: Linus Torvalds; +Cc: Paul Adams, linux-kernel Linus, So basically anyone in the past-present-future who worked on-with-about the linux kernel is now tainted forever. Get real Linus, that would mean everyone would have to segment their brain and it will not happen. The statement that something load means you have applied standard fair use of the api's described in the manual. Since you refuse to set a standard document to become the manual, the source code itself is the manual. Like it or not, your position to force people to read the source code or read "Linux Kernel Internals", "Linux Device Drivers 1 & 2", and/or any other web content from the internet make the kernel a periodical reference. Now that it is a reference, the ideas can be extracted and used however and where ever. The simple fact there are books with ISBN which are verbatium printout of the kernel source for a given snap shot in time, well the ideas are freed and the actual document is an empty shell! Thus case law supports fair use and defines the unprotectable API. Since the headers are the effective API, the are not copyright protected. They can not, do not, and never will be a means test for "derivative works". Clear lines of derivatives if the headers are such, then everything running in the in user space is a derivative. Kernel headers provide the mappings to the compilers and libraries. The libraries and headers in user space will dirty any applications. Simple proof, rm -rf /usr/include/linux and /usr/include/asm. Try to build any application and it will bomb in most cases. So if modules are derived works then so is all of user space. Then again, the linux kernel is an integration of ideas and no longer could stand on its own with out all the contributions. Linux == the sum of the drivers ? The drivers are derivatives of Linux ? Copyright License is such a JOKE, I really wish you would do a Michael Jackson (the white glove grab) and find a way to switch by force to a better license model. OSL 1 and 2 are a preferred choice as they are slowly creaping into the kernel. The beauty and pain of OSL is that SCO would be a NOOP. The requirement imposed on the contributing author to indemnify (sp really bad) the changes/patches to the codebase core, makes it a better world. In short code sets of questionable origin are the liabities of the author and not the community. I know, everyone is going to flame me, Dave Miller is going to kick me off lkml and whippity flip. The majority of the meatballs here do not have Lawyers nor could they afford them. So it comes down to those who have and those who do not. The haves will anyway crush those who don't. Well this should be enough bait to get it going. It is chilly here in California tonight and a little warmth from electrons heat would be good. Cheers, Andre Hedrick LAD Storage Consulting Group PS sorry for the fragmented thoughts it is late. On Thu, 4 Dec 2003, Linus Torvalds wrote: > > > On Thu, 4 Dec 2003, Paul Adams wrote: > > > > A work that is inspired by Linux is no more a derivative work than > > a programmatic musical composition inspired by a novel. Having > > Linux in mind cannot be enough to constitute infringement. > > But it does - you have to include the Linux header files in order to be > able to make any nontrivial module. > > I'm not claiming that "thinking about Linux makes you tainted". It's not > about inspiration. But it's a bit like getting somebody pregnant: you have > to do a lot more than just think about it to actually make it happen, or > every high school in the world would be crawling with babies. > > In other words: feel free to be inspired by Linux all you want. But if you > release a binary module that loads and works, you've been doing more than > just feeling inspired. And then you need to be _careful_. > > Linus > - > To unsubscribe from this list: send the line "unsubscribe linux-kernel" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html > Please read the FAQ at http://www.tux.org/lkml/ > ^ permalink raw reply [flat|nested] 180+ messages in thread
* Re: Linux GPL and binary module exception clause? 2003-12-10 12:57 ` Andre Hedrick @ 2003-12-10 15:14 ` Linus Torvalds 2003-12-10 15:25 ` Larry McVoy 2003-12-12 19:40 ` Pavel Machek 2003-12-15 18:01 ` Adam Sampson 2 siblings, 1 reply; 180+ messages in thread From: Linus Torvalds @ 2003-12-10 15:14 UTC (permalink / raw) To: Andre Hedrick; +Cc: Paul Adams, linux-kernel On Wed, 10 Dec 2003, Andre Hedrick wrote: > > So basically anyone in the past-present-future who worked on-with-about > the linux kernel is now tainted forever. Andre - before you get involved in a flame war, take a deep breath. You know you get too excited about things. Go back and read what I said. I said _nothing_ like the above. Quite the reverse. Also, I don't see what the "API" discussion is. That's a _total_ red herring. There is no "module API", and never has been. Modules have always been about linking against internal kernel functions, and it's always been very clear that there is no API, and that those internal kernel interfaces change _all_ the time. Linus ^ permalink raw reply [flat|nested] 180+ messages in thread
* Re: Linux GPL and binary module exception clause? 2003-12-10 15:14 ` Linus Torvalds @ 2003-12-10 15:25 ` Larry McVoy 2003-12-10 18:58 ` Andre Hedrick 0 siblings, 1 reply; 180+ messages in thread From: Larry McVoy @ 2003-12-10 15:25 UTC (permalink / raw) To: Linus Torvalds; +Cc: Andre Hedrick, Paul Adams, linux-kernel On Wed, Dec 10, 2003 at 07:14:31AM -0800, Linus Torvalds wrote: > Go back and read what I said. I said _nothing_ like the above. Quite the > reverse. Err, you might reread some of what you have said and what people are saying about it. Here are a few references as well as some other interesting links. http://www.mail-archive.com/license-discuss@opensource.org/msg05842.html http://www.mail-archive.com/license-discuss@opensource.org/msg05865.html http://www.mail-archive.com/license-discuss@opensource.org/msg05867.html http://www.mail-archive.com/license-discuss@opensource.org/msg05882.html http://www.mail-archive.com/license-discuss@opensource.org/msg05888.html http://www.rosenlaw.com/html/GL18.pdf http://www.charvolant.org/~doug/gpl/gpl.pdf That's a start, there are a pile more, I'll put them up on a web page when I have some time. -- --- Larry McVoy lm at bitmover.com http://www.bitmover.com/lm ^ permalink raw reply [flat|nested] 180+ messages in thread
* Re: Linux GPL and binary module exception clause? 2003-12-10 15:25 ` Larry McVoy @ 2003-12-10 18:58 ` Andre Hedrick 0 siblings, 0 replies; 180+ messages in thread From: Andre Hedrick @ 2003-12-10 18:58 UTC (permalink / raw) To: Larry McVoy; +Cc: Linus Torvalds, Paul Adams, linux-kernel Larry, Erm, You found where I went and started debating "real lawyers", and then tossed cannon balls into pool of discussion to test reactions. It was fun and I learned alot. I find it an interesting comparison of the BIG GUNS with the degrees and the cork pop guns here on lkml. Cheers, Andre Hedrick LAD Storage Consulting Group On Wed, 10 Dec 2003, Larry McVoy wrote: > On Wed, Dec 10, 2003 at 07:14:31AM -0800, Linus Torvalds wrote: > > Go back and read what I said. I said _nothing_ like the above. Quite the > > reverse. > > Err, you might reread some of what you have said and what people are saying > about it. Here are a few references as well as some other interesting > links. > > http://www.mail-archive.com/license-discuss@opensource.org/msg05842.html > http://www.mail-archive.com/license-discuss@opensource.org/msg05865.html > http://www.mail-archive.com/license-discuss@opensource.org/msg05867.html > http://www.mail-archive.com/license-discuss@opensource.org/msg05882.html > http://www.mail-archive.com/license-discuss@opensource.org/msg05888.html > http://www.rosenlaw.com/html/GL18.pdf > http://www.charvolant.org/~doug/gpl/gpl.pdf > > That's a start, there are a pile more, I'll put them up on a web page when > I have some time. > -- > --- > Larry McVoy lm at bitmover.com http://www.bitmover.com/lm > - > To unsubscribe from this list: send the line "unsubscribe linux-kernel" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html > Please read the FAQ at http://www.tux.org/lkml/ > ^ permalink raw reply [flat|nested] 180+ messages in thread
* Re: Linux GPL and binary module exception clause? 2003-12-10 12:57 ` Andre Hedrick 2003-12-10 15:14 ` Linus Torvalds @ 2003-12-12 19:40 ` Pavel Machek 2003-12-12 22:08 ` Andre Hedrick 2003-12-15 18:01 ` Adam Sampson 2 siblings, 1 reply; 180+ messages in thread From: Pavel Machek @ 2003-12-12 19:40 UTC (permalink / raw) To: Andre Hedrick; +Cc: Linus Torvalds, Paul Adams, linux-kernel Hi! > OSL 1 and 2 are a preferred choice as they are slowly creaping into the > kernel. The beauty and pain of OSL is that SCO would be a NOOP. The > requirement imposed on the contributing author to indemnify (sp really > bad) the changes/patches to the codebase core, makes it a better world. > In short code sets of questionable origin are the liabities of the author > and not the community. Hmm, remind me to never ever touch anything under OSL. Copyright is different in different countries and having $1e9 lawsuit going after _me_ just because U.S. laws are crazy does not seem funny to me. Pavel -- When do you have a heart between your knees? [Johanka's followup: and *two* hearts?] ^ permalink raw reply [flat|nested] 180+ messages in thread
* Re: Linux GPL and binary module exception clause? 2003-12-12 19:40 ` Pavel Machek @ 2003-12-12 22:08 ` Andre Hedrick 2003-12-12 23:06 ` Jamie Lokier 2003-12-12 23:43 ` Pavel Machek 0 siblings, 2 replies; 180+ messages in thread From: Andre Hedrick @ 2003-12-12 22:08 UTC (permalink / raw) To: Pavel Machek; +Cc: Linus Torvalds, Paul Adams, linux-kernel Pavel, So basically you think it is okay to pollute the kernel tree and opensource with information of questionable origin? If this is your position, remind me to remove all code that you have ever touched. You do not get a lawsuit if you have ownership of the code you are submitting. Why should you worry if ethics of good code and content is never in question. I am do not mean to smudge you but you own word (if I understand them) do it for you. Plese correct if I misread. Cheers, Andre Hedrick LAD Storage Consulting Group On Fri, 12 Dec 2003, Pavel Machek wrote: > Hi! > > > OSL 1 and 2 are a preferred choice as they are slowly creaping into the > > kernel. The beauty and pain of OSL is that SCO would be a NOOP. The > > requirement imposed on the contributing author to indemnify (sp really > > bad) the changes/patches to the codebase core, makes it a better world. > > In short code sets of questionable origin are the liabities of the author > > and not the community. > > Hmm, remind me to never ever touch anything under OSL. Copyright is > different in different countries and having $1e9 lawsuit going after > _me_ just because U.S. laws are crazy does not seem funny to me. > > Pavel > -- > When do you have a heart between your knees? > [Johanka's followup: and *two* hearts?] > ^ permalink raw reply [flat|nested] 180+ messages in thread
* Re: Linux GPL and binary module exception clause? 2003-12-12 22:08 ` Andre Hedrick @ 2003-12-12 23:06 ` Jamie Lokier 2003-12-12 23:43 ` Pavel Machek 1 sibling, 0 replies; 180+ messages in thread From: Jamie Lokier @ 2003-12-12 23:06 UTC (permalink / raw) To: Andre Hedrick; +Cc: Pavel Machek, linux-kernel Andre Hedrick wrote: > You do not get a lawsuit if you have ownership of the code you are > submitting. Why should you worry if ethics of good code and content is > never in question. On the Bochs mailing list, someone just asked, paraphrased: "I read an idea in the Bochs source code (which is GPL) and implemented the same idea in another program. The other code is not a copy, I wrote it myself, but it does have some structural similarity. Is the code I wrote a derived work of Bochs which I read and got the idea, thus requiring me to release my code under the GPL?". My point is that sometimes you write something and you _just don't know_ if you "own" the code that you wrote, because you don't know how tainted you are by other things that you have read, seen, heard etc. - in someone else's opinion. When it comes to $1bn lawsuits, someone else's opinion counts more than your own - and you don't know what it's going to be. I do not want to be subject to a potential $1bn lawsuit for something I didn't know I was doing. I may be 99.999% confident I'm doing the right thing even by other people's standards, but in an industry where suing is the modern way to "innovate", I'd much rather work with people whose license and social norms puts the risk where it's most appropriate: with whoever is making money selling stuff and offering to take on that risk as part of the fee. This is one thing the GPL got right. Restricting development _only_ to professional programmers with indemnity insurance is not the way to build a vibrant free software community. -- Jamie ^ permalink raw reply [flat|nested] 180+ messages in thread
* Re: Linux GPL and binary module exception clause? 2003-12-12 22:08 ` Andre Hedrick 2003-12-12 23:06 ` Jamie Lokier @ 2003-12-12 23:43 ` Pavel Machek 1 sibling, 0 replies; 180+ messages in thread From: Pavel Machek @ 2003-12-12 23:43 UTC (permalink / raw) To: Andre Hedrick; +Cc: Linus Torvalds, Paul Adams, linux-kernel Hi! > So basically you think it is okay to pollute the kernel tree and > opensource with information of questionable origin? If this is your > position, remind me to remove all code that you have ever touched. I think it should be okay to put code I wrote into kernel, and put GPLed code into kernel when I keep original author's copyright (I commonly integrate patches from the lists, etc). And I do not want to deal with U.S. courts (or Afghanistan courts, for that matter). > You do not get a lawsuit if you have ownership of the code you are > submitting. As far as I can see, in U.S. you can get lawsuit independend of whether you did anything wrong or not. Pavel -- When do you have a heart between your knees? [Johanka's followup: and *two* hearts?] ^ permalink raw reply [flat|nested] 180+ messages in thread
* Re: Linux GPL and binary module exception clause? 2003-12-10 12:57 ` Andre Hedrick 2003-12-10 15:14 ` Linus Torvalds 2003-12-12 19:40 ` Pavel Machek @ 2003-12-15 18:01 ` Adam Sampson 2003-12-15 21:12 ` Andre Hedrick 2 siblings, 1 reply; 180+ messages in thread From: Adam Sampson @ 2003-12-15 18:01 UTC (permalink / raw) To: Andre Hedrick; +Cc: Linus Torvalds, Paul Adams, linux-kernel Andre Hedrick <andre@linux-ide.org> writes: > OSL 1 and 2 are a preferred choice as they are slowly creaping into > the kernel. The problem with the OSL is that it requires mirror sites to get anybody downloading OSL-licensed software from them to explicitly agree to the license; this is simply not practical, and the result is that it is not feasible to freely mirror OSL-licensed software. This hasn't been fixed with OSL 2, and as such it would be an exceptionally poor choice for any piece of software that you want to be widely distributed, which certainly includes Linux. -- Adam Sampson <azz@us-lot.org> <http://offog.org/> ^ permalink raw reply [flat|nested] 180+ messages in thread
* Re: Linux GPL and binary module exception clause? 2003-12-15 18:01 ` Adam Sampson @ 2003-12-15 21:12 ` Andre Hedrick 0 siblings, 0 replies; 180+ messages in thread From: Andre Hedrick @ 2003-12-15 21:12 UTC (permalink / raw) To: Adam Sampson; +Cc: linux-kernel I quit ... all of you win. Just remember, had OSL been in place IBM would not need to exercise patents against SCO. Caldera and Canopy Group would be liable for their own pollution of the code stream. Next OSl provides a means to recover legal fees for the author, and GPL does not. So unless you have a FAT WALLET, you can not defend you works. Oh yeah, just give all your copyright works to FSF and they will defend it and get any of the finacial rewards and you get ZERO! Later ... Andre Hedrick LAD Storage Consulting Group On Mon, 15 Dec 2003, Adam Sampson wrote: > Andre Hedrick <andre@linux-ide.org> writes: > > > OSL 1 and 2 are a preferred choice as they are slowly creaping into > > the kernel. > > The problem with the OSL is that it requires mirror sites to get > anybody downloading OSL-licensed software from them to explicitly > agree to the license; this is simply not practical, and the result is > that it is not feasible to freely mirror OSL-licensed software. This > hasn't been fixed with OSL 2, and as such it would be an exceptionally > poor choice for any piece of software that you want to be widely > distributed, which certainly includes Linux. > > -- > Adam Sampson <azz@us-lot.org> <http://offog.org/> > ^ permalink raw reply [flat|nested] 180+ messages in thread
end of thread, other threads:[~2003-12-15 21:19 UTC | newest] Thread overview: 180+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2003-12-04 23:50 Linux GPL and binary module exception clause? Paul Adams 2003-12-05 0:07 ` Nick Piggin 2003-12-05 2:07 ` Kendall Bennett 2003-12-05 15:57 ` Thierry Vignaud 2003-12-05 4:23 ` Peter Chubb 2003-12-05 4:42 ` Nick Piggin 2003-12-05 8:23 ` Peter Chubb 2003-12-05 17:19 ` Linus Torvalds 2003-12-05 18:42 ` Jeremy Fitzhardinge 2003-12-05 5:13 ` Valdis.Kletnieks 2003-12-05 5:26 ` Hua Zhong 2003-12-05 6:34 ` David Schwartz 2003-12-05 6:58 ` Linus Torvalds 2003-12-05 11:16 ` David Schwartz 2003-12-05 13:34 ` Anders Karlsson 2003-12-05 14:03 ` Ryan Anderson 2003-12-05 16:38 ` Shawn Willden 2003-12-05 16:54 ` Arjan van de Ven 2003-12-05 17:03 ` Shawn Willden 2003-12-05 22:36 ` Derek Fawcus 2003-12-05 17:34 ` Linus Torvalds 2003-12-05 17:35 ` Hua Zhong 2003-12-05 18:12 ` Filip Van Raemdonck 2003-12-05 18:37 ` Hua Zhong 2003-12-05 19:56 ` 'Filip Van Raemdonck' 2003-12-05 20:26 ` Hua Zhong 2003-12-06 0:08 ` Filip Van Raemdonck 2003-12-05 19:55 ` David Schwartz 2003-12-05 20:14 ` Linus Torvalds 2003-12-05 21:16 ` Shawn Willden 2003-12-09 0:17 ` Kernel 2.6-test10 on an Opteron Ananda Bhattacharya 2003-12-09 12:16 ` Petr Sebor 2003-12-09 20:31 ` bill davidsen 2003-12-08 15:38 ` Linux GPL and binary module exception clause? Jesse Pollard 2003-12-05 14:59 ` Jesse Pollard 2003-12-05 19:15 ` Kendall Bennett 2003-12-05 18:44 ` Kendall Bennett 2003-12-05 19:09 ` Valdis.Kletnieks 2003-12-05 19:22 ` Arjan van de Ven 2003-12-10 13:52 ` Andre Hedrick 2003-12-10 15:18 ` Linus Torvalds 2003-12-10 15:32 ` Larry McVoy 2003-12-10 16:21 ` Linus Torvalds 2003-12-10 16:34 ` Larry McVoy 2003-12-10 17:10 ` Linus Torvalds 2003-12-10 17:25 ` Chris Friesen 2003-12-10 17:58 ` Linus Torvalds 2003-12-10 17:56 ` Larry McVoy 2003-12-10 18:02 ` Linus Torvalds 2003-12-10 18:08 ` Larry McVoy 2003-12-10 18:17 ` Linus Torvalds 2003-12-10 18:38 ` Larry McVoy 2003-12-10 19:15 ` Linus Torvalds 2003-12-11 0:50 ` Driver API (was Re: Linux GPL and binary module exception clause?) Hannu Savolainen 2003-12-11 4:01 ` Peter Chubb 2003-12-11 15:47 ` Jason Kingsland 2003-12-11 22:47 ` Peter Chubb 2003-12-11 10:06 ` viro 2003-12-11 12:47 ` Hannu Savolainen 2003-12-11 13:33 ` viro 2003-12-11 14:54 ` Hannu Savolainen 2003-12-10 18:37 ` Linux GPL and binary module exception clause? Jan-Benedict Glaw 2003-12-10 19:51 ` Hua Zhong 2003-12-10 20:09 ` Andre Hedrick 2003-12-11 1:24 ` Andrew Pimlott 2003-12-11 7:43 ` Rob Landley 2003-12-11 8:11 ` Hua Zhong 2003-12-11 8:37 ` Rob Landley 2003-12-11 18:22 ` Hua Zhong 2003-12-11 21:20 ` Andre Hedrick 2003-12-11 21:59 ` Rob Landley 2003-12-11 22:42 ` Andre Hedrick 2003-12-12 5:39 ` Rob Landley 2003-12-12 7:21 ` Andre Hedrick 2003-12-12 7:39 ` Rob Landley 2003-12-12 7:56 ` Andre Hedrick 2003-12-12 9:27 ` Rob Landley 2003-12-10 18:14 ` David Schwartz 2003-12-10 18:21 ` Linus Torvalds 2003-12-10 19:48 ` Kendall Bennett 2003-12-11 7:32 ` Rob Landley 2003-12-11 14:03 ` Geert Uytterhoeven 2003-12-10 22:49 ` Oliver Hunt 2003-12-10 17:15 ` Hua Zhong 2003-12-10 17:42 ` Linus Torvalds 2003-12-10 19:32 ` Andre Hedrick 2003-12-10 22:43 ` Jason Kingsland 2003-12-10 22:49 ` Andre Hedrick 2003-12-10 23:11 ` Linus Torvalds 2003-12-10 23:24 ` Andre Hedrick 2003-12-10 19:48 ` Kendall Bennett 2003-12-10 21:15 ` viro 2003-12-10 22:36 ` Kendall Bennett 2003-12-10 23:13 ` viro 2003-12-11 15:29 ` Jesse Pollard 2003-12-11 18:47 ` Kendall Bennett 2003-12-11 18:55 ` Nick Piggin 2003-12-11 22:18 ` Jesse Pollard 2003-12-10 22:18 ` Larry McVoy 2003-12-10 22:25 ` Andre Hedrick 2003-12-10 23:38 ` Linus Torvalds 2003-12-11 1:03 ` Larry McVoy 2003-12-11 14:46 ` Ingo Molnar 2003-12-10 23:39 ` Andrea Arcangeli 2003-12-11 17:44 ` Robin Rosenberg 2003-12-11 17:56 ` Valdis.Kletnieks 2003-12-11 18:16 ` Nick Piggin 2003-12-11 18:50 ` Mihai RUSU 2003-12-11 18:37 ` David Schwartz 2003-12-11 12:04 ` David Woodhouse 2003-12-10 17:49 ` Jörn Engel 2003-12-10 18:16 ` Andre Hedrick 2003-12-05 19:25 ` Kendall Bennett 2003-12-05 19:26 ` Linus Torvalds 2003-12-05 15:50 ` Valdis.Kletnieks 2003-12-05 18:44 ` Kendall Bennett 2003-12-06 0:02 ` Maciej Zenczykowski 2003-12-05 18:44 ` Kendall Bennett 2003-12-10 13:16 ` Andre Hedrick 2003-12-10 15:02 ` Jesse Pollard 2003-12-10 20:37 ` Theodore Ts'o 2003-12-11 16:26 ` Jesse Pollard 2003-12-05 13:52 ` Richard B. Johnson 2003-12-05 0:09 ` Oliver Hunt 2003-12-05 10:55 ` Russell King 2003-12-05 0:46 ` Erik Andersen 2003-12-05 0:58 ` Zwane Mwaikambo 2003-12-05 1:03 ` Erik Andersen 2003-12-05 1:21 ` Larry McVoy 2003-12-05 1:30 ` Hua Zhong 2003-12-05 1:58 ` Linus Torvalds 2003-12-06 3:00 ` Larry McVoy 2003-12-06 4:39 ` Linus Torvalds 2003-12-06 5:14 ` Larry McVoy 2003-12-06 5:48 ` Linus Torvalds 2003-12-06 17:14 ` Larry McVoy 2003-12-06 15:38 ` Theodore Ts'o 2003-12-06 16:47 ` Jason Kingsland 2003-12-06 21:30 ` David Schwartz 2003-12-06 21:42 ` Larry McVoy 2003-12-07 13:01 ` Ingo Molnar 2003-12-07 22:11 ` Rob Landley 2003-12-06 14:13 ` Andrew Pimlott 2003-12-06 17:50 ` Larry McVoy 2003-12-06 21:19 ` Theodore Ts'o 2003-12-06 21:45 ` Larry McVoy 2003-12-08 16:34 ` Andrew Pimlott 2003-12-11 12:37 ` David Woodhouse 2003-12-11 12:42 ` Andre Hedrick 2003-12-11 12:58 ` David Woodhouse 2003-12-12 20:26 ` Brian Beattie 2003-12-13 12:03 ` David Woodhouse 2003-12-13 15:04 ` jeff millar 2003-12-13 17:27 ` Gene Heskett 2003-12-14 0:51 ` Linux, Inc. (Re: Linux GPL and binary module exception clause?) Andre Hedrick 2003-12-14 1:06 ` Andre Hedrick 2003-12-14 2:40 ` David S. Miller 2003-12-14 2:37 ` Andre Hedrick 2003-12-14 6:55 ` Rob Landley 2003-12-14 6:35 ` Rob Landley 2003-12-11 13:54 ` Linux GPL and binary module exception clause? Andrew Pimlott 2003-12-11 15:12 ` David Woodhouse 2003-12-05 3:58 ` Jason Kingsland 2003-12-05 1:58 ` David Schwartz 2003-12-05 4:58 ` Erik Andersen 2003-12-05 6:34 ` David Schwartz 2003-12-05 6:43 ` Linus Torvalds 2003-12-05 2:07 ` Kendall Bennett 2003-12-05 7:39 ` Stefan Smietanowski 2003-12-05 1:47 ` Linus Torvalds 2003-12-10 12:57 ` Andre Hedrick 2003-12-10 15:14 ` Linus Torvalds 2003-12-10 15:25 ` Larry McVoy 2003-12-10 18:58 ` Andre Hedrick 2003-12-12 19:40 ` Pavel Machek 2003-12-12 22:08 ` Andre Hedrick 2003-12-12 23:06 ` Jamie Lokier 2003-12-12 23:43 ` Pavel Machek 2003-12-15 18:01 ` Adam Sampson 2003-12-15 21:12 ` Andre Hedrick
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).