Open Source Licenses Are Not All the Same

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.

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

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

strong copyleft licenses

weak copyleft licenses

no copyleft licenses

other 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:

"Conspicuously and appropriately" publish on each copy an appropriate
copyright notice and disclaimer of warranty

Keep intact all the notices that refer to this GPL and to the absence of
any warranty

Give any other recipients of the program a copy of the GPL along with the
program

Include prominent notices in the modified files stating that he changed
the files and indicating the date of any changes

Provide a complete, machine-readable copy of the source code for the program
either (1) with the executable form of the program, (2) downloadable from
the Internet, or (3) made available at cost on CD-ROM or other medium for at
least three years

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.