kids encyclopedia robot

GNU Lesser General Public License facts for kids

Kids Encyclopedia Facts
Quick facts for kids
GNU Lesser General Public License
File:LGPLv3 Logo.svg
Logo
Published 1991; 34 years ago (1991)
DFSG compatible Yes
OSI approved Yes
GPL compatible Yes
Copyleft Yes (library or dynamic linking-based)
Linking from code with a different license Yes

The GNU Lesser General Public License (often called LGPL) is a special set of rules for computer programs. It's like a permission slip that tells people how they can use, share, and change certain software. The Free Software Foundation (FSF) created it.

This license lets software developers and companies use parts of programs (called "components") that are under the LGPL. They can even use these parts in their own programs that they sell and keep secret (called proprietary software). They don't have to share the secret code of their own parts. However, if someone changes an LGPL-covered part, they must share their changed version under the same LGPL rules.

The LGPL is often used for software libraries. These are like toolkits that other programs can use. The LGPL was made to be a middle ground. It's not as strict as the GNU General Public License (GPL), which requires almost all linked code to be shared. But it's also not as loose as other licenses like the BSD license or MIT License. The word "Lesser" means it gives a bit less freedom to the end user compared to the full GPL. It mainly focuses on keeping the LGPL-covered parts free to modify.

History of the LGPL License

How the LGPL Started

The LGPL was first released in 1991. Back then, it was called the GNU Library General Public License. It was given the version number 2 to match the GPL, which was also at version 2.

Updates and Renaming

In 1999, the license got a small update and became version 2.1. At this time, its name was changed to the GNU Lesser General Public License. This new name showed that the FSF didn't think all software libraries should use this license.

LGPL Version 3

A newer version, LGPL version 3, came out in 2007. This version added more permissions and worked with GPL version 3.

LGPL vs. GPL: Key Differences

Understanding the Main Difference

The biggest difference between the LGPL and the GPL is how they allow programs to connect. The LGPL lets a program link with (or "use") other programs that are not under the LGPL. This means you can combine LGPL code with code that has different rules.

How Programs Use LGPL Code

When a program uses an LGPL library, it's usually done in a way that keeps the LGPL part separate. Imagine a program that needs a specific tool. If that tool is an LGPL library, the program can use it without having to share all its own secret code.

For example, if a program uses a "shared library" (like a `.dll` file on Windows or a `.so` file on Linux), it's generally seen as just "using" the library, not becoming a "derivative work" of it. This means the main program doesn't have to follow the LGPL rules for its own code.

Linking with LGPL Programs

The LGPL requires that if a program uses an LGPL-covered part, it must be possible to link that program with a newer version of the LGPL part. The easiest way to do this is by using a "shared library" system. This allows the LGPL part to be updated without changing the main program.

Compatibility with Other Licenses

Sharing LGPL Code with GPL

One cool thing about the LGPL is that you can take software released under the LGPL and then release it under the stricter GPL. This makes it easy to use LGPL code directly in programs or libraries that are under the GPL.

LGPLv3 and GPLv2 Compatibility

LGPL version 3 isn't directly compatible with GPL version 2. However, if a program released under GPLv2 says it can be used with "any later version" of the GPL, then it can be combined with code from an LGPL version 3 library. The combined program would then follow the rules of GPL version 3.

FSF Advice on Library Licenses

Why Not Always Use LGPL?

The old name, "GNU Library General Public License," made some people think that the FSF wanted all software libraries to use the LGPL. However, in 1999, Richard Stallman (a key figure at the FSF) wrote an essay titled Why you shouldn't use the Lesser GPL for your next library. He explained that while the LGPL is still useful, using the full GPL for a library can sometimes be better for promoting free software.

How LGPL Works with Programming Languages

Object-Oriented Programming and LGPL

Some people wondered if LGPL rules applied differently to object-oriented programming, especially when one part of a program "inherits" features from an LGPL-licensed part. The official GNU website has clarified this:

Inheritance works just like regular linking. The LGPL allows this kind of connection, just as it allows normal function calls. So, if your program inherits from an LGPL class, it's treated the same as if it were linking to an LGPL library.

See also

Kids robot.svg In Spanish: GNU Lesser General Public License para niños

kids search engine
GNU Lesser General Public License Facts for Kids. Kiddle Encyclopedia.