[gps-devel] Copyright violation in GPS GPL Edition

Ludovic Brenta ludovic at ludovic-brenta.org
Sat Jan 2 22:30:07 CET 2010


Hello and hapy new year.

I am sorry to be the bearer of bad news but once again AdaCore's policy
of bundling third-party software in the GPL Edition and the public
Subversion repository is causing trouble.

In this case, GPS bundles Source Navigator (Copyright (c) 2000 Red Hat
Inc, licensed under GPL 2 or later) which bundles Berkeley DB version
1.85.  The source files are under kernel/src_info/sn/snsrc/db and
contain the 4-clause "original BSD" license:

/*-
 * Copyright (c) 1990, 1993
 *	The Regents of the University of California.  All rights reserved.
 *
 * This code is derived from software contributed to Berkeley by
 * Margo Seltzer.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions
 * are met:
 * 1. Redistributions of source code must retain the above copyright
 *    notice, this list of conditions and the following disclaimer.
 * 2. 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.
 * 3. All advertising materials mentioning features or use of this software
 *    must display the following acknowledgement:
 *	This product includes software developed by the University of
 *	California, Berkeley and its contributors.
 * 4. Neither the name of the University 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 THE REGENTS AND CONTRIBUTORS ``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 THE REGENTS OR CONTRIBUTORS 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.
 *
 *	@(#)ndbm.h	8.1 (Berkeley) 6/2/93
 */

As most of you probably know, this license is incompatible with the
GPL[1].  This makes it a copyright violation for Source Navigator to
link with Berkeley DB 1.85; this is obviously not AdaCore's fault but
Red Hat's.  However AdaCore not only propagate the violation, they
illegally change the 4-clause BSD license to the GPL[2].

[1] http://www.fsf.org/licensing/licenses/gpl-faq.html#OrigBSD

[2] "Everything (tools, runtime, libraries) in the GNAT GPL Edition is
    licensed under the General Public License (GPL)."
    http://libre.adacore.com/libre/gnat-faq/

I have determined that all GPL Editions since 2005 contain this mistake.

I believe that a rather straightforward way to correct this mistake
would be to replace Berkeley DB 1.85 with version 2.7.7 available from
[3], using the 1.x compatibility API.  Oracle, who now own the copyright
for Berkeley DB, have a dual-licensing policy similar to that of
AdaCore; their Open Source license for Berkeley DB[4] is compatible with
the GPL[5].  Therefore, upgrading to Berkeley DB 2.7.7 would solve the
problem.

[3] http://www.oracle.com/technology/software/products/berkeley-db/db/index.html
[4] http://www.oracle.com/technology/software/products/berkeley-db/htdocs/oslicense.html
[5] http://www.oracle.com/technology/software/products/berkeley-db/htdocs/licensing.html

Of course, upgrading to Berkeley DB 2.7.7 would not change the license
of Berkeley DB to the GPL, so the claim[2] that "Everything (tools,
runtime, libraries) in the GNAT GPL Edition is licensed under the
General Public License (GPL)" would still be incorrect even after such
an upgrade; this is the second, unsolved part of the problem[6].

[6] "Of course, releasing an application which includes Berkeley DB
    [...] under an open source license does not change the requirements
    of our open source license, and the Berkeley DB source code remains
    subject to the terms of the open source license governing its use
    and redistribution. Our open source license is compatible with the
    GPL, so GPL'ed software can incorporate Berkeley DB [...] without
    violating the terms of either license."

I interpret the above paragraph as: "you may bundle Berkeley DB in
GPL'ed software but you may not change the license of Berkeley DB."

Note: the Open Source license for Berkeley DB is "viral" in the same way
as the GPL (pursuant to clause 3 in the first section).  While this does
not harm GNAT GPL Edition, it may be a problem if GPS is under GMGPL
rather than GPL (i.e. GNAT Pro).

A more radical way to comply with all licenses would be to not bundle
Berkeley DB at all and replace the portions of Source Navigator used in
GPS by clean Ada code owned by AdaCore or the FSF :)

Source Navigator NG[7] seem to have migrated to Berkeley DB version 4
with the same effects, license-wise, as an upgrade to 2.7.7.  There are
however incompatible API changes in addition to the license change.

[7] http://sourcenav.berlios.de/

-- 
Ludovic Brenta.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
Url : /pipermail/gps-devel/attachments/20100102/32b8e06d/attachment.pgp 


More information about the gps-devel mailing list