User: Password:
|
|
Subscribe / Log in / New account

A position statement on closed-source kernel modules

From:  Greg KH <greg-AT-kroah.com>
To:  linux-kernel-AT-vger.kernel.org
Subject:  [ANNOUNCE] Position Statement on Linux Kernel Modules
Date:  Sun, 22 Jun 2008 22:01:18 -0700
Message-ID:  <20080623050118.GA22852@kroah.com>

Hi,

As part of the Linux Foundation Technical board, we confront the issue
of closed source Linux kernel modules all the time, and we wanted to do
something that could be seen as a general "public statement" about them
that is easy to understand and point to when people have questions.

So, after working on this for a while, and asking some of the other
major contributors and maintainers of the kernel, what we have is below.

There is also a site at:
	http://www.linuxfoundation.org/en/Device_driver_statement
that contains a link to a statement from the Linux Foundation about this
topic, as well as some more descriptions and background information, and
a copy of the full statement as well.

I've also put a pretty pdf version at:
	http://www.kernel.org/pub/linux/kernel/people/gregkh/lkm_...
in case people want to print it out :)

If there are any kernel developers who want to add their names to this
statement, please let me know by private email and I will be glad to add
it.

thanks,

greg k-h

------------------------------

Position Statement on Linux Kernel Modules
June 2008

We, the undersigned Linux kernel developers, consider any closed-source
Linux kernel module or driver to be harmful and undesirable.  We have
repeatedly found them to be detrimental to Linux users, businesses, and
the greater Linux ecosystem.  Such modules negate the openness,
stability, flexibility, and maintainability of the Linux development
model and shut their users off from the expertise of the Linux
community.  Vendors that provide closed-source kernel modules force
their customers to give up key Linux advantages or choose new vendors.
Therefore, in order to take full advantage of the cost savings and
shared support benefits open source has to offer, we urge vendors to
adopt a policy of supporting their customers on Linux with open-source
kernel code.

We speak only for ourselves, and not for any company we might work for
today, have in the past, or will in the future.

	Dave Airlie
	Jens Axboe
	Ralf Baechle
	Arnd Bergmann
	Vitaly Bordug
	James Bottomley
	Josh Boyer
	Neil Brown
	Mark Brown
	David Brownell
	Michael Buesch
	Franck Bui-Huu
	Adrian Bunk
	Ralph Campbell
	Mauro Carvalho Chehab
	Denis Cheng
	Jonathan Corbet
	Glauber Costa
	Alan Cox
	Magnus Damm
	Ahmed S. Darwish
	Robert P. J. Day
	Helge Deller
	Jean Delvare
	Mathieu Desnoyers
	Alexey Dobriyan
	Daniel Drake
	Alex Dubov
	Randy Dunlap
	Michael Ellerman
	Jan Engelhardt
	Mark Fasheh
	J. Bruce Fields
	Larry Finger
	Jeremy Fitzhardinge
	Mike Frysinger
	Kumar Gala
	Robin Getz
	Liam Girdwood
	Thomas Gleixner
	Brice Goglin
	Cyrill Gorcunov
	Andy Gospodarek
	Thomas Graf
	Harvey Harrison
	Stephen Hemminger
	Michael Hennerich
	Tejun Heo
	Benjamin Herrenschmidt
	Kristian Høgsberg
	Henrique de Moraes Holschuh
	Marcel Holtmann
	Mike Isely
	Takashi Iwai
	Olof Johansson
	Dave Jones
	Jesper Juhl
	Matthias Kaehlcke
	Kenji Kaneshige
	Jan Kara
	Jeremy Kerr
	Russell King
	Olaf Kirch
	Roel Kluin
	Hans-JÃ?rgen Koch
	Auke Kok
	Jiri Kosina
	Mariusz Kozlowski
	Greg Kroah-Hartman
	Michael Krufky
	Aneesh Kumar
	Clemens Ladisch
	Christoph Lameter
	Grant Likely
	John W. Linville
	Yinghai Lu
	Tony Luck
	Pavel Machek
	Matt Mackall
	Roland McGrath
	Patrick McHardy
	Kyle McMartin
	Paul Menage
	Thierry Merle
	Eric Miao
	Akinobu Mita
	Ingo Molnar
	Andrew Morton
	Paul Mundt
	Oleg Nesterov
	Luca Olivetti
	Pierre Ossman
	Venkatesh Pallipadi
	Nick Piggin
	Nicolas Pitre
	Richard Purdie
	Mike Rapoport
	Sam Ravnborg
	Gerrit Renker
	Stefan Richter
	David Rientjes
	Stefan Roese
	Francois Romieu
	Stephen Rothwell
	Maciej W. Rozycki
	Mark Salyzyn
	Yoshinori Sato
	Holger Schurig
	Yoshihiro Shimoda
	Sergei Shtylyov
	Kay Sievers
	Alexey Starikovskiy
	Alan Stern
	Hirokazu Takata
	Eliezer Tamir
	Doug Thompson
	FUJITA Tomonori
	Dmitry Torokhov
	Marcelo Tosatti
	Steven Toth
	Theodore Tso
	Geert Uytterhoeven
	Arjan van de Ven
	Ivo van Doorn
	Wim Van Sebroeck
	Hans Verkuil
	Anton Vorontsov
	Daniel Walker
	Dan J. Williams
	Darrick J. Wong
	David Woodhouse
	Chris Wright
	Bryan Wu
	Rafael J. Wysocki
	Herbert Xu
	Vlad Yasevich
	Peter Zijlstra
	Bartlomiej Zolnierkiewicz

