Funding for 'IT Lab' Project, Phase 1: Progress of sticker sales. Purchase a sticker to help us reach our target.Updated: 2010-02-28 11:53
10.7%
Understanding Free & Open Source Software Licenses


by Buddhika Siddhisena


Introduction

 

Free&Open Source Software, or FOSS in short, has become a mainstream form of developing and releasing software that is beginning to be widely adopted in the Enterprise. Proprietary Software giants such as IBM and Oracle have embraced and supported FOSS in the recent past by donating Money [1],resources  and even Intellectual Property (IP) [2]to the cause. Some organizations such as the search giant  Google would not exist if not for FOSS. In order to crawl the web and index it as well as provide instant search and massive storage space, Google relies on tens of thousands of computers clustered together each running a customized version of the Free Operating System GNU/Linux. If not for FOSS, the licensing costs as well as development costs will outweigh the feasibility of any such system.

This cost savings is a direct result of the liberal License Agreements  under which FOSS is distributed under. In contrast the End User's Licenses Agreement (EULA) under which most proprietary software are distributed can cost anything from zero to thousands of dollars, because fundamentally those licenses severely restricts what the end user is able to do with the Software. The flexibility of FOSS is achieved by providing the end user, with the Source Code of the Software (Open Source) as well as the Freedom to study, modify, deploy and distribute copies (in the original or modified form), without having to pay any royalties.

Despite the advantages of FOSS, misconceptions and Fear-Uncertainty-Doubt (FUD)  surrounding technical and legal aspects continue to hinder its wider adoption. The purpose of this article is to discuss some of the legal aspects pertaining to the Free Software Licenses under which FOSS is distributed, so that organizations can make a better educated decision on when adopting FOSS in the Enterprise.

Background: Copyright and Public domain

Understanding the basics and motivations is helpful to understand the current state of FOSS Licenses. In the beginning a work created by an author was considered public domain, in the sense there was no law which gave the author any sort of legal ownership. As a result anyone was free to copy, modify or even plagiarize others work.

With the advent of the printing press, it became easier to make copies and this led to wide spread copying and plagiarism, mostly by the printers.  As a result the copyright law was created to protect the author's work being copied without permission.

