GPL/LGPL Issues - Moving GPL'd Code into Libs? 203
"Here is an e-mail I fired off to the leader of MaPlay 1.2+ for Win32, an MP3 player for Windows asking his opinion.
Date: Sat, 29 Jan 2000 17:53:27 +1000 (GMT+1000)
From: Trent Waddington
To: ctsay@pasteur.eecs.berkeley.edu
Subject: MAPlay & Licenses
Hello. I have been looking at MaPlay 1.2+ for Win32 and have been
very impressed with it. I have taken the base code and added a simple
API to it (and removed playlists and such) and recompiled it as a
DLL. Now the question becomes one of LGPL vs GPL.. If I use the DLL in
a program to play MP3 files, am I then required to release the source
of that program under the GPL? Obviously if I wrote a trivial WinAmp
like MP3 player frontend and used the DLL as the backend I would
personally expect that to be released GPL. However, let's suppose
that I write a game and instead of using a bunch of enormous WAV
files, I MP3 compress them and use the MaPlay DLL to play them. This
to me sounds like a case for LGPL, but the DLL is a "derived work" of
a GPL'd program and, as such, cannot be released under anything less
liberating than it.. is LGPL *less* liberated than GPL or *more*?
I don't think using MaPlay code to play MP3 files instead of WAV files
justifies that an entire game's source tree must be GPL'd. Obviously
it should be for Open Source reasons but is the enforcement of GPL
valid?
I would personally be interested in knowing how the programmers of
MaPlay would feel if the MaPlay source was (hypothetically) used in a
game that was closed source. Assuming there was something in the
about box / ending credits saying that the game used the MaPlay source
and that the source (to the player code) was available at the MaPlay
web site. Would you feel ripped off?"
Can anyone unravel the LGPL and GPL issues inherent here to help him out?
Re:This is a really simple answer... (Score:1)
These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works.
If you stuff things into a library, you are using the library, not deriving from it. Therefore identifiable sections of your program (namely: anything that is not in the library) are not derived from the GPLd library, and are therefore not covered by the GPL as long as you distribute them as separate works. In other words, I can write a closed-source app, distribute it, tell people that in order to actually use it they need get GPLd software X first, and there's not a damn thing the FSF can do about it.
You GPL zealots really need to read your precious license sometime. It is deliberately vague and open to many interpretations. The only way to get this settled is for some deep-pocketed company to take the FSF to court over it. Hopefully that will happen someday soon, it will make these pointless discussions a lot simpler...
Best Answer: ask the author (Score:1)
Regardless of whether you put code in a library or not, the GPL is the GPL and must be abided by. There is nothing stopping you from using the GPL for libraries (see GNU readline for example), it's just that the LGPL is less restrictive, esp. wrt proprietary apps.
So anyone who wants to make a library from GPL'ed code and release it under the LGPL would be wise to ask the origninal author(s), as this is the ethical and legal thing to do.
please, make sense! This is killing :-( (Score:1)
- "principle and honor -- words you can't even spell [..]" Huh? You guys known each other for years, or what? No, couldn't be, you're a set of A.C.'s so there is no way AC #2 could've regognized AC #1 UNLESS he can make up PERSONAL CHARACTERISTICS out of < 1k ASCII, which COULDN'T BE, because random gramatically correct sentence generators usually have no such function.
- "[ESR vs Nazi blah]" Is there so much info available from his homepage, or ARE you ESR? Case 1: you might be biased; case 2: you might be biased;
- "The implicit threat of violence deters criminal behaviour" Have you been in the army, that you have learned such useless dogma's that have NO practical value?? Here, see:
violence == criminal behavior;
violence++ == criminal behaviour--;
PLUS: Bruce Perence is NOT A CRIMINAL (AFAIK) but a free software fellow. So I think it's time for a big a-DOH!! a-DOH!! (a nosy noise that only VERY confused people make)
-- "Gun ownership is his duty as a citizen" Yeah, what's next: "hello officer" "Citizen! where is youre roll of toilet paper?" "my roll of toilet paper, officer?" "yes, didn't you know, wearing a roll of toiletpaper is your duty as a citizen. Have you done your hoola-hoop this morning?" "Excuse me?" "Don't you read constitutions, citizen? I'll have you arrested for not wearing toilet paper PLUS not having done your hoola hoops this morning."
... if crap like wearing a gun is not only considered a *hobby* but a DUTY as well, geez... You're not running Prez for the Democrats are you?
The land of the free... well, I am glad that I don't NEED to understand that.
-- "secessionism [..] look it up" I did, and I found 3 lines of bloat about the thingy war (Burgeroorlog, I won't translate it back). Geez, I hate it when people post internationally confusing messages.
-- "you'd be lying if you did so" Oh, are there general rules for personal viewpoints? When did *they* pass into law??
-- "the sacrifice of infance is a private matter, a cultural quirk which need not concern you" I hope that I understand this one entirely WRONG. Broken Pipe. Shock. Fatal error.
Resume:
Things that are sure:
- ESR shoots guns. This is true, and can be found on his homepage. Like it or not. I don't. Yet, I don't have much to say about this.
- ESR has got some religion. Well, face it, he is not the only one.
Things that are not sure:
- ESR threatened Bruce Perens. I have found no evidence.
- ESR does cruel things with orphans as part of his religion (I cannot believe I write this). Please tell me this is a joke.
It would be nice if we got these things really clear, because they are grave accusitions.
As for the rest (specifically the complete reply from AC #2): non-information, dogma's, so-called hard facts without any basis. I refuse to swallow this.
Post as AC or not? I deceide to post as AC. For three reasons:
- I am totally not sure if you aren't DANGEROUS (really)
- This is NOT worth spoiling my karma
- Deep inside I HOPE that I have been ignorant, either totally misunderstanding your mail, or being trapped in some kind of sick joke. While I hope that that is true, I am not planning to loose my face on it
Peace, man
A fairly authoritative answer (Score:1)
One thing to note is that in grey areas, trouble and illegal are not the same thing. If the copyright holder gets annoyed with what you are doing, then even if you can persuade a judge that the copyright holder has granted permission for you do do what you are doing, you still end up with the hassle of going to court and talking to the judge. So talking to the copyright holder, as you have done, is usually a wise idea.
However, according to standard interpretations of the GPL, what you're doing is in fact allowed.
The important point is that you've made a DLL. Linking the GNU GPL'd DLL with a front end does indeed produce a "derivative work". However, the GNU GPL does not prohibit you from making such works. It only says that if you with to distribute such a work, you must apply the conditions of the GPL to the whole of the work.
However, the derivative work you are making is ephemeral and will not be copied. Instead, each user re-creates it. You'll see discussion of this "hole" in the GPL under the heading "user does the link" in the early days of the GPL. It's basically what you're doing.
There was one historic bit of argument when some people wrote some non-free applications designed to be linked to the (then-GPLed) gmp library. RMS argued that designing it to work only with some GPLed code like that made it a derivative work, and the argument persisted until someone whote a non-GPLed library with the same interface, so it could be used independent of the gmp library. (The gmp library was faster, and thus preferable.)
I think that was a poorly chosen argument, because it would imply that every program written to interface to a proprietary OS is derivative of the that OS, which is not somewhere I want to end up. The argument didn't get much respect, anyway.
But even if one accepts it, you wrote the DLL interface, so it makes it somewhat awkward to sue you for calling your own code. Even if the GPL doesn't allow it, you are free to grant yourself (or anyone else) additional permission to call the code that you wrote.
The interpretation that it's permitted is supported by Linus's interpretation of the GPL with respect to Linux and binary-only kernel modules. He feels that as long as they're dynamically linked, there's not a problem.
The LGPL is designed for the case where you want to use a linker to combine free and proprietary code in the same binary image. As the GPL says, just putting files on the same storage medium doesn't count as making a derivative work.
LGPL... Why? (Score:1)
Reverse DLL strategy... (Score:1)
They have failed to mention that you can also extend any GPL program with dynamic linking configuration options, release that new modified
version under GPL and then release propriatary dll modules for GPL'd program.
I've done this with mawk and it works out very nicely.
So there.
Re:They can change it? (Score:1)
Not quite. Whatever *new* copies the author of the code puts out could be put under a proprietary license by the author, but the copies of code that have already been GPL'd are still GPL'd.
Re:This is a really simple answer... (Score:1)
But, then anybody could use the GPL wrapped library together with the closed source frontend. I just reread the GPL, it says nothing about use of the software, it only tells how you may distribute the GPLed software.
Is this a bug or a feature in the GPL, or am I just too dumb to understand it?
Re:Should be simple enough... (Score:1)
Anyone know (or have a good guess?) how legal mp3 encoders that don't pay them the "mp3 encoder tax" are, why, and which patents are being violated?
('cause I sure don't.
---
pb Reply or e-mail; don't vaguely moderate [152.7.41.11].
Tough Question. (Score:1)
If it doesn't, though, there's always freshmeat, and there are lots of audio libraries out there, some of them GPL'ed, LGPL'ed, and whatnot.
I would love to see someone working on porting Cubic (now OpenCP) to Linux, it already runs under DOS, and "runs" under Win '95 too, and they've been planning on porting it to Unix, but I can't wait that long!
There's the Open Source Audio Library Project [sourceforge.net], which is LGPL'ed, and unfinished but has a plan and some code to hack on... And apparently they use mpg123 [mpg123.org] for their mp3 routines, which does not suck. Don't believe the hype, if it isn't the fastest decoder, it's one of the fastest, really.
There are some nice looking mp3 libraries in the "free to use but restricted" category. Since I don't know what your requirements are, I figure I'd mention that.
---
pb Reply or e-mail; don't vaguely moderate [152.7.41.11].
Re:This is a really simple answer... (Score:1)
I doubt that the GPL is deliberately vague. To my (non-lawyer) reading, it's actually quite clear and precise. Yes, it's true that a lot of people misunderstand it, but I think that that's due to people reading what they want to read (on both sides) into it.
Re:BSDL prevents this mess (Score:2)
If the original author had produced the program with a license resembling the X or BSD license, this would not be a problem now.
Perhaps the author WANTED this to be a 'problem'.
Personally, I would object to someone using my free code to help them make proprietary code. If they want to release proprietary software that may one day become an annoyance to me, they get to be annoyed by proprietary code as well.
The author of MaPlay might or might not feel the same way. Perhaps a different licen$e can be agreed upon?
Re:You can't be serious (Score:2)
If applications are derivative works of the libraries they reference (which is what I believe you are asserting) then third party GPLed MS Apps would be derivative works of MS Windows.
I don't think that's what he's asserting; he's simply pointing out that the GPL makes at least _that_ much explicit: system libraries don't count.
It seems to me that he has a very strong case; if the GPL is explicit about certain libraries _not_ counting, doesn't it seem reasonable that other libraries _do_ count?
Yes, the executable is under the GPL license. That's really fundamental
I do not believe this to true. For a start some (most, all?) GPL binaries on my system do not contain the GPL notice (and many of them are not part of some larger package that is GPLed). I have many GPL binaries on my system that are clearly not GPLed.
Whoah here. There is NO provision in the GPL that claims that it only applies to binaries which include the GPL (or something of the sort); in fact, to the best of my recollection, there's no provision for a "GPL notice" (to use your term). A license is made to a _person_, not to a program; the author is NOT making a three-way legal contract between a program, himself, and you, but rather a one-way license which gives up some of his rights (but retains some others).
_You can't run, or even copy into memory, the binaries if you aren't licensed to do so._ It doesn't matter if the binaries have or don't have the entire text of the GPL. You MUST have permission. And having gotten that permission (through the GPL), you're free to do so, regardless of what text the program contains in it.
This is bad but it is not the only bad thing there are several other severe problems with the license too. I can list some of them if you like
No thanks. I know what you mean; I don't care for the GPL in many ways, and I seem to recall Bruce (the person with whom you're arguing) having similar problems.
My main problem isn't actually with the GPL itself; it's really with a certain class of the people who advocate it (mind you, I'm NOT making this allegation about GPL defenders in general): some people strongly and stupidly believe that anyone arguing against the GPL is trying to steal source code and use it for proprietary gain.
DUH.
That sounds like a strawman, but I've seen it written SO often it's scary. It's often written in INCREDIBLY strong terms.
Put in more rational-sounding terms, the GPL is often described as being "about freedom." So it is, and it's an honorable fight. But it's not the only way to fight, and it's not the way I choose to fight. I personally believe that freedom is achieved not by writing laws which claim to forever make tyranny impossible, but rather by each and every person remaining eternally vigilant.
-Billy
Re:This is a really simple answer... (Score:2)
--
Re:This is a really simple answer... (Score:2)
--
straight from the horses mouth (Score:2)
OK straight from the GPL itself. Section 10:
10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally.
I don't think you can state it any more plainly: ASK THE AUTHOR FOR PERMISSION.
The author selects his/her licensing terms (Score:2)
I think you're going about this the wrong way. (Score:2)
Why not contact the authors and negociate for a commercial license to their code? If that doesn't work, please consider their wishes and either GPL, LGPL, or MIT-license the whole thing, or write their property out of your program.
Thanks
Bruce
Re:"Lesser", not "Library" (Score:2)
Thanks
Bruce
Doubtful legality, and sleazy in any case. (Score:2)
And regardless of the legal realities, it's a sleazy thing to do. You do want to be able to sleep well at night, don't you?
Isn't it funny that although libreadline is far from rocket science, it's been a stumbling block for a number of programs? Nobody's bothered to write a competent replacement, can that be right? And they call us whiners instead of coders?
Bruce
Re:Another slashdot poll suggestion (Score:2)
Bruce
Write around it (Score:2)
Bruce
You missed some (Score:2)
Bruce
Re:GPL code in a QuickTime/ActiveX component (Score:2)
Bruce
You can't be serious (Score:2)
With all due respect, had you read the GPL you would have seen that it explicitly makes an exception for standard facilities distirbuted with the compiler and operating system. I wish people would at least refer to the darned thing while arguing.
You argument also has an implicit assumption that executable form of the application is GPLed, and I don't believe the text of the GPL supports that. (That's another argument entirely though).
Yes, the executable is under the GPL license. That's really fundamental - there would otherwise be no compulsion do distribute source. If it's not GPL-ed, it's All Rights Reserved, so this would gain you nothing.
I am afraid I can't, at present, grant that you are competent to discuss the GPL at all. Please read up and try again.
Thanks
Bruce
Re:No loophole (Score:2)
Thanks
Burce
Re:I think you're going about this the wrong way. (Score:2)
You know, courts do consider intent.
I am not responsible for the GPL text and have suggested several improvements to RMS, to no avail so far. If it gets bad enough I will write my own license, but I don't want to add to license proliferation unnecessarily.
Thanks
Bruce
Think again.. (Score:2)
You're making a very selective reading. The form of use you postulate is actually derivation, and thus you have to heed the language regarding derivation.
If you really made a BSD-license library that actually did the work and distributed it freely, you could get away with the postulated scenario.
However, if it happened that your library was a mere stand-in, something so insufficient that the GPL version would always be used by your customers, or if its license terms or distribution were such that you could not reasonably assume that the user would make use of your library, it would be easily demonstrable that your library is simply a device for circumventing the license.
Also, shipping a library with a product that makes use of it does not satisfy the definition of mere aggregation. Aggregation applies to unconnected products.
Thanks
Bruce
The C library really is LGPL (Score:2)
But the Linux C library very clearly is under the LGPL. Believe me, we've checked that out very carefully.
Thanks
Bruce
Re:This is a really simple answer... (Score:2)
Bruce
I'm afraid you're confused about this (Score:2)
Also, the GPL claims no rights to anybody else's code. It simply disallows use of GPL code with programs under most software licenses. If you don't like the GPL, you simply should refrain form using GPL components in your programs.
Thanks
Bruce
No, Sorry (Score:2)
Thanks
Bruce
No loophole (Score:2)
Thanks
Bruce
Re:In Defense of the LGPL (Score:2)
Sure it does! We use it for most of the libraries on Linux, for gosh sake! It's because we explicitly want people to be able to create proprietary applications on their Linux systems.
Was anybody arguing with that?
To me, that's what free software should be about, a way to facilitate the free sharing and communal improvement of your code, not forcing others to do the same if they don't want to.
Well, consider that there is another sort of forcing. I don't want someone to force me to participate in their proprietary product, with no compensation on my part. But that's what happens when somebody else includes my code. So I use the GPL to protect from that. If they want my code in a proprietary product, they can pay me for a commercial license. Thus, the GPL actually promotes payment for use of my code in this case! Nasty, pro-commercial GPL! :-) . Now, with most librarary work I do, I've waived that protection and used the LGPL so that producers of proprietary stuff will be able to use my code. It's a choice that I make as copyright holder every time I write something.
Thanks
Bruce
Consider the copyright holder's intentions (Score:2)
Let's not forget that commercial licenses are an option. The fact that the GPL is on something doesn't prevent you from negociating for one.
Thanks
Bruce
Re:BSDL prevents this mess (Score:2)
Re:BSDL prevents this mess (Score:2)
Re:What a bunch of CRAP! (Score:2)
BSDL prevents this mess (Score:2)
``Intermediate'' GPL already exists (Score:2)
The type of intermediate GPL already exists. To use it, put your work under the GPL and then say "As a special exception, you may also do foo, where foo is replaced by whatever you want to permit (e.g. link with MPL or QPL code).
Note that the copyright owner is the only one that can add exceptions, and for works with many owners, all the owners have to agree
Re:This is a really simple answer... (Score:2)
3. Any closed source programs that you make which reference the library do NOT have to be GPL'd and their source does NOT have to be open, but of course, it would be better for everyone if it were.
The GPL does not clearly indicate what is vs. what is not a derivative work in all cases, at least as far as the actual text of the license. While the text may be clear to a lawyer, it is not clear to me. However, what is clear to me is that the general understanding of the implications in the discussions I have seen in the Free Software world is that linking against GPL code is only legitimate if your code is also under the GPL. Thus this library, under the GPL, _requires_ your code to be released under the GPL, unless you choose not to link against it (use it) in your program.
What's a "derived work"? (Score:2)
If linking is creating a derivative work, don't link. Let the user do the linking.
This has been discussed in the past, and I believe the concensus was that the application would still be a derived work by virtue of being intended for use with that particular piece of code. (Same goes for libraries that are only available in GPL form.) On the other hand, this theory may not withstand a legal test...
I don't think function names are copyrightable at all. Otherwise projects like WINE would be in a big trouble.
This is a good point. If Microsoft can't stop us from imitating their APIs (and I'm sure they would if they could), why should we expect to be able to protect our APIs? I don't know what the answer to this is...
Re:This is a really simple answer... (Score:2)
I am not a lawyer, but my understanding is that using an API which is specifically to access the GPL'd library makes the calling application a "derived work". If the application is coded to an existing API for non-GPL'd code, it cannot be said to be derived from the GPL'd code. Making a glue layer to translate the non-GPL API to the GPL'd library's API would be new code covered by the GPL. Linking the application with that library, despite the changed API, almost certainly requires the application to be distributed under the GPL.
If it's a shared library (DLL), the application can probably be closed, maybe even if the shared library is distributed with the application. If _only_ the GPL'd library is included, an argument might be made that the application is still a derived work; it might be necessary to include a proprietary shared library and leave it up to the user to replace it.
Check with a real lawyer if you're actually thinking of trying this.
On the ethical question of whether this is an okay thing to do, I'd say it's not. You may be able to find a legal way to do it (or maybe not), but legal != ethical. If you want to have the library used by a closed application, the best way is to convince the authors to relicense the code under the LGPL, which is explicitly designed for this purpose. Since they didn't use the LGPL, assume they don't want you using it with closed source. (On the other hand, if it didn't start as a library, maybe they didn't consider the possibility; they might be open to relicensing it...)
Re:This is a really simple answer... (Score:2)
If the GPL can claim this, Sun could claim that any code that "references" or "links with" their Java APIs should fall under their license, or Apple could claim that any code that "references" their OpenStep APIs should fall under their license. The POSIX organization might claim the same for the POSIX APIs, and Microsoft might claim it for Win32 (so much for Wine). There is also no reason why a license would stop at claiming "linking": if the "linking" reasoning applies, the expect or Perl script you write that is based on some licensed software might fall under its license merely for "using" the software if the license author writes that into their license.
So far, thankfully, companies generally seem to have been unable to successfully claim rights over APIs. Let's hope that GPL'ed software won't set a dangerous precedent in this area. If the GPL claims are valid, I think they call into question the foundation of much of free software, since much of it relies on using APIs that are non-free and could have onerous API license terms applied to it if the vendor so chooses and if this part of the GPL is found valid.
Re:I'm afraid you're confused about this (Score:2)
For dynamic linking, it isn't clear at all. I have understood RMS to have claimed in the past that if I distribute a program that is dynamically linked against a GPL'ed library, it falls under the GPL. (Once a binary compatible BSD-style library exists, then it doesn't, according to him.)
How is that related to API copyrights? It isn't quite the same as an API copyright, but it is pretty close, because it basically says that I must put code under the GPL merely because it uses an API that falls under the GPL; the fact that I don't actually distribute binaries derived from GPL'ed code doesn't exempt me.
"Don't use it" is, of course, the practical answer, but that's not the point. The point is that that the GPL seems to claim to be able to determine licensing for code that is connected to the GPL'ed software only through using its API; there is no copying or distribution of any GPL'ed code involved. And that's a dangerous precedent, I think.
Of course, RMS may simply be wrong on the dynamic linking issue. But the question isn't as simple as you make it.
Re:L/GPL and relicensesing (Score:2)
PLEASE -- use "reissue" not "change license" (Score:2)
I humbly suggest that we try to use the phrase "reissue the software under a different license" rather than "change the license".
It is more accurate. The original copyright owner can re-issue software and/or derivative rights under LGPL (or even a 'closed' license, to a commercial entity) without affecting the version issued under GPL. This is analogous to an author releasing a book in CD-ROM without affecting the rights of the hardcover purchasers. It's a 'reissue' of the existing work
Of course, traditionally, this distinction was less important, but in UCITA states, like VA, the copyright owner has the right to *change* the license retroactively at will.
We need the distinction between 're-issuing under a different license' and 'changing the (existing) license' if we are to fight the latter, or talk intelligently about either case.
"Changing the license" is simply too misleading
__________
Re:GPL vs LGPL (Score:2)
so you could change it with the permission of the author.
I just felt I should point out that it doesn't matter what license something is under if the original copyright holder agrees to change it. That is to say: the original copyright holder decides what the license is, no matter what the license may have been in the past. So, if the code in question were closed source under a typical EULA, and the author decided that he suddenly wanted to GPL it, he could! So, obviously, if you, as the copyright holder, want to allow someone to change the license, they can do so.
Supreme Lord High Commander of the Interstellar Task Force for the Eradication of Stupidity
A few thoughts (Score:2)
And the situation is even more complicated under WinDOS, since any executable needs to be linked specifically against the particular version of the DLL, making the situation one more of making calls into a library statically linked into the executable that just happens to be loaded from a separate file... In this case i think it would fall under the GPL.
If i'm wrong, feel free to correct me.
-----
Of course not. (Score:2)
I suppose it's possible that some people release code under the GPL without thinking about it, but I doubt that many do. Many of us - surely most of us - release code under the GPL precisely because of what the GPL requires of other parties who want to use the code, and we do not appreciate the continual attempts to work around those restrictions.
It amazes me that this kind of question even comes up, let alone comes up so often as it actually does. People seem to think that the GPL is unfair, and that they therefore should be free to take it and do with it what they please. How can they imagine such a thing? If they got code from Digital under a nondisclose agreement, and then decided that the agreement was inconvenient and inhibited them from doing what they wanted to do, would they think they had some built-in right to unilaterally move the code over to another agreement that they found more advantageous?
Of course not.
--
No Compile/No Foul (Score:2)
Why not use the code to write a GPL'd sound server, and have your game link up with the server? In fact, this is probably the best design anyway, as the game can take the server down and reinitialize it without affecting game state (if you changed your sound settings, for instance).
I don't understand everyones love for turning really complex things into libraries, but dread of making them deamons running in their own thread, where they belong. It is usually simpler to do it right.
"Elegant, Commented, On Time; Pick any Two"
Re:This is a really simple answer... (Score:2)
Factually incorrect.... (Score:2)
My Debian 2.2 documentation clearly states that glibc is LGPL'd.
Re:did he? (Score:2)
Submission to post: 3 months. now that's a backlog (Score:2)
playing code in a game you have to GPL the game"
Re:Correction (Score:2)
Re:Changing Licensing Terms (Score:2)
This is exactly why I called it the GNU General Public Virus 10 years ago, and have ever since. It is indeed a legal virus that contaminates everything it touches.
--
Re:BSDL prevents this mess (Score:2)
By preventing crime, and throwing criminals in jail, police limit the number of career choices available. Sometimes limiting people's choice is a good thing.
A lot of speculation, no proof. (Score:2)
This is an extremely important question, one that I have long wondered about, and probably one of the most important brough up on Slashdot in some time. I've seen a lot of opinions both ways on this issue, both here, now, on Slashdot as well as in other places in the past, but never including relevant information from the GPL itself. What follows is my interpretation.
It is completely legal to modify a GPL program, and redistribute it under the GPL. This is the fundamental point of the GPL. It is, therefore, completely legal to modify the program in such a way that it can be compiled into a library. It is most clearly not legal to take this, a derived work, and re-release it under the LesserGPL.
What is at issue here is the status of a third program, written to take advantage of the library with e GPL license. I believe that this program is not bound by the GPL. Here are the relavant sections of the GPL that lead me to conclude this:
From section 0 of the GPL:
This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you".
Activities other than copying, distribution and modification are not covered by this License; they are outside its scope.
Certainly the critical issue here is the phrase, derivative work under copyright law and the legal interpretation of it. Just because our hypothetical third application is not fully functional or usable without the GPLed library, does not necessarily mean that it is a derived work.
This is further supported by Section 2 of the GPL:
These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. [ ... ]
Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program.
But, the critical phrase is the one I left out above:
But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it.
Therefore, the critical distinction comes as a result of distribution. If the GPLed library is distributed with the third program, then third program is infected by the GPL. However, if the third program is distributed apart from the library (separate tarballs, for instance) I believe that the third program is not infected with the GPL and can be released under whatever license the author desires.
Several people have mentioned Section 10. I believe that section 10 can be used if the author of the third progam wishes to include the GPL code as part of his distribution. However, it is not a controlling issue of the author of the third program desires separate distributions.
Of course, someone could just ask RMS for his thoughts on the issue...
-p.
Re:This is a really simple answer... (Score:2)
You can't link a GPL program to closed libraries, unless they are part of the base OS distribution.
This is how you can write GPL code for OS's like Solaris or MS Windows.
There were issues about this before, in the early days of KDE, back with Klyx and Kimp and stuff.
Re:GPL vs LGPL (Score:2)
> proving that the LGPL actually have fewer restrictions,
> and is therefore more free.
But "free" is a word with multiple meanings, all of them vague as well. For example you could argue that a nation which drafted its citizens into an army which could repel a hostile invasion was free-er than a nation with no draft, which proved impotent against invasion. Or maybe not. Or that citizens who pay taxes, on official demand, to support a police force which makes it possible to walk the streets at night, is free-er than a country which has no police at all and the accompanying crime you'd expect. You might argue the opposite of that too.
"Free" is commonly used to mean "unconstrained," or it could mean "unoppressed," two notions which are sometimes at odds. Excuse me for being so picky over just one word, but I've seen this same argument, based on one meaning of "free," elsewhere in comments to this article, where the word "free" is used as a solid building block in the foundation of a syllogism.
Beside its literal meaning, "free" is also a really great cheerleading word. People love to hear the word "free," they thrill inside a bit whenever they hear it, which is why it is so often employed, in so bewildering a variety of meanings, in so much persuasive writing, such as Mr. Stallman's.
If by "free" what you mean is no restraint, and if that's what you value the most, then it's clear that simple public domain is the way to go; anything less, any license at all, is an attempt to keep a grip on "your property." Not that there's anything so inherently wrong with the idea of "your property," when after all, you wrote it!
Yours WDK - WKiernan@concentric.net
Re:Its up to the original author(s) (Score:2)
You have to GPL stuff that uses the library and is distributed together with the library.
There's an interpreter (called Hugs) for the functional language Haskell out there. It can be linked with the GNU readline library, which is GPL (rather than LGPL). Does it mean that Hugs is GPL now? No, its authors don't distribute readline, so its licence terms do not apply to Hugs.
IF they distributed a compiled Hugs binary with readline, OR a source tree that combines Hugs and Readline, THEN GPL would apply.
Of course they cannot take readline and magically convert it to use LGPL.
--
Re:This is a really simple answer... (Score:2)
--
Re:This is a really simple answer... (Score:2)
You will not be able to distribute all three components together. So what?
--
Re:I think you're going about this the wrong way. (Score:2)
--
Re:Doubtful legality, and sleazy in any case. (Score:2)
--
Re:GPL code in a QuickTime/ActiveX component (Score:2)
GPL permits you to copy things, if you agree to certain conditions. Nothing more, nothing less.
If you write your non-GPLed app to call anything GPLed, and don't copy anything GPLed in the process, you may distribute your app provided that you don't distribute non-GPLed stuff and GPLed stuff together as a whole. The whole may be in the form of statically linked executable, or source tree. It doesn't matter.
--
Re:Consider the copyright holder's intentions (Score:2)
If Disney and Warner intended their work to be used fairly, they wouldn't put them in a format with encryption and region codes, and wouldn't sue people who distributed DeCSS. This does not mean that people who distributed DeCSS are somehow wrong.
--
Re:GPL code in a QuickTime/ActiveX component (Score:2)
If you do copy GPLed code, then conditions of GPL do apply to things that you combine with that code. That is, if you distribute yourapp and gplapp and a script that contains "yourapp|gplapp" together as a whole, you may have to licence yourapp (and the script) under GPL.
--
Re:This is a really simple answer... (Score:2)
I don't think function names are copyrightable at all. Otherwise projects like WINE would be in a big trouble.
--
(L)GPL & UCITA (Score:2)
I can use EMACS to write a novel, but the novel isn't a derived work from EMACS.
Assuming there was a video format that was supported only by GPL software, I could release a movie in that file format, that was unusable without the software, and the movie would not be a derived work of the software.
If I dynamically link GPL'd system libraries in a commercial software product, it isn't a derived work.
If I release GPL'd software that needs to call non-GPL'd libraries, I don't know how anyone could theorize that the libraries are a derived work of the software.
The whole thing is part of RMS's "don't use software tainted by the sin of commercialization" campaign. RMS's dreams are not law. RMS's most recent wishes for what people would do are not legally binding. Only the text of the GPL and the realities of copyright law matter.
The text of the GPL says "'work based on the Program' means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language." The original question seems to be just a sneaky way to create a derived work, if you are including the library with the program. On the other hand, if the library were already standard, then it wouldn't be. Assuming the GPL is valid, then it comes down to what the courts would consider a derived work. So ask for permission, or ask a lawyer. But even if it's technically legal, if you're just trying to swipe code without abiding by the author's wishes, you probably won't have much luck selling to the Linux community.
--Kevin
Re:I'll take 123 (Score:2)
___
Should be simple enough... (Score:2)
If you didn't write the original code, you can either release your stuff under GPL or write your own damn MP3 playing code. Keep in mind that the Frauhauf institute will want a piece of your action whether or not you're doing anything commercial, in the case of MP3s.
Here's the obligatory "I am not a lawyer, but I play one on TV."
Re:GPL code in a QuickTime/ActiveX component (Score:2)
GPL code in a QuickTime/ActiveX component (Score:2)
Does this mean that packaging GPL code intosomething like a QuickTime or Active X component is not allowed since the GPL could be unknowingly violated by programs using QuickTime? Where does the GPL say that this is the case? Does anyone else find it silly that if you package GPL code into a separate program, and then communicate with it from a proprietary program through some sort of IPC, it is okay, but if you package it as a library, and call it from a proprietary program, you are violating the GPL?
Re:Clear proof of "Stallman"'s irrelevance. (Score:2)
Do you have any evidence? No offense, but you sound like a troll and flamebait. Sounds like you're sick of rms, but are afraid to stick your name on it. Please prove me wrong.
> He's gotten away with this only because nobody in the "free" software "movement" has any formal computer science training at all.
This, at least, is blatantly untrue. Not many people do, I don't, but there are some. If you mean "few", not "nobody", please say so.
Evidence, links, documentation? Do I have the slightest reason to believe you?
I predict.... (Score:2)
Be thankful you are not my student. You would not get a high grade for such a design
Re:In Defense of the LGPL (Score:2)
A software license is unenforceable without a copyright to back it up. Any modifications they make are derivative work, and fall under their copyright. (No, IANAL and never will be.)
Re:In Defense of the LGPL (Score:2)
Re:In Defense of the LGPL (Score:2)
You've got a point, but you can be put in a situation where you've got to use a particular piece of software due to your job, etc. Ubiquity of any particular type of software means that somebody who can't stand it will have to use it.
Or perhaps you've forgotten why so many of us loathe the Beast [microsoft.com].
Ultimately, and I suppose this might answer the original story's poster's question, if I really wanted to mingle someone else's GPL'ed code into my proprietary software, I'd build a DLL under the LGPL which interfaces with both programs. A sort of "glue", if you will.
The nice thing about that is, even though I'm (hypothetically!!) obscuring the code of the proprietary half of my program, I've still got to release the modifications to the original GPL'ed work (if I expect anyone else to be able to successfully run my program), and I've got to release the source to my LGPL'ed "glue" library, thereby defining a convenient API for anyone who wants to write a free replacement for my program.
Net result: my boss is happy for the moment (he's just got a proprietary program out the door for a fraction of the development time), I'm happy (I'd've gotten a raise for my deviously ingenious scheme), and the rest of the world is happy (they're laughing because in 6 months, they'll have created a free replacement for my program, rendering it obsolete. Hopefully, by that time I'd be working somewhere else!).
Ultimately, in my hypothetical scenario, I would have, IMO, helped rather than hindered the open source movement, by increasing the user base of a quality GPL'ed program, creating an open API for linking that program with others, and leaving the door wiiide open for others to replace my program with a free alternative. And tricked my employer into releasing an open API for their proprietary program.
Granted, in this hypothetical scenario, I would have helped more if I just released my program under the GPL, but my hypothetical employer might be dead against that. (And in some states, any related work you do off the job can become the property of your employer. AFAIK, that's illegal here in California, but not everyone is that lucky.)
Re:In Defense of the LGPL (Score:2)
Key words in your post: "At least, that's what I think".
First, we're not dealing with "patents", we're dealing with copyright.
Second, BSD-style licenses allow others to take your code and re-release it under their own licenses, including proprietary ones, or (even worse) a license that allows distribution of the source, but not granting the freedom to release your modifications. The new work is under their copyright, which means that they can sue you for using what was originally your work!
Before you release your software under any terms, carefully review the license you choose, and fully understand it before you shoot yourself in the foot.
Re:A few thoughts (Score:2)
Remember that Linux has shared libraries too ( .so == "shared objects", or something like that).
Now, the LGPL lets your proprietary software call the functions in an LGPL'ed library, as long as it's dynamically linked. The GPL does not put up with that sort of thing.
If I'm not mistaken, the proper term for "shared objects" is "dynamically linked libraries". Regardless of the platform, the idea is the same.
(As for "a library statically linked into the executable that just happens to be loaded from a separate file"... umm... that sounds a lot like dynamic linkage to me.)
Re:In Defense of the LGPL (Score:2)
Nope. Although there was a time that I would have argued against that.
What made me change my mind was a little company called Loki Games [lokigames.com]. Their products (a) make Linux more fun to play games on, and (b) increase the adoption rate of Linux among end-users. This in and of itself is a boon to the open source movement.
Now, what enamored me with the LGPL was something related, the Simple Directmedia Layer ( SDL [devolution.com] ), by Sam Latinga, who just so happens to be the lead programmer at Loki Games.
But what I'm suggesting in the earlier post is to use the LGPL not as a Library GPL, but as a Lesser GPL, and in fact release actual non-library programs under its terms. It seems to me to be the ideal compromise between BSD-style licenses and a full GNU copyleft.
I mean, it is about freedom, isn't it?
Re:GPL for DLL (Score:2)
When using ordinarily GPL (so not necessarily LGPL!) for a library, everyone can dinamically link to it.
When using GPL for your program, everyone is free to put it in a library.
Conclusion: when you write a GPL program, EVERYONE can use it in their proprietory code, as long as they are smart enough to make a dll from it, and distribute that dll freely.
Whopee! Wonder when we'll see Microsoft(R) GIMP(tm) 2000
It's... It's...
Conventional Wisdom says No, But... (Score:2)
Conventional Wisdom and the official policy of the FSF would say that any program that links to the code would be a derivative and must be subject to the GPL. I think not.
The restrictions in the GPL rely entirely on copyright. You receive a license to make copies and derivative works in exchange for agreeing that all derivative works will carry a license no more restrictive than the GPL.
I don't believe that an API exposed by a library is copyrightable in that it is a "method of operation". Methods of operation are explicitly not copyrightable. I don't believe that the "derivative work" theory will hold up. In the industry, compiler vendors don't try to claim that programs you develop using their licenses are derivative works. You may have to pay a license fee to distribute their library with your application, but you can either distribute the required library or point to a source like Freshmeat for the user to go get it. I don't think that anyone will ever be able to force you to stop distributing your app or release your source.
Anomalous: inconsistent with or deviating from what is usual, normal, or expected
Re:This is a really simple answer... (Score:2)
Fortunately for us all, you have this exactly backwards. A GPLed program if free to link to whatever it wants. The issue is with a non-GPL program linking to a GPL library, because doing so is considered (at least by the GPL) to be incorporating GPL code into your program - which makes a kind of sense, since the code is combined at runtime. Therefore, if you link to GPL code, you cannot distribute the software except under the terms of the GPL.
The LGPL is considered a "Lesser" license because it doesn't consider linking to be an incorporation of code, which means that software under any license, even a proprietary one, is allowed to link to it. That's why you usually see libraries placed under the LGPL - a library won't be successful, as in widely used, unless a variety of software can use it, which generally means allowing differently licensed software to use it.
With respect to the original problem, note that the GPL doesn't forbid a proprietary program from ever linking to a GPL library. For instance, Netscape Navigator for Linux was developed with the Motif libraries, which are proprietary. Now, I believe that the LessTif libraries are under the LGPL ... but if I was to find a GPL library that implemented the Motif widget set, nothing would prevent me from running Navigator with this library. I could not, however, distribute Navigator with this library (and neither could Netscape, or anyone else). Nor could Netscape develop Navigator with this library without GPL-contaminating their code. But they used Motif; as long as I don't distribute Navigator with this GPL Motif clone, everything's alright.
FSF is wrong. (Score:2)
I've read the filosofical posture of the FSF and I don't really get it. I mean, the have this axiom: "Software should be free, as in freedom" (strange a language that don't distiguish gratis from libre.) But after a geek I'm also an economist (I know, but at least we have to learn dynamic optimization, chaotic systems and topology, which is a lot better than most other social sciences, besides I've been redeemed working as a CTO in a
I believe that we should maximize the welfare of the society which is a function of the goods (a concept which I won't define yet) consumed (tip: axiom 1). I also believe in the greedyness of the human beings, not as an absolute value, but to a certain degree (tip bis: axiom 2). So I believe that we should enforce the property rights (tip: hypothesis 1. If you want to know why read Microeconomis, by Hal Varian.) This means that there should be property. I don't believe much in intellectual property, much less in the brain dead American law that let's you patent "anything manmade under the sun." Why? Ok, lets get to it.
If we want to maximize the welfare we want to use the biggest technology set available in the know universe. So ideally anybody should get free access to the most advanced technics in each fields (this doesn't mean that AMD Dresden fab should be open to anyone, but it's plans and underlaying technology should, at least until this point). So, from this point of view, if we consider source code as a technology it should be on the public domain. But being the greedy animals we are, making huge investemnts of resources on investigating technology for the sake of it just doesn't seem compelling. Evidently we need some incentive to make research and development more interesting. So if we allow the developer of a new technique or technology to reap some of the benefits that his work has brought to society, we may have a more people willing to do R & D.
Let's get to the software side of things. We can see a program as any other product, so let's think of it for a while (I wil try to discuss later a bit about the portions of a program, a tracendental point on this discussion.) It need a certain amount of resources to be designed, and another to be replicated. The former may be huge while the latter is insignificant. So what we have is that the cost of one extra unit of a program is basically costless. From microeconomics 101 we know that in order to maximize welfare the price of a good should equal the cost of the last unit produced (not exaclty, but close enough for a rant.) So from this point of view software should be costless. The problem comes from the huge development cost. If every all source code were in the public domain, then few programmers would work and programs which would increase the welfare would not be written even though the benefits to society are less than their cost.
But if all software were commercial we would end up paying way more than the development cost (cough*Windows*cough). Even worst, a lot of consumers of the software wouldn't pay it, even though the cost asociated with their consumption is in practice zero. Worst yet, all programmers should reinvent the wheel for each new program (not to mention the added storage and debugging costs). But let's add pattents that allow to get property on trivial code. So you should license a printf() function! Developers wouldn't even have the chance to reinvent the wheel, they would have to pay for it every single time.
Evidently, basic functions and algorithms should be almost free because all the other programs are based on those. But let's say that we have a huge company A that's competing with an even bigger company B. And a manager in Company A decides that they need a given software that's unavailable. That program means a lot of money to the, so they are willing to pay a lot for it. If they couldn't enforce their property on that software they wouldn't want to develop it because they would be investing money to get company B the same benefits without the costs. Or worst yet, some people simply like to own what they buy (not so crazy if you think about it).
But let's suppose that company B want's to pay for that program too. If there's a patent they won't be able to use it. So company A would have an unfair advantage to company B. Which hurts competition and don't maximizes welfare.
I'm letting the comments discuss my ideas while I continue to work. Don't bother to go my home page because I'm not posting this yet.
Regards,
Alejandro Belluscio
"Lesser", not "Library" (Score:2)
The LGPL was originally called the "Library General Public License", however RMS never intended it as "the GPL for libraries". To express his true intent, RMS renamed it the "Lesser General Public License.
See http://www.fsf.org/philosophy/why-not-lgpl.html .
DISINFORMATION ALERT (Score:2)
It's totally wrong that you can dynamically link your propriarity-non-gpl binaries with the GPL software, the license explicitly disallow it.
When it comes to making other communication methods to the GPL'ed library than dynamically linking it, it's getting a little in the grayarea, but your propriarity program would still use the GPL'ed code, if just not directly.
If I wanted to use a GPL library with a closedsource project of mine, I would have offered the author a certain amount money to sell you a license, which you CAN use with your closedsource application.
This is a very good system (I think), because while it give gnu software the advantage of being able to use GPL'ed libraries, it still permits commerical non-gpl software being used on a gnu system (like linux and the hurd). You can look at LGPL as a strategic transition from propriarity software to a world ruled by free (yes, as in speech) software. It's bait for big gpl-doubting companies...
Re:Changing Licensing Terms (Score:2)
Put that way, the GPL is almost like a virus -- it tries to replicate itself in any program it touches. :)
Another slashdot poll suggestion (Score:2)
What should we do if we're in this guy's shoes, and want to use a GPL'd library but need it to be LGPL?
It is not... (Score:2)
Congratulations comrade, you have corrupted your code.
Wanna buy some cheap Linux stocks now?
Talk to the author. (Score:3)
In that case, don't use MaPlay code to play MP3 files. What makes you think you have "justified" rights to this persons code in the first place? By releasing it under the GPL instead of the usual Windows shareware, he's giving you more rights to that code than you would normally have; but he hasn't made it public domain. Taking his code and using it for things not covered by the GPL (whether linking it into your game, calling it as a DLL, etc) is not allowed by that license.
That said, you have a few options:
Option 1: Write a separate executable program which plays MP3 files using the MaPlay source code. Release this program's entire source code under the GPL. Use this program from your closed source game, either by executing it each time you want to play an MP3 or (more efficient for frequent small MP3 playing) by leaving it blocking on IPC in the background until your game sends it a "play this" signal. This is how GIMP can be GPLed but still allow proprietary plugins.
Option 2:
Ask the original author(s) to use the code under a different license. It's their copyright; if you have their permission you can turn their code into an LGPL'ed DLL, into a closed source module, or whatever you want. Odds are 95% good that the authors will be fine with this, but you should get their permission first anyway; simply doing it and hoping they don't sue would be... distasteful, to say the least.
Comment removed (Score:3)
This is a really simple answer... (Score:3)
2. If you derrive MaPlay, a GPL'd program into a Library with a simple API, its still under the GPL, and you have to release the source if you distribute it.
3. Any closed source programs that you make which reference the library do NOT have to be GPL'd and their source does NOT have to be open, but of course, it would be better for everyone if it were.
-- iCEBaLM
this is why you need to think about these things.. (Score:4)
by mcc (mcc@drowned.cx) on soon (#)
(User Info) http://drowned.cx/
this is why people writing open source software need to think these things out ahead of time..
i personally like the restrictions of the LGPL better and think they're a lot more "fair". but i realize they shouldn't be for everything.
if you're doing something that could conceivably be linked into, rather than just used, you have to take the time to think out whether it would be better to put that part under the LGPL.
look, for example, at Macintosh NSCA Telnet 3.0, which the NSCA has given to this guy to continue work on. The guy placed it under the GPL/LGPL, and the way he did it is a model of well-thought-out application of the LGPL. The "library" portions are LGPLed-- the low-level bits,the bits that someone could concievably reuse later as a basis for a telnet feature in some other program. Such that people will feel free to use it casually, improve their software and maybe improve the LGPLed open bits (which they would then have to redistribute the source to) without having to go to the trouble of totally opening something they may not feel ready to open.
The front-end bits, meanwhile, the bits that you wouldn't want anyone outright stealing, are GPLed.
Each individual
But most people don't think these things out, they just slap "GPL" on it, and it doesn't occur to them to think whether some of it it may be better for everyone in general if they allowed some of the bits of the program to be linked against.
Software in the "public good" doesn't mean it HAS to be GPLed.. THINK about how people may best be served by your program, and think about what may inspire them most likely to _use_ your library to link against, and maybe as a result improve it in ways they wouldn't if they didn't have a use for it.. Even if it isn't a library, even if it's something that could eb adapted into a library. THINK.
``Intermediate'' GPL? (Score:4)
Since we're on the topic, I'd like to as the following: do you think there's room for an ``Intermediate'' GPL, between the (Greater) GPL and the Lesser GPL?
More precisely: the .*GPL says that all derivatives of the work must remain free. The Lesser GPL allows linking of any programs / libraries (even proprietary programs / libraries) in the program / library under discussion. Whereas the (Greater) GPL allows linking only with programs / libraries that can be redistributed under the terms of the GPL.
For example, an LGPL'ed library can be used by a proprietary program. A GPL'ed library cannot, but it cannot even be used by a free program such as Mozilla (yet it can be used by a program covered by the BSD license for example), since Mozilla cannot be redistrubted under the terms of the GPL (whereas a BSD-licensed program can).
Now isn't there room for an intermediate license which would forbid linking with proprietary programs just like the GPL does, but allow linking with free software even if they are covered by licenses, such as the MPL or the QPL, which do not permit redistribution under the GPL's terms? I think this would achieve the goals which Stallman wants when he insists that some libraries should be covered by the GPL, and at the same time it would avoid excessive restrictions (consider how the expat library is released under the alternative between the GPL and the MPL: evidently jclark would have used such an Intermediate GPL).
The idea seems so obvious I can't understand why it hasn't been applied yet? Is there some basic legal fact I'm missing here?
Re:This is a really simple answer... (Score:4)
Any program which references the library is considered a derivative work of the library according to the terms of the GPL.
You agree to that definition of derivative work by accepting the GPL.
If you do not agree to that definition you are not following the terms of the GPL, and thereby have no license to redistribute it.
Either accept the GPL, or don't accept the GPL.
This prevents people from taking a GPL app, turning it into a library, then selling a new front end.
Re:This is a really simple answer... (Score:5)
If you want to use a GPL library, even with dynamic linking, you should either GPL your program, or find another library to use. So, you can make the program into a GPL library and make a GPL program on top of it.
If you are concerned that you can't make a proprietary application that uses the library, you should consider that the copyright holder would have used the LGPL had they wanted you to do that, whether or not the program was a library at that time.
Thanks
Bruce Perens
In Defense of the LGPL (Score:5)
The LGPL does have its uses, despite RMS' deprecation of it.
For example, if I wanted to release my software under a less restrictive license than the GPL, I'd be tempted to use the BSD license at first, but if someone incorporates that into a proprietary license, (especially those nasty "source available" licenses that claim to be open source but aren't), then they can sue me for using something derived from my code!
If I use the LGPL, then any portion of the code that was originally mine stays available for me to use with whatever modifications others add, but it's still usable by anyone, even those whose bosses insist that they write (gasp!) proprietary software.
If later on, I decide that I want to spread free software "virulently", I can still place my LGPL'ed software under the GPL (the LGPL explicitly lets you do that), just as I could if I had placed it under the BSD license.
To me, that's what free software should be about, a way to facilitate the free sharing and communal improvement of your code, not forcing others to do the same if they don't want to.
IMHO, ESR really hit the nail on the head when he identified the "Bazaar" style of development popularized by Linux. Open source software can compete on its own merit, without resorting to a Borg-like assimilation of all the world's software.