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]