Today, Copyright enforcement in most parts of the world takes place by default and instantly, at the time a piece of work is created and without having to register or declare it. While the usual practice is to place a copyright notice on the work, which is recommended as a reminder, it is unnecessary as every creation is by default copyrighted with all rights reserved. In other words, if the author wanted to put a creation under public domain, he or she would have to explicitly state that wish. Nevertheless, all copyrighted material  will eventually become public domain after some time (about 70 years after the author's death).

A point worth noting on copyright law is that one can only copyright the expression of an idea and not the idea itself. For example, while Disney has copyright on Mickey Mouse (which by the way has been extended beyond the normal 70 year period in the US [3],which legally prevents anyone from creating a Mickey Mouse look-alike, it doesn't prevent anyone from creating a different looking Mouse. Patents on the other hand were designed to protect an idea that is presented as an invention. Unlike copyrights, patents need to be applied and registered before it can be enforced and has a shorter expiration period (about 25 years) .

Software, similar to a printed book, also falls under copyrighted work and therefore copying without permission is prohibited. But while, one can purchase a legitimate copy of a book and read, it is not possible to purchase a piece of software and use it without first copying it. In other words, before you could run the software, you generally have to install it on to the hard drive, which is a copying of material. Each time you execute the Software, a copy of it will have to be made in memory. Therefore it is impossible to consume software, without fundamentally violating its copyright.

Fortunately,  software is seldom released without some sort of permission statement allowing it to be executed. This can range from the most simplest one liner saying “This Software is released as public domain” to a complex legal document stating in legal jargon the terms and conditions for using the software. This legal document is generally referred to as the License Agreement, the subject of this article. Proprietary software is generally released under such a custom license, each different from another but commonly referred to as an EULA.


Copyleft

Copyleft was a play on words to mean opposite of right or the fact you are left with a copy. Instead of “All rights reserved”, as RMS puts it, we have “All rights reversed”. Copyleft is essentially a type of license that explicitly gives the user permission to copy, modify and distribute originals or derivatives as long as  its copyleft license is kept intact.  In order to achieve this legally, Copyleft actually depends on the existing copyright law.

The idea of Copyleft was devised by Richard M. Stallman (RMS), while he was working at the AI labs of MIT, where he had some unpleasant experiences as proprietary software began to be more prevalent [4]. As a result he left MIT and founded the Free Software Foundation (FSF) and within it the GNU Project, which was a rewrite of a UNIX like Operating System. When releasing  software for the GNU Project he needed a copyleft licenses and so wrote the GNU General Public License (GPL) as an example copyleft compatible license, which ended up becoming the licenses of choice for the majority of the FOSS projects, including the prominent Linux kernel.

A license is said to be Copyleft License when derivatives of software under this license must also be licensed under the same Copyleft license (relicensing of the derived work is not allowed).


FOSS Licenses

A list of FOSS Licenses are published by both the FSF[5], the promoters of Free Software,  and the Open Source Initiative (OSI)[6], the promoters of Open Source Software. For the most part, as far as the widely used FOSS Licenses go, both lists are identical.

It is important to understand that FOSS Licenses were designed to protect Four (4)  software freedoms. Therefore all FOSS Licenses has the legal language to grant the user with these 4 freedoms in addition to other freedoms or restrictions specific to those licenses. These 4 freedoms as defined by the FSF [7](and similarly defined by the OSI [8]) are:

There are mainly two types of FOSS Licenses:

1.    The freedom to run the program, for any purpose (freedom 0)

2.   The freedom to study how the program works, and adapt it to your needs (freedom 1). Access to the source code is a precondition for this.

3.    The freedom to redistribute copies so you can help your neighbor (freedom 2).

4.    The freedom to improve the program, and release your improvements to the public, so that the whole community benefits (freedom 3). Access to the source code is a precondition for this.

FOSS Licenses falls under two categories:

l  Copyleft Licenses (GNU GPL)

l  Non-Copyleft Licenses


Copyleft : GNU GPL

As mentioned earlier, Copyleft Licenses cannot be sub-licensed under a different licenses under any circumstance. For example, of some one was to develop a Software component which linked a GPL Licensed (GPLed) component with a “New BSD” Licensed component , the new component will have to be licensed under the GPL.


 

Some refer to this nature of the GPL Licenses to convert other licensed code when combined to GPL as being a “viral”. As a result, sometimes Enterprises tend to favor  the GPL. Most of the time, this fear is a result of misunderstanding and FUD which is really uncalled for. Here are some of the common misconceptions surrounding the GPL.

 l  MYTH: Combining anything with the GPL means you have to GPL your bit.  This is  only applies if you are combining non-GPL code with GPL code in such a way that the resulting software is “derived” from the GPL code. For example you can run a non-GPLed software such as Flash on top of the Linux kernel which is GPLed without violating the GPL, because Flash is not derived from the kernel. On the other hand any Linux kernel driver has knowledge of the kernel and is generally considered as being derived.[9] For most part using GPLed software in conjunction with non-GPLed software or creating artifacts such as documents using GPLed software doesn't cause any problems.

l  MYTH: All modifications to  GPL software must be released. Modifications of GPLed software to create derivatives for private use is allowed by the GPL. Here the entity does not have to be an individual and can be an Organization. The modified source code has to be released only when the modified software is distributed to the public (group or  individual). As an example, Google runs a modified version of the Linux kernel on their cluster and doesn't need to release those modifications because they are not distributing that software to the public.

 | MYTH: You can't sell GPLed software. GPL does not restrict anyone from selling GPLed software, and does not place any price restriction. As part of compliance, one is required to make the source code available at cost not exceeding the cost of the binary software package. But as per the GPL, the user that purchased your software can then sell or give away at no cost copies and so it is unlikely you practically over charge. 

These are just some of the popular myths. See the resources section for some links with more about the GPL. Since the GPL is the most popular FOSS License out there, one would be foolish to completely ignore it when considering FOSS based deployments.


Non-Copyleft Licenses

Most of the FOSS licenses are Non-Copyleft in the sense they relax Copyleft under certain conditions whereby those software components can be combined with differently licensed components to build a derived software that has a different licenses. Such licenses are in a sense weak-Copyleft because they don't completely do away with the Copyleft philosophy. The Lesser GNU GPL (LGPL) is such a license that was designed primarily to be used with software libraries, whereby you can link to a LGPL library from a proprietary software without changing the license of the proprietary software. On the hand, changing the LGPL library itself requires you to use the same LGPL license on the derived library.

 

Many of the “New BSD” / X11 style licenses are known to be popular among Enterprises for  strictly being a Non-Copyleft license by allowing all forms of derivatives to be licensed under even a proprietary license. These types of licenses are very simple in terms of the legal jargon used and therefore easy to understand.

* Copyright (c) <year>, <copyright holder>

* All rights reserved.

*

* Redistribution and use in source and binary forms, with or without

* modification, are permitted provided that the following conditions are met:

* * Redistributions of source code must retain the above copyright

*    notice, this list of conditions and the following disclaimer.

* * Redistributions in binary form must reproduce the above copyright

*    notice, this list of conditions and the following disclaimer in the

*    documentation and/or other materials provided with the distribution.

* * Neither the name of the <organization> nor the

*    names of its contributors may be used to endorse or promote products

*    derived from this software without specific prior written permission.

*

* THIS SOFTWARE IS PROVIDED BY <copyright holder> ``AS IS'' AND ANY

* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED

* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE

* DISCLAIMED. IN NO EVENT SHALL <copyright holder> BE LIABLE FOR ANY

* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES

* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;

* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND

* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT

* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS

* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.


Dual Licensing

As the copyright holder a work, one of the rights that one gets is the ability to licenses that work under multiple licenses, either simultaneously to everyone or selectively to an individual or groups. For instance, some GPLed software authors such as the copyright holders of the MySQL database  will sell you a traditional proprietary license that allows you to develop a proprietary software, which is not possible if you used the GPL.

Some FOSS projects even offer the software under multiple FOSS licenses to enable its usage to a wider community where having just one license will make it impossible to integrate with an incompatible  FOSS license. For example parts of the popular desktop KDE, are provided under as much as six (6) licenses, at the time of writing [10]. 


Combining Licenses

Generally it is possible to combine many Non-Copyleft, FOSS licenses with the GPL software by relicensing them to GPL during linking. What is fascinating is that this relicensing can even occur dynamically at run time, as and when needed. For instance, a GPLed software can dynamically load the ZLib compression library which is licensed under Zlib, a “New BSD” style license by temporarily relicensing it to the GPL. This can be done only if the said Non-GPL license allows for this and it is considered compatible with the GPL.

LGPL and “New BSD” style licenses can easily be combined with other licensed software, as long as the terms of the License are adhered to.


Source: Free/Open Source Software Licensing, Shun-ling Chen


New Challenges

As technology adapts to new trends such as the use of Web Services or  restrictive measures such as DRM (Digital Rights Management), the FOSS licenses too have adapted to handle such situations so that the “Free software spirit” is preserved.  GPL has been updated to version 3 mainly addresses DRM and software patents related issues. AGPL (Afro GPL) is another license you are likely to hear about more often as more FOSS is written to make heavy use of web services. As an example the FOSS equivalent of twitter named Laconica as run by the popular site identi.ca is released under an AGPL license.


Further Reading

http://www.iosn.net/licensing/foss-licensing-primer/foss-licensing-final.pdf

http://www.optaros.com/en/publications/white_papers_reports/understanding_free_and_open_source_licenses_version_2_0

Disclaimer:

The Author makes no representations or warranties with respect to the contents or use of this document, and specifically disclaims any express or implied warranties of merchantability or fitness for any particular purpose.

This work is licensed under a Creative Commons Attribution 3.0 License (http://creativecommons.org/licenses/by/3.0/)

Share/Save
No votes yet

Post new comment

  • Web page addresses and e-mail addresses turn into links automatically.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Lines and paragraphs break automatically.

More information about formatting options