On Wed, 13 Dec 2006, Shachar Shemesh wrote:
To my thinking - yes. If you create an interface that is independent of
the implementation, no-one using that interface can be said to be
derived work of the implementation.

Yes, that does mean that the GPL isn't as strong as we may hope/wish it
to be. This is, I think, a direct result of it being a *copyright*
license. When the copyright protection ends - so does the GPL protection.

What has this got to do with the GPL ? The act of connecting two pieces of software at runtime using linking defines the parts as distinct. If the connection is established in a way specified by a published standard (like Posix for libc calls or iBCS2 or X11 protocol or others which are used commonly) then one can put whatever one wants in each 'half'. There is nothing to discuss about this part. What is negotiable is the use of proprietary extensions. Such extensions are in the kernel, in libcs supplied with open source systems and in other places. Those extensions specifically forbid linking against non-GPL programs. The intention is clear: to limit access to advanced functions provided such that non-GPL abiding people cannot use them without soliciting a non-exclusive non-GPL license for their use. Using them anyway is theft. Period. So I think that your thinking is not quite ok and the GPL is quite ok and strong enough in this area.

In English: It you write plain vanilla C code to Posix libc specs (recommended reading: 'POSIX programmer's guide', Lewine, O'Reilly - I am selling a copy of this book at http://p226.dyndns.org/books) then you will have no trouble to a) link against any compatible library (like libc, glibc, tinylibc, GPL or LGPL it does not matter) and b) port your app to any *nix out there in a few hours at most. Even if you distribute a binary and link it against a GPL-only libc you can claim (rightfully) that your program does not use any GPL features. Because it's compatible with a published standard.

If you DO NOT write plain vanilla C code to Posix libc specs and expect to fully use the advanced features offered by GPL-ONLY licensed extensions to libraries, and distribute binary that links against these, then you are in trouble even if there are 24 different implementations of said libraries (again, the API must not originate outside the GPL community for this to be true - because you are linking against an API in fact, not against a library - it can be said that the implementors of the library built it to the API specs - which API is not GPL if not originated by the GPL community).

The kernel in particular and its ENTIRE syscall interface is in its ENTIRETY a GPL product, TOGETHER with ANY modules linked into it (because said modules must use symbols and APIs defined by someone in the GPL community). That settles the question, yes ? The exceptions made for binary modules for certain drivers are to be regarded as temporary yields to user convenience.

If this p***es you off, go buy an island and write your own version of causality ;-) (starting at about $40,000):

  http://www.privateislandsonline.com/sale-price-under-250K.htm
  http://www.privateislandsonline.com/first-hand-island-living.htm
  http://www.privateislandsonline.com

Peter

=================================================================
To unsubscribe, send mail to [EMAIL PROTECTED] with
the word "unsubscribe" in the message body, e.g., run the command
echo unsubscribe | mail [EMAIL PROTECTED]

Reply via email to