[ale] OT: GPL Question

Michael Hirsch mhirsch at nubridges.com
Wed Sep 4 12:04:11 EDT 2002


On Wed, 2002-09-04 at 11:00, James P. Kinney III wrote:
> Case A:
> Library is closed source, NOT GPL. Your app is GPL. By linking your app
> to a closed library, you can not force the closed library to become GPL.
> 
> Nor should you be able to do so.
> 
> Case B:
> Library is GPL. Your app requires that library in order for the app to
> function. Your app MUST be GPL.
> 
> Case C:
> Library is GPL clone of closed source library. GPL'ed lib made using
> public info of API for closed lib. Since your app can use either the
> closed source OR the GPL'ed lib, you can choose the license.

That sound reasonable, Jim, but I don't think it is that simple.  I
don't recall the license saying anything about whether there is another
library with a compatible API.  This is really the whole problem with
the GPL and dynamic linking.  With static linking there is no question
what library you are linked to.  With dynamic linking you don't know.

According to your analysis of cases B and C, whether you must use the
GPL depends on some question about the construction of the GPLed
library--not a question that is answered in the license.  I don't think
a license can depend on this.

Here's a weird idea.  It seems that whether I must GPL my code depends
on whether there is a non-GPLed library that I'm allowed to link to.  If
there is, then it doesn't matter that there is also a GPLed library, I
don't need to GPL my code.  That is my reading of Case C.

So, if I want to link to readline I just have to clone its API in a
non-GPLed library.  That is hard to do if you want the library to work
the same way.  But what if I just make it have the readline API but none
of the calls actually do anything.  (Think of it as having a few
bugs--nothing works.)  My code links to it, so I don't need to GPL it. 
Of course, it doesn't work as expected, but so what?  It is not my fault
that all the users (including me, heh heh) choose to link with GNU
readline instead of my readline clone.  But since the readline clone
exists, I'm safe against GPL infringement.

It's things like this that make me think that dynamic linking should not
force the GPL on anyone.

--Michael

> It is good to remember the basic motivation behind the GPL. Like in
> academic research, ideas build on the efforts of previous work. The GPL
> serves as a mechanism to protect that chain of development. It prevents
> the outright theft of a chain development by a single entity. 
> 
> On Wed, 2002-09-04 at 09:24, cfowler wrote:
> > What if I create my own library.  And add a function call to my library
> > to GPL code.
> > 
> > 
> > /** GPL Code **
> > 
> > int
> > main(void)
> > {
> > 	// Get some info
> > 	info = getInfoFromMyLibrary();
> > 
> > }
> > 
> > 
> > 
> > Do I have to release the code in getInfoFromMyLibrary() ?
> > 
> > Chris
> > 
> > On Wed, 2002-09-04 at 09:20, Michael Hirsch wrote:
> > > On Tue, 2002-09-03 at 21:23, Mike Panetta wrote:
> > > > Some PLEASE correct me if I am wrong...  But here is my take on what you
> > > > guys are saying.
> > > > 
> > > > So does that mean if somebody say makes a GPL'd version of winsock.dll
> > > > (for example) and replaces the propriatary version of winsock.dll on
> > > > their windows box with it, everything that is now using the new and
> > > > GPL'd dll is required to take on the GPL license or be sued by the FSF?
> > > 
> > > Not at all.  You can't convert someone else's code to GPL, claims by
> > > Microsoft notwithstanding.  But if *you* write code designed to be
> > > linked to a GPLed dll you could get in trouble.  IMO, this is quite
> > > debatable, but that is Richard Stallman's interpretation.
> > > 
> > > > Or back to the web server example... If someone makes a web server
> > > > plugin that is propriatary, and writes it to the plugin API of a
> > > > propritary web server, and someone else loads their module into a web
> > > > server thats GPL'd that uses the same API (and thus works with the
> > > > module), does that mean that someone you do not even know or have
> > > > control over just forced you to GPL your code without you even knowing
> > > > it?
> > > 
> > > Nope.  Intention matters.  Since the code was not written to link to the
> > > GPLed code it is not GPLed.  As above, this is quite debatable, but that
> > > is Richard Stallman's interpretation.
> > > 
> > > > I do not understand this license... Really I do not :)  But the way you
> > > > guys are describing the linking process (specificly dynamic) it seems to
> > > > me that noone has control over code that they write anymore.  I can see
> > > > it now, some bastard (well in this case its not a bsatard ;) goes out
> > > > and writes a GPL'd API compatibility layer that allows you to run
> > > > windows programs on Linux (I do not think Wine is GPL'd is it?) thus
> > > > forcing all the windows companies out there to GPL their code... I don't
> > > > think so...  But that does sound like what you guys are talking about...
> > > 
> > > You think Stallman's interpretation is bad, try MySQL's sometime.  They
> > > beleive that "linking" means "interfacing"--even across processes. 
> > > According to their interpretation, if you write code using, say, jdbc
> > > that interacts with MySQL then you need to GPL your code or by a license
> > > for MySQL.  The code may not even be on the same computer that MySQL is
> > > running on and they claim contamination.  I think that's hooey.
> > > 
> > > > I think the only way we will ever know how or if this license will work
> > > > is if someone sues.  And I think that if someone does sue, the license
> > > > may fall apart...  I have not read it myself (nor could I, I do not
> > > > understand legalease AT ALL), but it sounds like it is not a very
> > > > logical license to me.
> > > 
> > > It's actually quite readable and i recommend that you read it.  That is
> > > the only way to be informed.  The tricky part is not in the license
> > > anyway.  The concept of "derivative work" is part of copyright case law
> > > and not clarified in the document.  The question is whether linking to a
> > > library creates a work which is derivative of the library.  For static
> > > linking I think a very strong case can be made for "yes".  For dynamic
> > > linking or module loading a pretty strong case can be made for "no", but
> > > Stallman disagrees.  A question to think about is "How do static linking
> > > and dynamic linking differ, legally, and how should that effect the
> > > license of the source code?"  Since any code that can be dynamically
> > > linked can also be statically linked, that question is crucial.
> > > 
> > > --Michael
> > >  
> > > > Mike
> > > > 
> > > > On Tue, 2002-09-03 at 08:47, Michael Hirsch wrote:
> > > > > On Fri, 2002-08-30 at 17:48, Andrew Grimmke wrote:
> > > > > > It is my understanding that this is the specific reason that the LGPL
> > > > > > was developed.  So that one could use a free library and not be bound by
> > > > > > the GPL. (lesser also stands for library)
> > > > > 
> > > > > Yes, that was the motivation.  But that was also before dynamic linking
> > > > > was common.  I think most people agree that statically linking to GPLed
> > > > > code requires the GPL for all code.  But the issue for dynamic linking
> > > > > is much more vague.
> > > > > 
> > > > > Matt Asay, in his article, claims that most people agree that
> > > > > dynamically linking to GPLed code does not require GPLing your code.  He
> > > > > says, this, but I couldn't find any justification for this claim other
> > > > > than the fact that Linus and the other kernel developers have agreed
> > > > > that code can make system calls to the GPLed kernel without requiring
> > > > > that the code be GPLed.  This is a far cry from linking GPLed libraries.
> > > > > 
> > > > > I also don't know of any programs that do what Asay is claiming--linking
> > > > > against GPLed libraries.  Lots of proprietary code links against glibc
> > > > > and other LGPLed libraries, but try releasing sealed code that links to
> > > > > readline (a GPLed library) and see how long before the FSF lawyers call
> > > > > you.
> > > > > 
> > > > > I do know of several software companies that dual license their
> > > > > libraries as either proprietary or GPL.  The most prominent example is
> > > > > Troll Tech with their qt library.  They do not agree that you can use
> > > > > their GPL library to develop closed code:
> > > > > 
> > > > >  Why is Qt Free Edition not distributed under the GNU Library (or Lesser) General Public License (LGPL)?
> > > > >  The LGPL is designed to "permit developers of non-free programs to use
> > > > > free libraries" (quote from the LGPL). In other words, if Qt Free
> > > > > Edition were LGPL'd, companies would not have to purchase the
> > > > > Professional or Enterprise Edition in order to make
> > > > > commercial/proprietary software, they could just use the Free Edition,
> > > > > free of charge. That would mean Trolltech would not get the revenue
> > > > > necessary for improving and extending Qt.
> > > > > <http://www.trolltech.com/developer/faqs/free.html#Q2>
> > > > > 
> > > > > I think that you are acting dangerously if you link to GPLed libraries
> > > > > with closed code.  There is a definite case to be made for it, but,
> > > > > unlike Asay, I think there are very few precedents backing up such an
> > > > > action.
> > > > > 
> > > > > You are, however, safe if you link to LGPLed libriries and you may make
> > > > > system calls to the GPLed Linux kernel without risk.
> > > > > 
> > > > > --Michael
> > > > > 
> > > > 
> > > > 
> > > 
> > > 
> > > 
> > > ---
> > > This message has been sent through the ALE general discussion list.
> > > See http://www.ale.org/mailing-lists.shtml for more info. Problems should be 
> > > sent to listmaster at ale dot org.
> > > 
> > > 
> > > 
> > 
> > 
> > 
> > ---
> > This message has been sent through the ALE general discussion list.
> > See http://www.ale.org/mailing-lists.shtml for more info. Problems should be 
> > sent to listmaster at ale dot org.
> -- 
> James P. Kinney III   \Changing the mobile computing world/
> President and CEO      \          one Linux user         /
> Local Net Solutions,LLC \           at a time.          /
> 770-493-8244             \.___________________________./
> 
> GPG ID: 829C6CA7 James P. Kinney III (M.S. Physics)
> <jkinney at localnetsolutions.com>
> Fingerprint = 3C9E 6366 54FC A3FE BA4D 0659 6190 ADC3 829C 6CA7 
> 
> 



---
This message has been sent through the ALE general discussion list.
See http://www.ale.org/mailing-lists.shtml for more info. Problems should be 
sent to listmaster at ale dot org.






More information about the Ale mailing list