--
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/


(Log in to post comments)

A position statement on closed-source kernel modules

Posted Jun 23, 2008 13:54 UTC (Mon) by tnoo (subscriber, #20427) [Link]

Most prominently one name is missing here (*):

 Dmitry Torokhov
 (*)
 Marcelo Tosatti

A position statement on closed-source kernel modules

Posted Jun 23, 2008 14:17 UTC (Mon) by Duncan (guest, #6647) [Link]

I noticed that as well.  Based on past statements, I think he's rather 
more willing to deal with closed modules than some, and probably doesn't 
consider them so flatly "harmful and undesirable" under all conditions, at 
least not to the point he was willing to sign the statement.

Duncan

A position statement on closed-source kernel modules

Posted Jun 23, 2008 15:04 UTC (Mon) by dmarti (subscriber, #11625) [Link]

"I'm a complete non-believer in binary modules" -- Linus Torvalds

A position statement on closed-source kernel modules

Posted Jun 23, 2008 14:36 UTC (Mon) by ctg (guest, #3459) [Link]

It's quite undermining of the whole position - after all, it is _his_ kernel (or a least,
commonly viewed as such).

A position statement on closed-source kernel modules

Posted Jun 23, 2008 14:55 UTC (Mon) by ctg (guest, #3459) [Link]

I meant to add:

If you are aiming this at "corporates" (after all, who else develops closed source drivers) it
should, ideally, be the statement of the Linux Foundation itself, as this would have far more
weight that what, to the uninitiated, looks like a load of pseudo-random individuals.

A position statement on closed-source kernel modules

Posted Jun 23, 2008 15:28 UTC (Mon) by rsidd (subscriber, #2582) [Link]

Other notable missing names I noticed: Al Viro, David Miller.

In Linus's case, it could be that he doesn't want to take an official position (which could be
construed as being "on behalf of" the project), regardless of his own opinions.  This could be
because binary modules aren't being outlawed anytime soon...

doomed without the mad russian

Posted Jun 23, 2008 15:30 UTC (Mon) by dankamongmen (subscriber, #35141) [Link]

Nothing worth doing gets done without Alexey Kuznetsov!

or garzik. or rusty.


In the interest of full disclosure

Posted Jun 23, 2008 14:40 UTC (Mon) by mattdm (subscriber, #18) [Link]

It's worth mentioning that the editor of this website is a signatory.

On another note, it'd be interesting to compare the names here with some of the recent-ish
articles about where kernel development comes from. What percentage of active kernel
contributors (by various metrics) is accounted for here?

A position statement on closed-source kernel modules

Posted Jun 23, 2008 14:48 UTC (Mon) by dcoutts (guest, #5387) [Link]

I note there is no mention of the legal status.

A position statement on closed-source kernel modules

Posted Jun 23, 2008 15:26 UTC (Mon) by hmh (subscriber, #3838) [Link]

Yes, it lacks the legal status on purpose.

Legal status varies depending on your local laws.

So What?

Posted Jun 23, 2008 14:58 UTC (Mon) by endecotp (guest, #36428) [Link]

Without saying something like, "furthermore, we believe that the kernel license should be
changed to prohibit such modules", or "furthermore, we believe that such modules are already
prohibited by the kernel's license", this doesn't really say very much.

The people supplying these modules are, on the whole, only really concerned with what they are
legally allowed to do, and with what will make them money and what won't; not with what some
people do or don't "urge them" to do.

So What?

Posted Jun 23, 2008 15:23 UTC (Mon) by foo (guest, #1117) [Link]

It's a shot across the bow.  Companies move slowly, and
if the kernel folk were to do something drastic like say
"no more binary modules", many companies would see at as
a bolt from the blue and be looking prevent being
vulnerable to such a thing again.

With this formal heads-up, companies have time to react
in ways they find acceptable.

So What?

Posted Jun 23, 2008 21:53 UTC (Mon) by grahammm (subscriber, #773) [Link]

Even if binary kernel modules were to be banned with immediate effect, it would not (or should
not) be a 'bolt out of the blue'. Binary modules already taint any kernel which uses them, and
the issue of EXPORT_SYMBOL_GPL is by no means new. So the complete ban of binary modules would
just be an extension of the way things have been progressing for the last few years and not a
'bolt out of the blue'. 

So What?

Posted Jun 23, 2008 17:17 UTC (Mon) by iabervon (subscriber, #722) [Link]

The people supplying these modules (and the people supplying a lot of open source ones, too)
are only really concerns with what will make them money (what they're not legally allowed to
do is simply something that has a high chance of future financial risk, so a special case).

So the question they ask is: Will binary modules provide us enough income to cover the cost of
developing them? That seems these days to mean: Will OEMs that care about Linux support use
our hardware if there's a binary driver for it but no open source driver?

Now, if hardware vendors think that OEMs will accept this letter as the basis for deciding
whether hardware is suitable for inclusion in Linux-friendly systems, then it will have a huge
effect: providing a binary driver won't get a vendor any new sales; it'll only make unhappy
customers a bit less unhappy, but no more likely to buy from them again, and it will primarily
benefit users who didn't make the purchasing decision anyway.

The letter avoids the disputable question of whether you're allowed to write binary-only
modules, in favor of the more clear and applicable question of whether there's any point to
writing binary-only modules, to which the answer really is: nVidia can probably get some
benefit out of it for the chipsets in the pipeline currently; otherwise, don't bother. (If it
were only a question of legality, vendors would all switch to providing binary-only drivers
for BSD, where it's obviously legal but just as obviously pointless; everybody who wants
drivers for BSD doesn't want binary-only drivers)

So What?

Posted Jun 23, 2008 19:27 UTC (Mon) by sepreece (guest, #19270) [Link]

I agree - the statement oddly without an operational conclusion. I suppose it does help to be
on the record and that there probably are some companies that would be swayed by the authors'
intentions. 

I suspect that a US lawyer could raise this statement ("it's a bad idea and bad for your
customers") as a concession that such modules aren't prohibited by the license, simply because
the developers argued against their use without arguing they are prohibited. On the other
hand, it might be that in countries that observe authors' moral rights, this statement might
have some weight [IANAL].

[Disclaimer: As a non-kernel developer, my opinion doesn't matter, but I'll share it anyway in
the interests of full disclosure - I strongly support this statement and would advise anyone
who asked to not create binary-only kernel modules, but I also believe that they are almost
certainly fair use and not license violations.]

So What?

Posted Jun 23, 2008 22:58 UTC (Mon) by mmarsh (subscriber, #17029) [Link]

Of course our opinions as non-kernel-developers matter.  We're the mind-share; we're the
customers.  I returned a wireless card because the chipset on it wouldn't work with a Free
driver.  We demanded computers with Linux pre-installed, and there were enough of us that
manufacturers provided computers with Linux pre-installed.  We can choose distributions
appropriately for our own use, and we can choose or reject devices running embedded Linux.
How we, as the end users of Linux, view non-Free kernel modules matters a great deal.

Never happen...

Posted Jun 26, 2008 12:44 UTC (Thu) by mkflint (guest, #50223) [Link]

"furthermore, we believe that the kernel license should be
changed to prohibit such modules"

It'll never happen. Breaking core functionality (graphics drivers, WiFi drivers, etc) on such
a wide scale would hurt users and make the community look utterly stupid. Totally
counter-productive.

Never happen...

Posted Jun 27, 2008 15:09 UTC (Fri) by shane (subscriber, #3335) [Link]

It'll never happen. Breaking core functionality (graphics drivers, WiFi drivers, etc) on such a wide scale would hurt users and make the community look utterly stupid. Totally counter-productive.

Well, since in the video card world you are basically only talking about Nvidia, and most modern wireless devices support open source, I think it is more of a matter of time (years, admittedly) rather than "never".

A position statement on closed-source kernel modules

Posted Jun 23, 2008 19:45 UTC (Mon) by lrosen (guest, #31972) [Link]

If the Linux Foundation "Position Statement" is truly intended only to "urge vendors to adopt
a policy of supporting their customers on Linux with open-source kernel code," then I can
agree with that. But it is entirely another thing if they intend that vendors who don't
disclose their driver source code be condemned as copyright infringers.

The notion that linking of any sort produces a derivative work is nonsense. Copyright deals
exclusively with *expressive* works, and only if a work is *expressively* derivative of
another do we have a copyright infringement issue.

Linking is a functional thing, necessary solely to effectuate a functional interworking
between two programs. Functionality is not part of the copyright regime. 17 USC 102(a)
contrasted with 17 USC 102(b). 

As long as a FOSS license expressly authorizes the making of verbatim copies of a work (and
the GPL and all other FOSS licenses do that!) then the verbatim copying of a FOSS work to make
it interwork with another program is NOT COPYRIGHT INFRINGEMENT. Such linking is within the
scope of the license and the copyright law and hence authorized.

This is the way copyright law works regardless of what Linux developers or the FSF might wish
for. The fact is that the GPL and LGPL have the exact same effect on copyrighted works with
respect to linking for functional purposes.

I also argue that this is an appropriate result given the relative merits of copyright and
patent. Copyright is essentially forever. We don't want authors--even responsible and generous
Linux kernel developers--to lock up their technology for functional interworking simply by
placing a copyright notice on it. The only way to lock up functionality is through patents,
and those are temporary and ought to be hard-to-get. 

/Larry

A position statement on closed-source kernel modules

Posted Jun 23, 2008 21:31 UTC (Mon) by Tet (subscriber, #5433) [Link]

This is the way copyright law works regardless of what Linux developers or the FSF might wish for.

My understanding is that's not strictly true either. Copyright law (indeed, all law) works the way a given judge deems it to work. Lawyers can have varying opinions on which way a judge is likely to rule in any given area, and advise their clients accordingly. The FSF have one view on that here, and you have another. Since both you and the Eben Moglen et al are far better versed in legal matters than I am, I'll defer to your judgement. But given that you appear to have differing opinions here, whose do I trust? Surely ultimately it comes down to how the judge rules when the issue gets its day in court? Isn't anything else just (informed) opinion?

A position statement on closed-source kernel modules

Posted Jun 24, 2008 0:11 UTC (Tue) by lrosen (guest, #31972) [Link]

Perhaps Eben Moglen will speak up himself rather than be quoted (or perhaps misquoted)?

A position statement on closed-source kernel modules

Posted Jun 23, 2008 21:44 UTC (Mon) by chromatic (guest, #26207) [Link]

> Copyright deals exclusively with *expressive* works, and only if a work
> is *expressively* derivative of another do we have a copyright
> infringement issue.

Let's try a thought experiment.

Take a kernel driver.  Link it against two sets of headers.  One is the standard set of Linux
kernel headers from the most recent stable kernel release.  Another is a complete clean-room
reimplementation of the same kernel headers.

If the two binary blobs produced differ by even one bit, then are the binary blobs not
derivative works of the headers?  The source code may not be derivative at all, but if your
clients wanted to distribute source code and never a binary blob, this wouldn't be an issue.

A position statement on closed-source kernel modules

Posted Jun 24, 2008 2:22 UTC (Tue) by lrosen (guest, #31972) [Link]

You'll enjoy reading SFLC's article on derivative works: 

http://www.softwarefreedom.org/resources/2007/originality.... 


A position statement on closed-source kernel modules

Posted Jun 24, 2008 12:26 UTC (Tue) by grantingram (guest, #18390) [Link]

Well we might all enjoy the SFLC's article on derivative works but it is not the linked
article!  

The linked article is about originality and as far as I can see says not very much about
derivative works and it doesn't explicitly mention derivative works where you have two
different authors.  

A position statement on closed-source kernel modules

Posted Jun 24, 2008 8:17 UTC (Tue) by ekj (guest, #1524) [Link]

No. It's not automatically a "derivative" of Linux just because it has a single bit in its
image changed by Linux.

Copyright deals with creative works, thus merely being influenced in some mechanical fashion
is not enough. The -content- matters, not the bits as such.

For this reason, Harry Potter retold in your own words, in Sanskrit, would still be a
derivative of the original, even if you took great care that not a single sentence is the same
whereas another book very well could NOT be a derivative even if it DID happen to share a few
dozen sentences with the harry potter books.


A position statement on closed-source kernel modules

Posted Jun 23, 2008 21:48 UTC (Mon) by dmarti (subscriber, #11625) [Link]

Larry, imagine if it were something like,

"We, the maintainers of the exampleware SMTP library, which is under the GPL, believe that
email spam is bad."

The maintainers aren't saying that they'll try to block spammers' right to use the library, or
that a particular spammer is or isn't breaking the law -- just that if you get on the
exampleware mailing list and ask for help using the library to send spam you're not likely to
get far.

A position statement on closed-source kernel modules

Posted Jun 24, 2008 0:15 UTC (Tue) by lrosen (guest, #31972) [Link]

As I tried to say, if the kernel developers are stating a desire, or even a policy with
respect to their own involvement and support for non-open software, I welcome it and share
that goal. My concern is only that some have translated that into a legal imperative, which it
isn't.

Another counterexample?

Posted Jun 23, 2008 22:32 UTC (Mon) by man_ls (guest, #15091) [Link]

So all I need to reuse your GPL software is to make it into a library (still under the GPL) and link to it. I can use as much of its functionality as I want, engrain it as deeply as I like, but as long as I just link to it I should be safe. For example I may take your painfully created GPL office software, use it as a huge GPL library, stick my proprietary user interface on it -- and the result is not a derivative work of the original package. I can have my cake and eat it. Is that so?

It follows that the business models of QT and MySQL, to give two known examples, are utterly flawed. They distribute their software under the GPL, so anyone linking to it (even in utterly proprietary software) ought to be safe. Shouldn't they be worried?

Another counterexample?

Posted Jun 24, 2008 0:23 UTC (Tue) by lrosen (guest, #31972) [Link]

If their business model is based upon misinformation about the reach of the GPL, then they
ought to worry. But I have it on good authority that neither QT or MySQL are dependent upon
that view of GPL.

Another counterexample?

Posted Jun 24, 2008 4:05 UTC (Tue) by rahulsundaram (subscriber, #21946) [Link]

I would be interested to hear about their view of GPL then. 

Another counterexample?

Posted Jun 24, 2008 5:34 UTC (Tue) by frazier (guest, #3060) [Link]

Both MySQL (now part of Sun) and QT (unless Nokia has changed this) can be proprietary
licensed from their respective companies:

http://trolltech.com/products/qt/orderform
http://www.mysql.com/about/legal/licensing/

How this is possible is that, unlike the Linux kernel which has a lots of copyright holders,
or one of many free software projects that has the copyright assigned to the FSF, the
copyright is owned and controlled by a single commercial entity. This allows them to offer two
(or more) sets of terms that run parallel. In the case of QT and MySQL, this allows them to
offer non-GPL compliant licenses for a fee.


Another counterexample?

Posted Jun 24, 2008 7:35 UTC (Tue) by michaeljt (subscriber, #39183) [Link]

Now you have got me interested - are you really saying (as an informal, non-legal statement of
course) that I could legally distribute a closed-source binary that links against the GPL
version of Qt?

Another counterexample?

Posted Jun 24, 2008 15:43 UTC (Tue) by tetromino (subscriber, #33846) [Link]

Programmer A writes a Gtk+ emulation layer on top of Qt, and releases his result under the
GPL.
Programmer B writes a closed-source Gtk+ program, and links it to A's wrapper.
A and B don't talk to each other.

I am not a lawyer, but I am guessing that if you put A's library and B's program on one CD and
sell it, you are not violating the GPL (since aggregation is not a derivative work, see
article 2 of GPL-2).

Another counterexample?

Posted Jun 25, 2008 10:23 UTC (Wed) by dwmw2 (subscriber, #2063) [Link]

I am not a lawyer, but I am guessing that if you put A's library and B's program on one CD and sell it, you are not violating the GPL (since aggregation is not a derivative work, see article 2 of GPL-2).
Putting two unrelated programs on a CD probably would count as "mere aggregation on a volume of a storage or distribution medium". But your reasoning in parentheses is a little suspect...

§2 of the the GPL (v2) explicitly states that it applies to collective works — and collective works are aggregation, by definition.

The GPL goes on to make an exception for "mere aggregation on a volume of a storage or distribution medium". That's not a particularly specific definition, and people could argue about precisely what it means for ever — although that argument would be fairly pointless because there is no "right" answer until/unless a court has ruled on it. In your particular jurisdiction.

However, what we can manage for ourselves, as laypeople, is to eliminate the interpretations which are meaningless and contradictory. For example, if that "mere aggregation on a volume of a storage or distribution medium" paragraph actually excuses all forms of aggregation, which includes all collective works, then the two preceding paragraphs of the GPL — the ones which talk about the GPL applying to sections of a collective work which, if distributed separately, would be considered independent and separate works in themselves — would be a particularly verbose no-op.

I don't particularly want to get into a long discussion about precisely what would count as "mere aggregation on a volume of a storage or distribution medium", but I think it's a fairly safe bet to assume that a court isn't going to rule that the GPL is self-contradictory and it actually means to except all forms of aggregation from its terms.

Another counterexample?

Posted Jun 24, 2008 21:11 UTC (Tue) by man_ls (guest, #15091) [Link]

Care to elaborate? Just an authority based on your authority (a second-hand authority if you will) is not a good argument on itself.

Of course linking is not the concern of copyright, just as compiling isn't; as tialaramex explains below, it is writing code and distributing it (or a derived work such as the compiled binary) that can be doubtful. But is it the joint distribution of the linked code that makes software a derived work, or is it using internal interfaces, or what specifically?

The MySQL and Qt examples would point to joint distribution, since those writing proprietary packages based on them usually rely on published interfaces (such as SQL); in which case the "received wisdom" on the Linux kernel about published vs internal interfaces and GPL-only symbols does not hold. But of course this is just hearsay; a qualified opinion would be most interesting.

Another counterexample?

Posted Jun 27, 2008 16:12 UTC (Fri) by giraffedata (subscriber, #1954) [Link]

I had the same thought that Larry missed the point when he implied people are saying linking is a copyright infringement. It is, instead, the preparation of and distribution of a derivative work that is thought by some to be a copyright infringement.

But the derivative work argument I have seen does not talk about distributing a linked combination. The derivative work is the Nvidia driver all by itself. That would mean distributing the driver alone, or even creating it in the first place is controlled by copyright law (so requires the permission of the authors of Linux).

Though this seems strange, the analog that is apparently well accepted in classic copyright is writing of a sequel to someone else's book. If you use the same characters, settings, etc., you need the permission of the author of the original.

Extending that to loadable kernel modules, the argument I've seen considers it significant that the module's entire purpose is to extend that one work -- just like a book sequel.

A position statement on closed-source kernel modules

Posted Jun 23, 2008 23:01 UTC (Mon) by arjan (subscriber, #36785) [Link]

Larry, I know you're a lawyer so you think legal things...
but this statement very deliberately is NOT about anything legal.

It's about the consequences and effects that binary modules have for users and Linux.

A position statement on closed-source kernel modules

Posted Jun 24, 2008 0:26 UTC (Tue) by lrosen (guest, #31972) [Link]

To that extent, I agree with the published position statement. (I already said so!) I'm merely
making the point that theirs is not a legal statement about device drivers and Linux, and
ought not to be treated as such. /Larry

Linking

Posted Jun 24, 2008 10:02 UTC (Tue) by tialaramex (subscriber, #21167) [Link]

(This is essentially a side-issue, because no-one seems to be talking about trying to send
lawyers after the makers of binary modules, but it's worth addressing because it's about the
GPL vs LGPL rules which, contrary to lrosen's claim, I believe are important and beneficial)

The argument you've made for linking can be made about lots of processes in the production of
a literary work. But no-one has successfully made these arguments to a court in all these long
years, so either they don't believe it, or the judges don't.

The "creativity" component of copyright is whitewash. Maybe you'd argue that it shouldn't be,
but with courts content to determine arbitrary collections of information as "sufficiently"
creative for copyright protection I don't think your argument will stand up.

Actually I don't think we even need to go that far. You haven't mentioned distribution.
Neither the GPL nor LGPL care what you do with the protected code so long as you don't
distribute it. If you want to take a GPL'd program (say GCC) and re-factor it as a library for
integration into your own software no-one gives a hoot.

But if you distribute the resulting product under a proprietary license you are infringing
even if you rely on a third party to do the actual linking. This is for two reasons. Firstly
because the law doesn't only care who pulled the trigger (hiring someone else to kill your
wife doesn't make you innocent of murder). But secondly because you have no choice but to copy
"sufficiently" expressive/ creative elements like arbitrary human-readable identifiers from
the GPL'd software into your own product to make it work. Only if the sufficiency barrier is
raised considerably would it be a problem to meet it for external linking.

So far as I can tell your argument revolves around the idea that linking software resembles
binding two books together with cellophane for sales purposes. No copyright issue. This is
what the GNU GPL calls "mere aggregation". But compiling your software against a dynamic
library is not "mere aggregation". Let me suggest a different analogy...

Suppose I write a book criticising a popular novel, ah, let's say "Moby Dick" just after it
has been published. I am entitled to write whatever I like merely /about/ this book, and my
lawyer might advise me that I can quote small extracts from the book to illustrate a point, so
long as I'm not scared of going to court to argue fair use. But how about if I'd like to buy
copies of Moby Dick and apply stickers to each page with my commentary as footnotes to the
relevant parts of the story (ignore for a moment the logistical challenge, in an e-book this
would certainly be trivially overcome) ? Well, if I want to do this just for my own amusement
I'm protected by the First Sale doctrine (they're mine and I'll do as I please). However, if I
want to subsequently sell or otherwise distribute these copies (maybe give them away to
schools), they are clearly derived works and I think I will need permission from the copyright
holder (author or publisher) of the original Moby Dick.

So, Lawrence, would you advise me to proceed? Would you be happy to argue (on your own dollar)
that the stickered version of Moby Dick is not a derived work but merely an aggregation of two
separate works ?

Linking

Posted Jun 25, 2008 21:18 UTC (Wed) by lrosen (guest, #31972) [Link]

You wrote: "Suppose I write a book criticising a popular novel, ah, let's say 'Moby Dick'...."

 
That is your right. And you may copyright your book. 

My primary example, though, is this. Suppose you include in your new book a link that says "Go
read 'Moby Dick' by Herman Melville and let it enrapture you, and return here for the rest of
my comments." That's linking to a verbatim copy of Moby Dick. That's what most device drivers
do with Linux.

*****

You then wrote: "But how about if I'd like to buy copies of Moby Dick and apply stickers to
each page with my commentary as footnotes...."

I think I'm safe in saying, that's a derivative work. :-) 

*****

You wrote: "Well, if I want to do this just for my own amusement...."

I'd rather put it this way: "If you do it just for your own amusement Herman Melville is
unlikely to give a damn that you're infringing, but if you do it for commercial reasons he
would probably sue you for copyright infringement." [Ignore the fact that Moby Dick is now
public domain!]

*****

You wrote: "However, if I want to subsequently sell or otherwise distribute these copies
(maybe give them away to schools), they are clearly derived works...."

We already decided they were derivative works. There is no need to raise that question again.
It makes no difference that you want to sell them or give them away. What we are deciding is
whether you are entitled to do so under the Fair Use doctrine, the First Sale doctrine, or 17
USC 102(b) (the Merger doctrine). As to which, I leave that as an exercise for the reader. 

But my own advice would be, don't try selling any of MY writings with your stickers and
commentary all over every page--unless I authorized you to do so in my open source license....
:-)

Copyright (C) 2008 Lawrence Rosen
This email is licensed to the public under the Open Software License (OSL 3.0).

Linking

Posted Jun 26, 2008 10:29 UTC (Thu) by tialaramex (subscriber, #21167) [Link]

Firstly congratulations on entirely avoiding an actual answer to my hypothetical, masterfully
done. Still, I think you've made your position clear enough.

You're in the situation of the lawyer who tells his client that of course it's OK for him to
keep an alligator in his home, and then only subsequently finds out that alligators aren't the
cute little furry things that go "Meow" but the big reptiles with the bad breath and the
protected wildlife status. Whoops. In the light of this new information the alligator advice
would be wrong.

You seem to have confused "linking" in the sense meant by the distributed hypermedia
community, where a link is just a machine readable "look at this" like your version of the
Moby Dick book - with the "linking" needed to take a piece of software that's incomplete,
non-functional or even meaningless and combine it with one or more other pieces of software
into a whole.

The linking process itself is purely mechanical, like assembling a car, but for it to be
possible at all the creators of the two (or more) pieces of software must agree on a number of
essentially arbitrary (as arbitrary as the choices of adjectives to describe a whale would be)
decisions. In a very trivial piece of software this might be just one or two decisions, in a
significant application like GCC it will be practically uncountable. In a GPL'd work these
choices are incorporated into the work made available for licensees to copy and redistribute,
but not without restriction.

I don't know how technical you are, my guess is "Not very". But get someone to show you how
'ar' works. That's a piece of software which takes two object files and merely aggregates them
into a single file, you can easily separate them again, even without specialist knowledge.
Now, get them to show you how 'ld' works, that's the linker. This combines many pieces from
several files into a single file, like my stickering process, interconnecting and changing
them so that they work as a whole. This is effectively irreversible. After you've seen what's
actually going on I think you might have a different opinion of whether it's "verbatim
copying" or the creation of a derivative work. That would be your "alligator" moment.

Yes, in theory you could sidestep the copying problem with clean room reverse engineering. But
you ought to know enough about the history of IP to realise that it's not a cost-effective
choice, it's the last resort. If I see that someone has used my GPL'd library to make a $10
shareware with a restrictive license, I'm not going to assume that they hired an army of
people to reverse engineer the library, but that they're simply infringing.

Linking

Posted Jun 27, 2008 20:48 UTC (Fri) by Tet (subscriber, #5433) [Link]

But get someone to show you how 'ar' works [...] Now, get them to show you how 'ld' works

As a complete aside, anyone wanting to know how ld works is unlikely to do better than reading Levine's excellent "Linkers and loaders" book.

Linking

Posted Jun 27, 2008 22:12 UTC (Fri) by nix (subscriber, #2304) [Link]

Ian Lance Taylor also wrote an excellent series on ELF linkers on his 
blog, which I seem to have mislaid the URL of (I think LWN linked to it at 
one point).

Linking

Posted Jul 2, 2008 4:18 UTC (Wed) by roelofs (guest, #2599) [Link]

Ian Lance Taylor also wrote an excellent series on ELF linkers on his blog, which I seem to have mislaid the URL of (I think LWN linked to it at one point).

Here you go. I didn't bookmark the LWN article, but it would have been from late March--probably either the 20 March or the 27 March edition.

Greg

Linking

Posted Jul 2, 2008 19:25 UTC (Wed) by nix (subscriber, #2304) [Link]

Thanks! (akregator tends to randomly lose feeds you put into it, I 
think because it only saves its feed list at session save time...)

A position statement on closed-source kernel modules

Posted Jun 24, 2008 11:10 UTC (Tue) by Zack (guest, #37335) [Link]

>The notion that linking of any sort produces a derivative work is nonsense. 

The only thing that is clear is that anyone who claims there is a single clearcut way to
a-priori distinguish between infringement and non-infringement when it comes to copyright
applied to software (especially software covered by the GPL) is wrong.

>Linking is a functional thing, necessary solely to effectuate a functional interworking
between two programs.

The old joke about smuggling an elephant with two slices of bread comes to mind.

But will it achieve anything?

Posted Jun 26, 2008 12:37 UTC (Thu) by mkflint (guest, #50223) [Link]

This is all well and good (and I agree with every word), but it doesn't tackle the hardware
manufacturer's three strong arguments against open-sourcing their drivers:

1. it's our intellectual property, open source drivers would reveal this valuable IP
2. why should we release open source drivers when there's a bunch of hippies writing open
source drivers for our hardware for free?
3. open sourcing drivers won't increase our market share by any noticable amount

The only way to influence them is to hit them in their balance sheet. This means:
1. the community stops writing open-source drivers for these companies if they don't offer
significant assistance to the community
2. end-users buy hardware only from companies who do write open-source drivers and/or offer
significant asssistance to the community


Copyright © 2008, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds