LWN.net Logo

LGPL - A change on the way (Groklaw)

Groklaw covers some changes to the LGPL license, as told by Richard Stallman and Eben Moglen at the GPLv3 conference in Barcelona, Spain. "Instead of being a separate license, the LGPL will be the GPL with additional privileges, a kind of template of what additions should be. First Stallman: One of the nice things this has enabled us to do is: we have been able to rewrite the Lesser GPL - the GNU LGPL - so that it uses this clause. The GNU Lesser GPL will not have to restate most of the things in the GPL, it will say it's the GNU GPL plus these added permissions. One of the other benefits we get from this is that we make it clear that any time someone adds extra permissions on top of the GNU GPL, that when you modify the program you can take off those added permissions. You can release your version under the strict GPL and nothing more."
(Log in to post comments)

LGPL - A change on the way (Groklaw)

Posted Jul 14, 2006 1:02 UTC (Fri) by zlynx (subscriber, #2285) [Link]

Being able to convert LGPL to GPL sounds like a bad idea to me. It is just going to provide the potential for lots of dumb lawsuits.

Group A releases a media framework under LGPL.

Group B adds new support to the framework and releases under GPL.

Group A likes some of the new abilities but cannot link GPL to their other stuff, so they have someone write out, say, some of the mathematics used for codec support from Group B's code and pass it to a Group A programmer. Or they use IM, or Email, or whatever. Then they release again under LGPL.

Group B yells and claims A just fiddled their code to look different and stole it.

etc, etc.

Because it's all source-available code, LGPL users will have to be super-paranoid to defend themselves against accusations of stealing GPL mods to their programs. Dumb.

LGPL - A change on the way (Groklaw)

Posted Jul 14, 2006 1:38 UTC (Fri) by Richard_J_Neill (subscriber, #23093) [Link]

I think it's meant to work sort of that way. Basically, the LGPL was originally termed the "library GPL" (iirc), with the intent being to allow proprietary code to link with an LGPL library. This is sensible for glibc, but not really for much else. When the "library" GPL was renamed the "lesser" GPL, it was to help clear up this confusion.

So, in part, the idea of LGPL->GPL is exactly that: to encourage everyone to move to the GPL, even for libraries - and to correct a historic mistake.
It's no different to taking some BSD or public domain code, modifying it, and putting the whole thing under GPL.

LGPL - A change on the way (Groklaw)

Posted Jul 14, 2006 2:03 UTC (Fri) by dlang (✭ supporter ✭, #313) [Link]

I'm sure that that's exactly what RMS hopes will happen to projects.

however, glibc does not account for all libraries. there are a lot of libraries out there (most of gnome and kde are supposedly libraries remember)

now it has always been possible to take a lgpl project and add gpl code to make the result gpl-only, so this is nothing new, they are just being more explicit in pushing for it to happen.

and personally, I think this is just one more thing that will slow the adoption of the gplv3 for many significant projects (note that I don't doubt that very quickly after the release of the gplv3 numericly the majority of projects will switch, but in terms of real projects that are under development I expect it will take a bit longer)

LGPL - A change on the way (Groklaw)

Posted Jul 14, 2006 4:59 UTC (Fri) by drag (subscriber, #31333) [Link]

""Being able to convert LGPL to GPL sounds like a bad idea to me. It is just going to provide the potential for lots of dumb lawsuits.""

Well since that is exactly how it works right now I dont' think it's a problem. LGPL is GPL compatable. Anyone at any time can release a GPL'd version of a LGPL program, right now.

They are just making it more obvious by explicitly stating it.

(Along with a couple other points about people adding additional restrictions. (like the example "Oh this GPL'd program is for non-commercial use only", which doesn't make sense. You'd have to use a different license entirely))

LGPL - A change on the way (Groklaw)

Posted Jul 14, 2006 1:50 UTC (Fri) by foom (subscriber, #14868) [Link]

That's no change. Quoted from the current LGPL (v2.1) text...

3. You may opt to apply the terms of the ordinary GNU General Public License instead of this
License to a given copy of the Library. To do this, you must alter all the notices that refer to this
License, so that they refer to the ordinary GNU General Public License, version 2, instead of to this
License. (If a newer version than version 2 of the ordinary GNU General Public License has appeared,
then you can specify that version instead if you wish.) Do not make any other change in these
notices.

Once this change is made in a given copy, it is irreversible for that copy, so the ordinary GNU
General Public License applies to all subsequent copies and derivative works made from that copy.

This option is useful when you wish to copy part of the code of the Library into a program that is
not a library.

LGPL - A change on the way (Groklaw)

Posted Jul 14, 2006 20:04 UTC (Fri) by iabervon (subscriber, #722) [Link]

This is, in fact, why Linus didn't use the LGPL for sparse; he didn't want to permit people to make changes to it that users of sparse in proprietary applications wouldn't be allowed to use.

LGPL - A change on the way (Groklaw)

Posted Jul 14, 2006 22:01 UTC (Fri) by drag (subscriber, #31333) [Link]

Was LGPL even around when Linus made his licensing change from his original 'no commercial use, return all changes' style license (I think that was how it was) to GPL?

LGPL - A change on the way (Groklaw)

Posted Jul 14, 2006 22:29 UTC (Fri) by iabervon (subscriber, #722) [Link]

I don't think so, but I was referring to the license on sparse (the static checking/C parsing program), not Linux. Linux wouldn't really make sense under the LGPL, anyway; I don't think there's any non-GPL code that kernel code could logically be loaded into.

LGPL - A change on the way (Groklaw)

Posted Jul 14, 2006 3:49 UTC (Fri) by kirkengaard (subscriber, #15022) [Link]

Never forget that GPL is not a renunciation of ownership or propriety. It is not Public Domain. It is freedom ensured by minimal necessary restrictions. Code you write, you control. Code you release as GPL, you still control. You have merely given sweeping use permissions to the users of your code. You have ensured that your code will remain available under that license, no matter what else happens.

Your hypothetical Group B is violating the license on Group A's code by modifying the downstream license. Group B only has scope to choose licensing on new code written by Group B.

From GPLv3:

"10. Automatic Licensing of Downstream Users.

Each time you redistribute a covered work, the recipient automatically receives a license from the original licensors, to propagate and modify that work, subject to this License, including any additional terms introduced through section 7. You may not impose any further restrictions on the recipients' exercise of the rights thus granted or affirmed, except (when modifying the work) in the limited ways permitted by section 7. You are not responsible for enforcing compliance by third parties to this License."

Anyone receiving code from Group B receives Group A's code under the license as dictated by Group A, the original licensors.

"7. License Compatibility.

When you release a work based on the Program, you may include your own terms covering added parts for which you have, or can give, appropriate copyright permission, as long as those terms clearly permit all the activities that this License permits, or permit usage or relicensing under this License. Your terms may be written separately or may be this License plus additional written permission. If you so license your own added parts, those parts may be used separately under your terms, but the entire work remains under this License. Those who copy the work, or works based on it, must preserve your terms just as they must preserve this License, as long as any substantial portion of the parts they apply to are present.

Aside from additional permissions, your terms may add limited kinds of additional requirements on your added parts, as follows:

* a) They may require the preservation of certain copyright notices, other legal notices, and/or author attributions, and may require that the origin of the parts they cover not be misrepresented, and/or that altered versions of them be marked in the source code, or marked there in specific reasonable ways, as different from the original version.
* b) They may state a disclaimer of warranty and liability in terms different from those used in this License.
* c) They may prohibit or limit the use for publicity purposes of specified names of contributors, and they may require that certain specified trademarks be used for publicity purposes only in the ways that are fair use under trademark law except with express permission.
* d) They may require that the work contain functioning facilities that allow users to immediately obtain copies of its Complete Corresponding Source Code.
* e) They may impose software patent retaliation, which means permission for use of your added parts terminates or may be terminated, wholly or partially, under stated conditions, for users closely related to any party that has filed a software patent lawsuit (i.e., a lawsuit alleging that some software infringes a patent). The conditions must limit retaliation to a subset of these two cases: 1. Lawsuits that lack the justification of retaliating against other software patent lawsuits that lack such justification. 2. Lawsuits that target part of this work, or other code that was elsewhere released together with the parts you added, the whole being under the terms used here for those parts.

No other additional conditions are permitted in your terms; therefore, no other conditions can be present on any work that uses this License. This License does not attempt to enforce your terms, or assert that they are valid or enforceable by you; it simply does not prohibit you from employing them.

When others modify the work, if they modify your parts of it, they may release such parts of their versions under this License without additional permissions, by including notice to that effect, or by deleting the notice that gives specific permissions in addition to this License. Then any broader permissions granted by your terms which are not granted by this License will not apply to their modifications, or to the modified versions of your parts resulting from their modifications. However, the specific requirements of your terms will still apply to whatever was derived from your added parts.

Unless the work also permits distribution under a previous version of this License, all the other terms included in the work under this section must be listed, together, in a central list in the work."

That next to last paragraph is the kicker here. They are free to release their modifications under straight GPL. LGPL terms will not apply to the modified parts of their distribution. It will be lowest-common-denominator Free Software. Group A is perfectly free to use all of it under GPL terms, but only the original Group A code under LGPL terms. They may not relicense the Group B code to LGPL (add permissions) any more than Group B could relicense Group A code to straight GPL (revoke permissions).

It's a feature.

links to 2 transcripts and 8 videos for GPLv3

Posted Jul 14, 2006 13:18 UTC (Fri) by coriordan (guest, #7544) [Link]

The transcripts include the Q and A sessions. The Moglen transcript is the source of the above LGPL story.

Copyright © 2006, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds