[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: FWD from XFree86 forum: GPL-incompatible license



On Tue, Feb 10, 2004 at 01:10:04PM -0500, Leon Shiman wrote:
> ------------- Begin Forwarded Message -------------
> From: David Dawes <dawes@XFree86.Org>
> To: Richard Stallman <rms@gnu.org>
> Cc: forum@XFree86.Org
> Subject: Re: [forum] GPL-incompatible license
[...]
> Basically, XFree86 licensing policy has always been to allow licences
> that satisfy both of these extremely important requirements:
> 
>    1. Be an Open Source licence.  
>    2. Not require that source code be made available for binary-only
>       distributions of derivative works.
> 
> The general preference has been for licences like the BSD and MIT
> licences.  By BSD, I mean the original BSD licence in common use when
> XFree86 began.  Historically, GPL compatibility has not been an issue
> one way or the other regarding XFree86's licensing policy and so to make
> it an issue now would represent a very real change in our licensing
> policy.

For the Debian Project, I recently did some investigation of the claim
that the 4-clause BSD license, which I think is what David is referring
to (since the Regents dropped the advertising clause in 1998, and I
XFree86 was founded years prior), is preferentially used in the XFree86
code base.

That license is indeed used, but an MIT-style copyright is used on more
code in XFree86 copyrighted by the Regents than the 4-clause BSD license
is, despite the latter being the representation of the Regents'
copyright license in XFree86's LICENSE file.

The messy truth is that there is code copyrighted by the Regents in
XFree86 under *several* similar but distinct licenses.  Some with an
advertising clause, some without.  Some GPL-compatible, some not.

My findings follow.  Please feel free to ignore the references to
DFSG-freeness, which is a concern primarily for the Debian project, and
my footnote discussion of unpacking a Debian source package.

If this next part bores you, skip to the end for my conclusions.

---------

Parties using the 4-clause BSD license in the XFree86 codebase (at least
according to the LICENSE.sgml file as of CVS revision 1.22) are:

1) Copyright (c) 1993 The Regents of the University of California.

This has probably been reverted to the 3-clause BSD license through the
Regents' mass relicensing of such code; see <URL:
ftp://ftp.cs.berkeley.edu/pub/4bsd/README.Impt.License.Change >.

Affected files:

xc/programs/Xserver/hw/sunLynx/fbio.h
xc/programs/Xserver/hw/xfree86/etc/MTRR-Lynx.shar [1]
xc/programs/Xserver/hw/xfree86/etc/apNetBSD.shar [1,5]


2) Copyright (c) 1993, 1994 Christopher G. Demetriou

Affected files:
xc/programs/Xserver/hw/xfree86/etc/MTRR-Lynx.shar [8]
xc/programs/Xserver/hw/xfree86/loader/aout.h [9]


3) Copyright (c) 2003 The NetBSD Foundation, Inc.

Affected files:
NONE!

There are no files copyrighted by the NetBSD Foundation in the XFree86 4.3.0
codebase that I could find with the method I used[10].

However, I did find the following:

 * Copyright (c) 1999 Lennart Augustsson <augustss@netbsd.org>
 * All rights reserved.
 *
 * 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.
 *
 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 AUTHOR 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.

...which applies to the following files:
xc/programs/Xserver/hw/xfree86/os-support/bsd/libusb/data.c
xc/programs/Xserver/hw/xfree86/os-support/bsd/libusb/descr.c
xc/programs/Xserver/hw/xfree86/os-support/bsd/libusb/parse.c
xc/programs/Xserver/hw/xfree86/os-support/bsd/libusb/usage.c
xc/programs/Xserver/hw/xfree86/os-support/bsd/libusb/usb.3
xc/programs/Xserver/hw/xfree86/os-support/bsd/libusb/usb.h
xc/programs/Xserver/hw/xfree86/os-support/bsd/libusb/usbvar.h

This 2-clause BSD license is, obviously, DFSG-free and GPL-compatible.
Other copyright licenses used by the Regents of the University of
California in the XFree86 codebase are:

A) Copyright (c) 1993-1997 Regents of the University of California

Permission to use, copy, modify, and distribute this software and its
documentation for educational, research, internal corporate and
non-profit purposes, without fee, and without a written agreement is
hereby granted for all cases that do not conflict with the restriction
in the first sentence of this paragraph, provided that the above
copyright notice, this paragraph, and the following three paragraphs
appear in all copies.

Permission to incorporate this software into commercial products may
be obtained from the Office of Technology Licensing, 2150 Shattuck
Avenue, Suite 510, Berkeley, CA  94704.

IN NO EVENT SHALL THE UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY
FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF
THE UNIVERSITY OF CALIFORNIA HAS BEEN ADVISED OF THE POSSIBILITY OF
SUCH DAMAGE.

THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY WARRANTIES,
INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE
PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND THE UNIVERSITY OF
CALIFORNIA HAS NO OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES,
ENHANCEMENTS, OR MODIFICATIONS.

*** The above license is not GPL-compatible.
*** The above license is not DFSG-free.

Affected files:
xc/extras/rman/README-rman [3]

B) Copyright 1985, 1986 The Regents of the University of California.
   All rights reserved.

   This code is derived from software contributed to Berkeley by
   James A. Woods, derived from original work by Spencer Thomas
   and Joseph Orost.

   Redistribution and use in source and binary forms are permitted
   provided that the above copyright notice and this paragraph are
   duplicated in all such forms and that any documentation,
   advertising materials, and other materials related to such
   distribution and use acknowledge that the software was developed
   by the University of California, Berkeley.  The name of the
   University may not be used to endorse or promote products derived
   from this software without specific prior written permission.
   THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
   IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
   WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.

*** The above license is not GPL-compatible.

Affected files:
xc/lib/font/fontfile/decompress.c
xc/util/compress/Makefile [2]
xc/util/compress/compress.1 [2]
xc/util/compress/compress.c [2]
xc/util/compress/usermem.sh [2]

C) Copyright (c) 1987-1995 by the Regents of the University of California.

Permission to use, copy, modify, and distribute this software and its
documentation for any purpose and without fee is hereby granted, provided
that the above copyright notice appear in all copies.  The Daniver Limited,
the above companies and individuals makes no representations about the
suitability of this software for any purpose.  It is provided "as is" without
express or implied warranty.

Affected files:
xc/programs/Xserver/afb/Xdaniver.doc [4]

The majority of code in the XFree86 codebase copyrighted by the Regents of the
University of California is under the following license:

D) Copyright (c) 1987 by the Regents of the University of California

   Permission to use, copy, modify, and distribute this
   software and its documentation for any purpose and without
   fee is hereby granted, provided that the above copyright
   notice appear in all copies.  The University of California
   makes no representations about the suitability of this
   software for any purpose.  It is provided "as is" without
   express or implied warranty.

Affected files:
xc/programs/Xserver/cfb/cfbbstore.c
xc/programs/Xserver/hw/sun/sun.h
xc/programs/Xserver/hw/sun/sunCfb.c
xc/programs/Xserver/hw/sun/sunFbs.c
xc/programs/Xserver/hw/sun/sunInit.c
xc/programs/Xserver/hw/sun/sunIo.c
xc/programs/Xserver/hw/sun/sunKbd.c
xc/programs/Xserver/hw/sun/sunMfb.c
xc/programs/Xserver/hw/sun/sunMouse.c
xc/programs/Xserver/hw/sunLynx/sun.h
xc/programs/Xserver/hw/sunLynx/sunLyCfb.c
xc/programs/Xserver/hw/sunLynx/sunLyFbs.c
xc/programs/Xserver/hw/sunLynx/sunLyInit.c
xc/programs/Xserver/hw/sunLynx/sunLyIo.c
xc/programs/Xserver/hw/sunLynx/sunLyKbd.c
xc/programs/Xserver/hw/sunLynx/sunLyMouse.c
xc/programs/Xserver/include/bstore.h [6]
xc/programs/Xserver/include/bstorestr.h [7]
xc/programs/Xserver/iplan2p4/iplbstore.c
xc/programs/Xserver/mi/mibstore.h

E) This software is copyrighted by the Regents of the University of
   California, Sun Microsystems, Inc., and other parties.  The following
   terms apply to all files associated with the software unless
   explicitly disclaimed in individual files.

   The authors hereby grant permission to use, copy, modify, distribute,
   and license this software and its documentation for any purpose,
   provided that existing copyright notices are retained in all copies
   and that this notice is included verbatim in any distributions. No
   written agreement, license, or royalty fee is required for any of the
   authorized uses.  Modifications to this software may be copyrighted
   by their authors and need not follow the licensing terms described
   here, provided that the new terms are clearly indicated on the first
   page of each file where they apply.

   IN NO EVENT SHALL THE AUTHORS OR DISTRIBUTORS BE LIABLE TO ANY PARTY
   FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
   ARISING OUT OF THE USE OF THIS SOFTWARE, ITS DOCUMENTATION, OR ANY
   DERIVATIVES THEREOF, EVEN IF THE AUTHORS HAVE BEEN ADVISED OF THE
   POSSIBILITY OF SUCH DAMAGE.

   THE AUTHORS AND DISTRIBUTORS SPECIFICALLY DISCLAIM ANY WARRANTIES,
   INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
   MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND
   NON-INFRINGEMENT.  THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, AND
   THE AUTHORS AND DISTRIBUTORS HAVE NO OBLIGATION TO PROVIDE
   MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.

   RESTRICTED RIGHTS: Use, duplication or disclosure by the government
   is subject to the restrictions as set forth in subparagraph (c) (1)
   (ii) of the Rights in Technical Data and Computer Software Clause as
   DFARS 252.227-7013 and FAR 52.227-19.

Affected files:
xc/programs/Xserver/hw/xfree86/XF86Setup/tclxkbui.c
xc/programs/Xserver/hw/xfree86/XF86Setup/tcllib/button.tcl
xc/programs/Xserver/hw/xfree86/XF86Setup/tcllib/dialog.tcl
xc/programs/Xserver/hw/xfree86/XF86Setup/tcllib/entry.tcl
xc/programs/Xserver/hw/xfree86/XF86Setup/tcllib/init.tcl
xc/programs/Xserver/hw/xfree86/XF86Setup/tcllib/listbox.tcl
xc/programs/Xserver/hw/xfree86/XF86Setup/tcllib/menu.tcl
xc/programs/Xserver/hw/xfree86/XF86Setup/tcllib/optionMenu.tcl
xc/programs/Xserver/hw/xfree86/XF86Setup/tcllib/scale.tcl
xc/programs/Xserver/hw/xfree86/XF86Setup/tcllib/scrollbar.tcl
xc/programs/Xserver/hw/xfree86/XF86Setup/tcllib/tearoff.tcl
xc/programs/Xserver/hw/xfree86/XF86Setup/tcllib/text.tcl
xc/programs/Xserver/hw/xfree86/XF86Setup/tcllib/tk.tcl
xc/programs/Xserver/hw/xfree86/XF86Setup/tcllib/tkerror.tcl

(It's worth noting that XF86Setup has been dead code since XFree86 4.0 was
released.)

F) Copyright 1987 by the Regents of the University of California
All Rights Reserved

Permission to use, copy, modify, and distribute this software and its
documentation for any purpose and without fee is hereby granted,
provided that the above copyright notice appear in all copies and that
both that copyright notice and this permission notice appear in
supporting documentation, and that the name of Digital [SIC: BR] not be
used in advertising or publicity pertaining to distribution of the
software without specific, written prior permission.

Affected files:
xc/programs/Xserver/hw/xfree86/xf4bpp/ppcBStore.c

G) Copyright 1987 by the Regents of the University of California

                        All Rights Reserved
Permission to use, copy, modify, and distribute this software and its
documentation for any purpose and without fee is hereby granted, provided that
the above copyright notice appear in all copies and that both that copyright
notice and this permission notice appear in supporting documentation, and that
the name The Open Group not be used in advertising or publicity pertaining to
distribution of the software without specific, written prior permission.

The University of California makes no representations about the suitability of
this software for any purpose.  It is provided "as is" without express or
implied warranty.

Affected files:
xc/programs/Xserver/mi/mibstore.c

[1] Note that this file also contains the 4-clause BSD license applied by other
    copyright holders: University of Utah; The XFree86 Project Inc.
[2] This file doesn't contain the 4-clause BSD license in the precise form that
    we're used to seeing it, but it's copyrighted by the regents.  the
    "advertising clause" is even *more* broad, though: "and that any
    documentation, advertising materials, and other materials related to
    such distribution and use acknowledge that the software was
    developed by the University of California, Berkeley."
[3] Therefore, probably everything in xc/extras/rman is under this license.
[4] Everything in xc/programs/Xserver/afb is likely under this license,
    according to xc/programs/Xserver/README.
[5] This file also contains some code with a GPL-incompatible copyright:

X * Copyright 1994      Doug Anson, danson@lgc.com & David Holland, davidh@use.com
[...]
X * Copyright notice:
X * Permission to use, copy, modify, distribute, and sell this software and its
X * documentation for any purpose is hereby granted without fee, provided that
X * the above copyright notice appear in all copies and that both that
X * copyright notice and this permission notice appear in supporting
X * documentation, and that the name of Doug Anson, and David Holland be used in
X * advertising or publicity pertaining to distribution of the software
X * Doug Anson, and David Holland make no * representations about the
X * suitability of this software for any purpose.
X * It is provided "as is" without express or implied warranty.
X *
X * Disclaimer:
X * DOUG ANSON, AND DAVID HOLLAND DISCLAIMS ALL WARRIENTS WITH REGARD TO THIS
X * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY, AND FITNESS,
X * IN NO EVENT SHALL DOUG ANSON, OR DAVID HOLLAND BE LIABLE FOR ANY SPECIAL,
X * INDIRECT, OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM
X * USAGE OF THIS SOFTWARE.

