Published on (
 See this if you're having trouble printing code examples

Open Source Licenses Are Not All the Same

by Stephen Fishman

One of the most significant developments in the software and web development community in the past few years has been the increased use of open source software. It's vital for any programmer, web designer, or other computer professional to understand that open source licenses are not all the same. The differences between licenses can have a big impact on how you may use or distribute the software.

What Is Open Source?

Open source software is distributed under a license, just like regular proprietary software is. An open source license is a license with a difference: instead of keeping or expanding the software developer's rights, it gives them away. There is no single open source license; to date, more than 30 exist.

To help establish some degree of uniformity, the Open Source Initiative--a nonprofit corporation that helps promote and manage open source software--created the Open Source Definition. The Open Source Definition is not itself a software license. It is a specification of what must and must not appear in a license in order for the software covered by the license to be open source. However, it is important to understand that these are minimum requirements. Licensors are free to use licenses that go beyond the minimum. Thus, OSI-certified licenses are not all the same.

To meet the open source definition, a license must provide for all the following:

Free redistribution: First, the license must permit anyone who obtains and uses the covered software to sell or give it away to others without having to pay a royalty or other fee to the original copyright owner(s).

Source code access: An open source license requires everyone who distributes the software to provide unfettered access to the program source code. Although an open source arrangement does not require this, a popular approach is to provide the source code along with the object code form of the program. If the code does not come with the binaries, it must be available to users for free via Internet download, or on magnetic media for a reasonable fee at most.

Related Reading

Understanding Open Source and Free Software Licensing
By Andrew M. St. Laurent

Derivative works: The license must allow users to modify the software and to create new works based upon it. Legal parlance calls such new works derivative works. The license must permit the distribution of modifications and derivative works under the same terms as the original software. This provision, coupled with the requirement to provide source code, is what allows open source software to evolve so quickly. Programmers are free to modify and adapt the software--hopefully improving it--and release the modifications to the world for still other programmers to build upon.

No discrimination: The license must not discriminate against any person or group. In other words, everyone may use open source software so long as they abide by the open source license. In addition, the license may not restrict anyone from using the software in a specific field of endeavor. For example, it may not restrict the program from being used in a business or from being used for genetic research. This provision permits commercial users to join the open source community.

No restrictions on other software: The license may not place restrictions on other non-open source software distributed along with the open source software. For example, the license must not insist that all other programs distributed on the same CD-ROM or other media be open source. Thus, a company may distribute both open source and proprietary software in the same package. However, some licenses--notably the GPL (General Public License)--require that all software constituting a single work fall under the GPL if any of the software used in the work is GPL.

Comparing the Open Source Licenses

Even with these characteristics in common, there is no single open source license. The OSI web site lists and links to all the OSI-certified open source licenses.

For conceptual convenience, there are four broad categories or families of open source licenses:

Strong copyleft licenses: GPL (General Public License)

Copyleft (a play on the word copyright) is the key factor that differentiates the various open software licenses. Copyleft is a license requirement that governs the distribution of modifications to the original open source software. If a license contains a strong copyleft provision, anyone who modifies the source code and distributes it to the public must license the modifications back to the public under the same terms as the original software. This means that you must give up private ownership of any changes you make to copyleft software, unless you elect not to make the modified software available publicly.

The GNU GPL (General Public License), one of the first open source licenses and still by far the most widely used, was the first to implement copyleft. Linux, the most famous open source application, uses the GPL. Richard Stallman and Eben Moglen created the GPL and formed the Free Software Foundation to help promote and manage its use. The Foundation's web site contains much useful information on the GPL as well as a downloadable copy of the license itself.

Weak copyleft licenses

Some programmers who create or contribute to open source software don't want to give up all their ownership rights in their modifications. To meet their needs, several licenses contain watered-down or weak copyleft provisions.

Mozilla Public License

The Mozilla Public License (MPL) is the most popular open source license that contains a weak copyleft provision. It came about to distribute the Mozilla web browser (the open source version of the Netscape browser). It requires the inclusion or publishing of the source code for all publicly distributed modifications. The length of time necessary to publish the code is limited to a period of one year or six months, depending on the situation. The MPL's copyleft provision entails only changes to files subject to the MPL or new files that contain MPL-licensed code. New files that don't contain MPL-licensed code do not fall under the MPL.

No copyleft licenses

The Open Source Definition does not require copylefting; many open source licenses contain no copyleft provisions at all. A whole family of licenses contain no copyleft and few other restrictions on users. The best-known of these no-copyleft licenses is the Berkeley Software Distribution (BSD) License. One of the earliest nonproprietary licenses, it permits users to do virtually anything they want with BSD-licensed code: they may distribute the software--either for free or commercially--without providing the source code; they also may modify it and distribute the changes without providing the source code. Anyone can turn software distributed under no-copyleft licenses into proprietary software (and then relicense it for a fee) as long as they credit the developers of the original open source software. Two other well-known licenses, the Apache Software License and the MIT License, are very similar to the BSD License.

Other open source licenses

Various other licenses combine elements from the other license families and contain additional provisions as well. Examples include the Artistic License and the Academic Free License.

Practical Considerations for Using Open Source Software

Before you jump on the open source bandwagon, you need to understand the practical implications of using open source software.

First of all, simply using an open source program on a day-to-day basis ordinarily has no legal implications for the user.

For example, Ralph, a freelance programmer, takes a job at the Acme Power Corporation to create a program to measure the pollution created by its coal-fired power plants. He uses the GNU Emacs text editor to write the program and the GNU Compiler to transform it into object code. Both programs are governed by the GPL, but Ralph's program need not be unless it includes code from the GPL-licensed programs he used.

Additionally, you may include proprietary programs along with open source software on a storage or distribution medium without bringing the propriety software under the open source license.

Say that Ralph independently creates a database program that runs atop the Linux operating system, which is licensed under the GPL. Ralph may keep his database program proprietary and distribute it with a copy of Linux, because his program does not contain any Linux or other open source code. The two programs are completely separate works--placing them on a single hard drive or CD-ROM does not change that. Thus, Ralph may require users to agree to a restrictive proprietary license to use his database program, but not Linux.

Anyone who uses open source software has the freedom to modify the program or to incorporate it into other programs. That is the reason for providing source code to users. However, as long as your organization only uses the new work internally, the open source license will not affect you.

Let's assume that Ralph doesn't want to go through the time and trouble of creating an entirely new program for Acme and doesn't want to have to pay to obtain the right to use an existing proprietary program. Ralph instead decides to use an open source program called Coal Source, which accomplishes most of the tasks his client needs done. Ralph obtains the source code for the program for free from the Internet. Coal Source, like most open source software, is governed by the GPL. He makes several modifications to the program's source code so that it will better meet his client's needs. Acme uses the resulting program to help monitor its power plants. Because the company never makes the program available to the public, either through commercial distribution or by publishing it on the Internet, the copyleft provisions contained in Coal Source's GPL have no effect on Ralph or Acme.

You may also use open source software to provide services to the public without any copyleft provisions applying. For example, you can modify open source e-commerce software and place it a server to help operate a commercial web site. You're not publishing or distributing the modified software to the public, so your modifications do not fall under copyleft provisions.

The copyleft provisions of the GPL and other open source licenses apply when a user creates a derivative work from open source code and publicly distributes it, whether for fun or profit. In this event, the new code must use the same open source license as the original code. This means that the distributor must license the program as a whole at no charge to all third parties under the terms of the GPL.

Editor's note: I disagree with the phrase at no charge in the previous paragraph; the entity must license the program under the GPL and can charge only a reasonable fee for access to the source code, but I see nothing in the GPL that prevents charging for distribution.

For example, assume that Ralph decides to market a commercial version of his modified Coal Source program. Because he obtained the original Coal Source under the terms of the GPL, Ralph must distribute his modified version of the program under the GPL as well. The GPL requires that Ralph do the following:

Ralph cannot require that people who use his program agree to additional restrictions of the sort typically found in proprietary licenses--for example, he cannot forbid users from modifying the program.

Stephen Fishman is a San Francisco-based intellectual property attorney who has been writing about the law for more than 20 years.

Return to

Copyright © 2009 O'Reilly Media, Inc.