Subject: Sleepycat Software DB 2.x library licensing vs. NetBSD
To: NetBSD-current Discussion List <current-users@netbsd.org>
From: Greg A. Woods <woods@most.weird.com>
List: current-users
Date: 09/17/1998 15:16:21
In a recent thread in port-i386 a couple of folks (Chris Demetriou and
Perry Metzger) objected to the licensing restrictions on the db 2.x
library which is now available from http://www.sleepcat.com/.  As the
originator of that thread mentioned, db 2.x is vastly improved over the
ancient original db 1.x that's available as an integrated part of
NetBSD.

I've read through the copyright license on db 2.x several times and the
only thing I can see that might be objectional is the "GNU Library
General Public License"-like term:

 * 3. Redistributions in any form must be accompanied by information on
 *    how to obtain complete source code for the DB software and any
 *    accompanying software that uses the DB software.  The source code
[....]

My rather meager understanding of Copyright Law would suggest that such
a term is unenforcable, esp. if it contradicted some other copyright
license or over-riding contract.  Copyright restrictions can only apply
to the original work or direct derrivatives, not to larger accompanying
collections of works, esp. if other components of those collections have
contradicting copyright restrictions.  In fact there's a whole slew of
other rules governing collective works.

Does anyone know if this kind of copyright licensing term has actually
been contested in any jurisdiction?

One thing I note is that the GNU LGPL goes to much greater lengths to
protect the author of "a work that uses the library", permitting the
distribution of that work as object code, not only source, with the
intent being that the end user is permitted to modify the library and
re-link the work that uses the library with the modified library objects
-- i.e. the user is not restricted to using the work with the exact
version of the library it was originally linked with for initial
distribution.  The true intent of the GNU LGPL is to permit all users to
modify and (re)distribute the library regardless of how that library is
used.

BTW, I think there's a simple loophole in the GNU LGPL (section 3, third
paragraph may not always apply).  If a library is first switched back to
the plain GPL V2, then a derrivative work is made of the library, so the
original LGPL terms will no longer apply and the derrivative library
should not "infect" non-library code it is include with.  No doubt this
possibility has been discussed endlessly in other forums, and I don't
want to start a thread about it here.  I only want to raise these issues
in comparison to the db 2.x copyright license.

Specifically the GNU LGPL tries to prevent the author of a third party
work that uses an LGPL licensed library from also using a proprietary
library that cannot be re-distributed in object (or source) form.  Since
the Sleepycat copyright license doesn't go to this extent at defining
intent, and it doesn't define how the copyright applies when conflicting
licensing applies to other components of a work that uses the library, I
wonder just how easy it would be to enforce, and I have to wonder
exactly what intent the Sleepycat folks (i.e. Margo Seltzer and Keith
Bostic) have in attempting to apply such a license and why they didn't
just use the GNU LGPL.  ;-)

Of course all of these silly copyright licensing restrictions depend
upon the law agreeing that a compiled version of some work of software
source code would be directly protected under the same terms as the
original source code.  I think this would be fairly easy to determine in
Canada (with the recent amendments to the Copyright Act of 1980), but
I'm not so certain this would be easy to do in other jurisdictions.
Presumably the FSF's lawyers think this would be the case in the USA
too.

Lastly, to bring this back into the realm of NetBSD, I'm wondering if
perhaps the fears of such copyright licensing terms are unfounded, esp.
given the extent of GPL'ed code already in NetBSD, and more specifically
the tremendous reliance NetBSD has on those components that are GPL'ed.
After all even the LGPL should not directly affect The NetBSD
Foundation.  It would apply to users of NetBSD, of course, but are not
people responsible for only their own actions, not the actions of
others?  Clearly if The NetBSD Foundation sees one of their fundamental
goals as providing a foundation on which commercial applications can be
built, sold, and used, then it is in their best interests to avoid
licenses such as the Sleepycat copyright license.

I would like to suggest that the DB 2.x library would be, at least in my
opinion, a significant enough improvement to NetBSD as a whole to
override the extremely open NetBSD redistribution requirements.  Namely
as per the last paragraph of:

	http://www.netbsd.org/Goals/redistribution.html

After all those who are interested in selling NetBSD derivations are
free to revert to the earlier DB 1.x license or to purchase private
licensing for DB 2.x from Sleepcat for their purposes.  Meanwhile those
of us who are only interested in freely redistributable source code for
NetBSD will be completely happy with the Sleepycat copyright license.

-- 
							Greg A. Woods

+1 416 218-0098      VE3TCP      <gwoods@acm.org>      <robohack!woods>
Planix, Inc. <woods@planix.com>; Secrets of the Weird <woods@weird.com>