Saturday, 28 August 2010

Does open source mean 'free' usage?

If you are planning to use a open source software in your project have you considered the following?
Are you sure it's free? Are you sure that if you use this software in your product you can keep your source closed? Or are you sure you do not need to pay at all? Can you freely distribute your final product bundled with the open source software?
To find the answer of these questions - we have to understand software licensing. In this article, we will try to answer - "Are all open source softwares free?" , "Does free mean totally free?", " If these software are not free - do I have other options to use it? . We will start with different kind of software licenses and understand significance of each of these licenses.

BSD License

BSD licence allows free usage of copyrighted code. There are two types of BSD licenses currently available - "New BSD License" and "Simplified BSD License/Free BSD License".
New BSD License is a 3-clause license allowing redistribution and use in source and binary forms with/without modifications. For unlimited redistribution copyright notices and the license's disclaimers of warranty must be maintained. Also the names of contributors or the organization should not be used for endorsement of a derived work without specific permission.
Simplified BSD is a 2-clause license omitting the non-endorsemnent clause.

GNU Public License or GPL

Most popular license for free software projects(around 65% by some count). It's a copyleft license. That essentially means the modified or the extended (version using original code) work needs to use the same license as the original work. This mandate makes the code/software using GPL work also to be free.When someone distributes a GPL'd work plus their own modifications, the requirements for distributing the whole work cannot be any greater than the requirements that are in the GPL.One is allowed to make private modified versions, without any obligation to divulge the modifications as long as the modified software is not distributed to anyone else.

GNU Lesser General Public License or LGPL

It was designed as a compromise between the strong-copyleft GNU General Public License or GPL and permissive licenses such as the BSD licenses and the MIT License.The LGPL places copyleft restrictions on the program itself but does not apply these restrictions to other software that merely links with the program. The LGPL is primarily used for software libraries, although it is also used by some stand-alone applications, most notably Mozilla and OpenOffice.org and sometimes media as well.

Affero General Public License or LGPL

The GNU Affero General Public License is a free, copyleft license for software and other kinds of works, specifically designed to ensure cooperation with the community in the case of network server software.The Affero General Public License is the the GNU GPL V2 and "one additional feature", specifically covering the distribution of application programs through web services or computer networks.

Apache License

The Apache License allows the user of the software the freedom to use the software for any purpose, to distribute it, to modify it, and to distribute modified versions of the software, under the terms of the license.It requires preservation of the copyright notice and disclaimer,it allows use of the source code for the development of proprietary software as well as free and open source software.). In every licensed file, any original copyright, patent, trademark, and attribution notices in redistributed code must be preserved and, in every licensed file changed, a notification must be added stating that changes have been made to that file.

Dual License

Dual or multi licensing is commonly done to support free software business models in a commercial environment. In this scenario, one option is a proprietary software license, which allows the possibility of creating proprietary applications derived from it, while the other license is a copyleft free software/open-source license, thus requiring any derived work to be released under the same license.
Some examples of softwares using dual license are MySQL, JQuery, Mozilla Firefox, Perl, Ruby etc.

Summary table

License Nature Redistribution Conditions Softwares using this license
BSD Copyright Allowed unlimited for source/binary with/without modifications.
  • Allows free usage of copyrighted software
  • 3-clause requires contributors names must not be used for endorsement, while 2-clause license omits it.
FreeBSD, MacOS X
GPL Copyleft Allowed but the modified or extended work must be of equals or lesser restriction.
  • Mandates any modified or derived work to be of same or lesser restrictive.
ExtJs
LGPL Copyleft Allowed with restriction. A compromise between GPL and BSD. Restriction applies only to the program not entire software. Mozilla, OpenOffice.org, Hibernate
AGPL Copyleft GPL 2.0 for web applications.
Apache License Copyright Allows the user of the software the freedom to use the software for any purpose, to distribute it, to modify it, and to distribute modified versions of the software Does not require modified versions of the software to be distributed using the same license All Apache Software Foundation(ASF) softwares, Google Web Toolkit (GWT), Spring

References

No comments:

Post a Comment