| Program license | The code may be reused in programs licensed under ... | The original license text must appear in all copies (with "copyright (c) year author") | If it is a library, it may be used by programs licensed under ... |
|---|---|---|---|
| Free and "really free" | |||
| Public domain | any license | no | any license |
| BSD-style license | any license | yes | any license |
| Free but not "really free" | |||
| GNU LGPL | GNU LGPL or GNU GPL | yes | any license |
| GNU GPL | GNU GPL | yes | GNU GPL |
Releasing programs into the public domain or licensing it under a BSD-style license has nearly the same effet: people can use your code in their own programs, if your code is a library, they can link against it. What is important is that they can do that no matter the license they choose for their software. If you write a program and license it with a BSD-style license or release it into the public domain, you make it possible to use your work in other programs that can be GPL/LGPL-licensed, BSD licensed, proprietary or in the public domain.
You can find more information about public domain and BSD license on our recommended licenses page.
The GNU General Public License and the GNU Lesser General Public License are a free software licenses, written by the Free Software Foundation, that implements the idea of "copyleft". Copyleft means that "copylefted" code can be used in other programs, as long as these programs use the same license. For example, if you want to include some GPL-licensed code in your program, you must license your program under the GNU GPL.
The idea of copyleft is often presented as "you can use free software in your program if you also make your program free software". The reason is that the GNU GPL and LGPL forbid using code licensed under them to be included in proprietary software. But it is important to note that they also forbid using copylefted code in software licensed under other free software licenses (as BSD-style licenses). So if you license a program under the GNU GPL or LGPL you will forbid using your work in proprietary software and in free software licensed under other free software licenses.
The GNU LGPL does what we have presented as copyleft, if you find LGPL licensed code you can either:
Of course, if you do both, you must license your program under the GNU GPL or the GNU LGPL, as the most restrictive rules prevails.
The GNU GPL is also a copyleft license, but unlike the LGPL, it requires, if the licensed code is a library, that programs that use this library are GPL licensed. If you find GPL licensed code you can:
As the most restrictive rule prevails, if you want to use GPL and LGPL licensed libraries you have no other choice than the GPL.
$Id: list.cgi 159 2008-01-15 09:12:38Z almacha $
This page is in the public domain. You can copy, modifiy and redistribute it freely.
Available languages: