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
interspersed:
debian@xxxxxxxxxxxxxxxxxxxxxx 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.
Cheers,
Dave