[6] I seriously question the applicability of copyright to this file.  Once the
    comments are removed, the code consists of:

#ifndef _BSTORE_H_
#define _BSTORE_H_

#include "bstorestr.h"

#endif

[7] For that matter, I question the applicability of copyright to this one as
    well.
[8] Except Mr. Demetriou actually uses the 3-clause BSD license on this file:

X * Copyright (c) 1993 Christopher G. Demetriou
X * All rights reserved.
X *
X * Redistribution and use in source and binary forms, with or without
X * modification, are permitted provided that the following conditions
X * are met:
X * 1. Redistributions of source code must retain the above copyright
X *    notice, this list of conditions and the following disclaimer.
X * 2. Redistributions in binary form must reproduce the above copyright
X *    notice, this list of conditions and the following disclaimer in the
X *    documentation and/or other materials provided with the distribution.
X * 3. The name of the author may not be used to endorse or promote products
X *    derived from this software without specific prior written permission
X *
X * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
X * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
X * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
X * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
X * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
X * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
X * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
X * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
X * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
X * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

[9] This file says it is "Borrowed from NetBSD's exec_aout.h", so it may have
    since been relicensed "upstream".

[10] Unpack the Debian source package (4.3.0-0pre1v5 will do), run
     "debian/rules setup" to get the upstream archive unpacked and
     patched, cd to "build-tree", and run "grep -lir
     'copyright.*netbsd'".

---------

I conclude that David is probably correct to assert that the XFree86
Project, Inc., has historically been indifferent to the intersection of
the licenses of code it provides as part of the XFree86 source
distribution.  However, the de facto impact of the change to the XFree86
Project, Inc.'s own license is to render the XFree86 source distribution
GPL-incompatible in a great many more aspects, and in a much more
fundamental way.  A review of the actual occurences of
GPL incompatibilities in the findings above will show that they are
small and peripheral in nature.

* PolyglotMan, for instance, is shipped as a convenience for generating
  documentation (as I understand it).
* It's unclear to me how critical the shar files in
  xc/programs/Xserver/hw/xfree86/etc are, but their pathnames seem to
  imply a miscellaneous nature.  Speaking for a moment as a GNU/Linux
  developer, the presence of GPL-incompatibilties in shell archives
  targeted at LynxOS and NetBSD users doesn't deeply disturb me.
* The Regents of the University of California can be contacted about the
  contents of xc/programs/Xserver/hw/sunLynx/fbio.h and asked if the
  4-clause BSD license still applies to them.
* A fellow Debian developer will be contacting Christopher G. Demetriou
  regarding xc/programs/Xserver/hw/xfree86/loader/aout.h.  As I
  understand it, the NetBSD Foundation has adopted a 2-clause form of
  the BSD license, omitting both the advertising and non-endorsement
  clauses, so for all I know this file may already have been relicensed
  in a GPL-compatible manner, and the XFree86 Project, Inc., simply
  distributes an old version of it.
* xc/util/compress looks like old Unix compress to me, but I'm a
  youngster and wouldn't way to say for sure.  In any event, it's
  copyrighted by the Regents, and they can be asked if the Great
  Relicensing applies to it.
* xc/lib/font/fontfile/decompress.c is the worst problem of the bunch.
  It is part of a library and thus stands the most risk of interacting
  badly with the GPL.  However:
  + The part of it that is GPL-incompatible is copyrighted by the
    Regents, and may have been affected by the mass-relicensing.
  + This is less than 400 lines of C source, and it doesn't appear to be
    doing anything particularly innovative or clever.  I'd be happy to
    write a detailed, natural-language and/or pseudocode description of
    it so that it can be clean-room reimplemented.
  + It may not even be necessary to reimplement this.  It could be
    replaced with stubs and users told to either leave their bitmap
    fonts uncompressed, or compress them with gzip, which, as I recall,
    has been supported by libfontfile for many years.  At least in the
    circles I run, .Z is all but dead as a compression format, dragged
    to the brink of its grave in part by patent encumbrances.

The path to clearing away GPL-incompatibilties due to the BSD
advertising clause for the entire XFree86 source tree (as of XFree86
4.3.0, anyway) seems fairly short.  Given that, it seems a shame to
entrench a similar incompatibility both broadly and deeply.  To do so
would seem to represent a very real de facto change in the XFree86
Project, Inc.'s licensing policy.

-- 
G. Branden Robinson                |       If atheism is a religion, then
Debian GNU/Linux                   |       health is a disease.
branden@debian.org                 |       -- Clark Adams
http://people.debian.org/~branden/ |

Attachment: signature.asc
Description: Digital signature


Reply to: