[ale] OT: GPL Question
cfowler
cfowler at outpostsentinel.com
Wed Sep 4 12:18:08 EDT 2002
This is something I deal with everyday. I am working on an embedded
project that is very specific in design. Sure I use some GPL code and
some proprietary code. But the GPL code does not fulfill my needs or
does something that I need it to do. So I have 2 options.
1) Modify to add/remove functionality
2) Rewrite my own stuff
I ususally pick #2. Most GPL code is so poorly documented, #2 saves me
more time then trying to reverse engineer the code so I can add to it.
Chris
On Wed, 2002-09-04 at 12:04, Michael Hirsch wrote:
> 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