THE
FINE PRINT
Open
Source – Reciprocal Licenses
Open
source software is now a fact of life. The Apache HTTP Server
software is an integral part of the Web, while Unix and its progeny
are common Enterprise tools. Individual users may surf the Web via
Mozilla Firefox, replace Microsoft Office with Open Office or Libre
Office, and Ubuntu offers an alternative to both Microsoft Windows
and the Apple OS. More, open source “software foundries” have
proliferated, offering new programs and programming tools at little
or no cost. Download, install and use.
If
only it were that easy.
“Open
source” code is distributed under a license that permits users to
freely access and alter the underlying source code; licenses for
proprietary software, in contrast, routinely forbid such efforts. In
addition, open source products are offered free of charge. It is an
attractive proposition – good software, readily available (from the
Internet) at little or no cost. However, while open source code may
be “free,” in the sense that no licensing fee is required, but it
is not “free” of legal restrictions. A variety of “open source
licenses” have been developed by different members of the open
source community. Open source developers are generally free to chose
which license will apply when they make their products available to
the public. Moreover, a program constructed from a variety of open
source products could be subject to a number of different open source
licenses. The license analysis can become rather complex.
One
feature of open source licenses that causes concern is the
“reciprocity” requirement, which provides that when open source
code is combined with proprietary code, the resulting product must be
released as open source. Such a requirement would be unacceptable to
users who make their money licensing proprietary software.
But
this description is overly broad. Only some open source
licenses contain a reciprocity requirement; some do not. Perhaps the
best known example is the GNU General Public License (“GPL”),
version 2 of which provides:
2. You may
modify your copy or copies of the Program or any portion of it, thus
forming a work based on the Program, and copy and distribute such
modifications or work under the terms of Section 1 above, provided
that you also meet all of these conditions:
b) You
must cause any work that you distribute or publish, that in whole or
in part contains or is derived from the Program or any part thereof,
to be licensed as a whole at no charge to all third parties under the
terms of this License.
Two
things should be noted regarding this “reciprocity” provision:
- It applies to works that one distributes or publishes, not works that one creates for private (in-house) use.
- It permits one to publish proprietary products “along side” open source:
To
do this validly, you must make sure that the free and non-free
programs communicate at arms length, that they are not combined in a
way that would make them effectively a single program.
The
difference between this and “incorporating” the GPL-covered
software is partly a matter of substance and partly form. The
substantive part is this: if the two programs are combined so that
they become effectively two parts of one program, then you can't
treat them as two separate programs. So the GPL has to cover the
whole thing.
If
the two programs remain well separated, like the compiler and the
kernel, or like an editor and a shell, then you can treat them as two
separate programs—but you have to do it properly. The issue is
simply one of form: how you describe what you are doing. Why do we
care about this? Because we want to make sure the users clearly
understand the free status of the GPL-covered software in the
collection.
-------
http://www.gnu.org/licenses/gpl-faq.html#WhatDoesCompatMean
(September 18, 2013).
A
simple question remains: Does the benefit provided by a program
governed by a reciprocal license exceed the costs of releasing the
resulting product without charge and with no protection for the
source code?
Per
GNU, the current reciprocal open source licenses are:
-
- GNU General Public License (GPL) version 3 (#GNUGPL) (#GNUGPLv3)
-
- GNU General Public License (GPL) version 2 (#GPLv2)
-
- GNU Lesser General Public License (LGPL) version 3 (#LGPL) (#LGPLv3)
-
- GNU Lesser General Public License (LGPL) version 2.1 (#LGPLv2.1)
-
- GNU Affero General Public License (AGPL) version 3 (#AGPL) (#AGPLv3.0)
-
- GNU All-Permissive License (#GNUAllPermissive)
-
- Apache License, Version 2.0 (#apache2)
-
- Artistic License 2.0 (#ArtisticLicense2)
-
- Clarified Artistic License
-
- Berkeley Database License (a.k.a. the Sleepycat Software Product License) (#BerkeleyDB)
-
- Boost Software License (#boost)
-
- Modified BSD license (#ModifiedBSD)
-
- CC0 (#CC0)
-
- CeCILL version 2 (#CeCILL)
-
- The Clear BSD License (#clearbsd)
-
- Cryptix General License (#CryptixGeneralLicense)
-
- License of the ec fonts for LaTeX (#ecfonts)
-
- eCos license version 2.0 (#eCos2.0)
-
- Educational Community License 2.0 (#ECL2.0)
-
- Eiffel Forum License, version 2 (#Eiffel)
-
- EU DataGrid Software License (#EUDataGrid)
-
- Expat License (#Expat)
-
- FreeBSD license (#FreeBSD)
-
- Freetype Project License (#freetype)
-
- License of the iMatix Standard Function Library (#iMatix)
-
- Independent JPEG Group License (#ijg)
-
- License of imlib2 (#imlib)
-
- Intel Open Source License (#intel)
-
- ISC License (#ISC)
-
- Mozilla Public License (MPL) version 2.0 (#MPL-2.0)
-
- NCSA/University of Illinois Open Source License (#NCSA)
-
- OpenLDAP License, Version 2.7 (#newOpenLDAP)
-
- License of Python 2.0.1, 2.1.1, and newer versions (#Python)
-
- License of Python 1.6a2 and earlier versions (#Python1.6a2)
-
- License of Ruby (#Ruby)
-
- SGI Free Software License B, version 2.0 (#SGIFreeB)
-
- Standard ML of New Jersey Copyright License (#StandardMLofNJ)
-
- Unicode, Inc. License Agreement for Data Files and Software (#Unicode)
-
- The Unlicense (#Unlicense)
-
- License of Vim, Version 6.1 or later (#Vim)
-
- W3C Software Notice and License (#W3C)
-
- License of WebM (#WebM)
-
- WTFPL, Version 2 (#WTFPL)
-
- X11 License (#X11License)
-
- XFree86 1.1 License (#XFree861.1License)
-
- License of ZLib (#ZLib)
-
- Zope Public License, versions 2.0 and 2.1 (#Zope2.0)
-
- WxWidgets License (#Wx)
------
http://www.gnu.org/licenses/license-list.html#GPLCompatibleLicenses
(September 18, 2013).
Further
Reading:
For
a more detailed discussion of the definition of “open source,”
see the Web site of the Open Source Initiative at:
www.opensource.org.
Open
source software presents issues other than reciprocal licenses. For
a discussion of all those issues, see:
Intellectual
Property Deskbook for the Business Lawyer, Third Edition;
Intellectual Property Committee of the American Bar Association, 2013
(Chapter 11).
For
a detailed discussion of reciprocal licenses, see:
http://www.gnu.org/licenses/license-list.html#GPLCompatibleLicenses