'GPL encumbrance problems'

David G. Miller (aka DaveAtFraud) dave at davenjudy.org
Sun Jan 22 02:14:18 UTC 2006

John, I was hoping this thread had died the death it deserved.  I wasn't 
going to respond but I hate to see errors proliferate.  See comments 

debian at herakles.homelinux.org wrote:

> Erwin Rol wrote:
>> The GPL kicks in if you distribute your product. If your program needs a
>> GPL library the program is a derived work from that library and so if
>> you distribute that program you have to distribute it in a GPL
>> compatible way (for example by putting the program under the GPL).
>> If you have a LGPL library the use of that library is not seen as a
>> derived work and hence you are free to choose the license for your
>> program.
>>> What's good enough for the goose is good enough for the gander so 
>>> the GPL zealots can't have it both ways.  Either implementing 
>>> libraries that are compatible with existing Unix(tm) headers and 
>>> interfaces violates someone's (say SCO's) copyrights or using GPLed 
>>> headers and interfaces 
> Whether it impinges on someone else's rights depends on the licence 
> (say SCO) grant to those doing the (re)implementation and the rights 
> (say SCO) actually have. Copyright and a licence to copy are not quite 
> the same.

Copyright *LAW* is all I care about.  IANAL, but based on lots of 
reading over at Groklaw, the applicable U.S. copyright law says headers 
and interfaces are *NOT* protectable elements because they do not 
represent a creative work.  That is, someone wishing to use a particular 
work can access the interface to that work (binary or otherwise 
described) without violating the author's copyright to the work.  The 
applicable case was referenced on Groklaw defending the right of Linux 
to use SCO's ABI.  This has also come up repeatedly in discussions of 
SCO's case (the few examples that they have released have generally been 
header files) and always with the same result: headers and interfaces 
are not considered protectable elements under copyright law.

>>> to GPLed libraries in proprietary code is legal.  That being said, 
>>> the open source folks have a lot more to lose if headers and 
>>> interfaces are suddenly found to be subject to copyright protection.
>> That headers aren't protected by copyright doesn't mean the
> I don't believe that headers aren't protectable by copyright. However, 
> if I provide you with some of my software, and I include headers 
> (describing an interface to my software), then you are entitled to use 
> those headers to write your software to interface to mine.
> The terms under which you may _distribute_ your software is another 
> matter altogether, and that matter is determined by the licence I 
> grant you.
> If I employ a BSD-style licence, then you can choose to use a similar 
> licence yourself, to use a proprietary licence and to not provide your 
> source, or even to distribute _your_ software, even as a derived work, 
> under the terms of the GPL.
> If, on another hand, I grant you use under the terms of the GPL, then 
> you are still free to write your software, but if you link your 
> program with mine (isn't that what the headers are for?), then any 
> distribution you do must be under the terms of the GPL, and you must 
> (if asked) produce the source on demand.

And if I distribute my software under a license of my choice and an end 
user happens to substitute a GPLed library for the unencumbered 
library(ies) I used in my development, it is not my problem.  Take it up 
with the end user.  This is precisely why the [L]GPL cannot make viral 
demands where options exist.  On the other hand, if someone scavenges 
say the libraries underlying MySQL or Postgres (or any other significant 
GPLed application) to build a competing product, they probably don't 
have much of a legal leg to stand on.  Sounds like a good reason to make 
sure any application I write is POSIX compliant.

>> implementation of the logic behind those headers isn't protected by
>> copyright. If you have a GPL library, copyright doesn't prevent you from
>> rewriting (from scratch) that library with compatible headers. Copyright
>> does however prevents you from using that GPL library in a way that is
>> not compatible with its license.  
> I think you would need to be very careful with your compatible 
> headers, especially if the headers you're cloning are entirely devoid 
> of comments. But, IANAL.

See first comment.  There is also case law (at least in the U.S.) that 
says reverse engineering a product falls under what is called "fair use" 
even if the EULA forbids it.  Mind you, I can't just decompile and 
recompile somebody else's code but I can poke and prod it until I know 
enough about it for whatever I want to do.  The ndiswrapper, Samba and 
WINE folks (to name a few) have used this to great advantage.  
Regardless of license, I can freely re-implement something as long as I 
don't engage in actual copying and I want to expend the effort. Usually 
doing this with open source is a futile effort since, when I'm done, I 
probably can't recapture my costs.

> On the whole, the GPL serves us well, but it's not for everyone or for 
> everyprogram.
> Some years ago, I wrote a program, and then made some changes, and 
> could have sold licences to others (I checked with a lawyer on that 
> one[1]). My marketplace was a subset of the users of Facom computers 
> in Australia - they were not, AFAIK, sold in the USA or anywhere else 
> except NZ (I think) and Japan (where language, culture and being 
> unknown all counted against me). I reckon, at best, a dozen sales.
> There'd be no money at all for me if I licenced it under the GPL or 
> other freely-distributable licence (the GPL, I might add, didn't exist 
> back then), because the likelihood of anyone wanting changes were 
> fairly remote.
> [1]Facom's lawyers had a different take, but we simply glared at each 
> other, and Facom didn't actually take any action to get in my way.
> Over the years I've come to the conclusion that my lawyer didn't 
> really understand the situation.

No argument here.  My experience is in developing large scale custom 
software for paying customers.  If the customer is the government, they 
get the source code but generally pay for revisions anyway.  Private 
customers may or may not get the source code and, if they get it, may 
have to treat it as copyrighted by my employer at the time.  I'm just 
the guy who runs a chunk of the development effort. 

As to lawyers, you really need a copyright lawyer if things get ugly.  
Its sort of like not going to a general practitioner for brain surgery.  
It is very complex and very specialized.


More information about the users mailing list