I don't know about you, but I'm not really good with all the legal mumbojumbo. All these licenses and agreements, they sound to me like they are not written to be read by human beings. Not to mention a bunch of terms that sound similar, but are not at all. As a person who makes and uses all kind of software, I feel like I should know more about licenses; what can and what can not be done under a specific license.
There are 2 major group of licenses: for proprietary and for open source software. Currently, I'm not interested in proprietary licenses, so, I won't write about them; you can read more on Wikipedia: Proprietary software.
On the other hand, I'm very interested in Open Source Licenses...
Some terms explained...
It is easy to mix terms like free software, open source software, freeware and such, so I'll try to explain them as I understood them. My main reference for this is Wikipedia.
- Free software (FS) — “free” as in “free” speech, not as in free beer. FS must be free to run, copy, distribute, study, change and improve by users. With every distribution of a FS, it's source code must be provided also. FS can be charged. Read more detailed about the philosophy of FS.
- Open source software (OSS) — the difference between FS and OSS is very little: if I got it right, besides the philosophy, the difference is that OSS can not be charged. Read more about OSS definition and about the differences here and here.
- Freeware software (FWS) — in most cases FWS is a proprietary software made available free of charge, but the source code is not published.
- Shareware software (SWS) — this kind of software in most cases is available on a trial period, or it's use is limited in some other way. To use the full software, without trial periods and limitations, users must buy the license for that SWS.
More about software categories can be found on the GNU Project page.
The reason we are here...
GNU General Public License
This license guarantees freedom for software authors and users; freedom to (re)distribute, modify, give and receive source code of the software and use parts of its code in other free software. If wished, free software can be charged, but must guarantee these freedoms to users of this software. Any redistributed or modified version of the original free software must stay under this license. If a free software is changed by another author, it must be marked as changed, so if any problem occurs with the changed version, the problems will not be attributed by mistake to authors of previous versions.
Software under the GNU GPL can be linked only to other software which is also licensed under the GNU GPL. Software that links to a software under the GNU GPL must also be under the GNU GPL.
If someone sees a violation of a GNU GPL, here's what he should do: Violations of the GNU Licenses.
GNU Lesser General Public License
GNU LGPL is a more permissive version of GNU GPL. It is mainly used for software libraries, but can also be applied to some stand-alone applications. A software under the GNU LGPL can be linked with software that is not under the GNU GPL or GNU LGPL; that software can be another free software or even a proprietary software.
Using GNU LGPL for libraries is discouraged.
The BSD License
The BSD License is a permissive license; conditions are that the original copyright notice, the list of conditions and the disclaimer must be included with every redistribution of the software. The software can be, with or without modifications, redistributed and used. It can be used in other free software or in a proprietary software. Another restriction is that the author of the software can not be used to promote modified versions of the original software, without his or hers written permission.
The MIT License
The MIT License is also a permissive license; it is very similar to the BSD License. Difference is that the author of the original software can be used for promotion without permission, if not stated otherwise in the license.
I found these 4 licenses to be the most interesting ones. Others are very similar, so I will not go into them — maybe in some future post.
I hope someone will find this little reading helpful. Any thoughts on this topic?
Btw, I recommend a good documentary movie, Revolution OS. It tells about the free software movement and the open source. Notable speakers are Linus Torvalds, Richard Stallman, Eric Raymond, Bruce Perens and others. Enjoy :)