[email protected] 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 interfacesWhether 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 theI 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 isnot 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). 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.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.