Copyright violation in GPS GPL Edition
Ludovic Brenta <ludovic <at> ludovic-brenta.org>
2010-01-02 21:30:07 GMT
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.
* <at> (#)ndbm.h 8.1 (Berkeley) 6/2/93
As most of you probably know, this license is incompatible with the
GPL. 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.
 "Everything (tools, runtime, libraries) in the GNAT GPL Edition is
licensed under the General Public License (GPL)."
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
, 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 is compatible with
the GPL. Therefore, upgrading to Berkeley DB 2.7.7 would solve the
Of course, upgrading to Berkeley DB 2.7.7 would not change the license
of Berkeley DB to the GPL, so the claim 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.
 "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 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.
gps-devel mailing list
gps-devel <at> lists.adacore.com