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

clean-room reimplementation revisited, and a couple of EASY exercises for XTerm



Please forgive the long preface.

As you should know, an update to XTerm is on the TODO for the next
Debian xfree86 package release, 4.3.0.dfsg.1-2.

Bad news first: Before I can update the SVN trunk to Thomas Dickey's
latest release of XTerm (#187), I need a bit of potential XFree86 1.1
license contamination cleaned up.

More bad news next: As has already been noted on this list, David Dawes
has asserted on the XFree86 "devel" mailing list that:

  Assume that anything attributed to me is covered by the 1.1 licence
  unless explicitly stated otherwise.[1]

To the best of my knowledge, Mr. Dawes have never made an explicit
statement otherwise under any circumstances.  Furthermore, it is my
understanding that he does not answer emails inquiring as to whether
this policy applies to specific commits (I am not speaking only of mails
to Mr. Dawes from myself, either, but from others as well).

Moreover, Mr. Dawes feels that it is not necessary to explicitly assert
his (or the XFree86 Project, Inc.'s) copyright and license terms in
modifications that are made to the XFree86 CVS repository:

  [In reference to the XFree86's statement on their license policy page[3],
   "Refer to each source file for specific licence details":]

  If you interpret that to apply to every revision of every file in
  an active CVS repository, then you are kidding yourself.[2]

(Why it is challenging to add current and accurate copyright and license
information to source files in XFree86 CVS is a mystery to me, particularly
given past examples of precisely that[4][5].)

Fortunately, the changes made to XTerm in XFree86 after the relicensing
on 2004-02-13[5] are trivial in nature.  They are probably not
copyrightable at all, and I suspect the folks at the XFree86 Project,
Inc., agree -- but given the difficulty in obtaining answers to
straightforward questions, and the XFree86's Project's recent
fundraising efforts on their Web site, I'd hate to be mistaken and end
up on the wrong side of a copyright infringement suit.  (It is possible
to infringe clause 3 of the XFree86 1.1 license even if there is no
applicable copyright notice or license statement that makes it clear
that the XFree86 1.1 actually applies to the file in question.  Given
that I know of Mr. Dawes's stated intentions[1], even if I don't
completely comprehend them, I may be at risk for "willful" infringement
under U.S. copyright law, and this is not a risk I am willing to take.

The good news is that it should be a piece of cake to reimplement these
trivial changes with a clean provenance.  This would not merely be
advantageous to Debian, but to anyone who wants to distribute an XTerm
with a homogeneous copyright license on it (a welcome relief, I am sure,
to those who have waded through the smorgasbord of licenses that apply
to the various parts of the XFree86 distribution).

Last time I asked for a clean-room reimplementation of something from my
description, I failed to be strict enough in my demands to satisfy my
paranoid mind.  So this time, I'd like to ask that clean-room
reimplementors quote the following material when they post their
changes.

* I affirm that this modification is my own work.

* I affirm that I have not consulted source code more recent than
  2004-02-12 from an XFree86 source code release or repository in the
  preparation of this modification.

* I affirm that I have not consulted source code more recent than
  2004-02-12 from Thomas Dickey's source releases of XTerm.

  [The previous item is only necessary because questionable code from
   XFree86 made its way back into XTerm; if Mr. Dickey replaces their
   changes with yours, future reimplementation requests may not need
   this affirmation.]

* I refuse to assert copyright in this modification.  If I am unable
  within a given legal jurisdiction to disclaim copyright in this
  modification, I hereby place it in the public domain.  If I am unable
  within a given legal jurisdiction to place this modification in the
  public domain, I release this modification to the public under the
  following terms:

  Permission is hereby granted, free of charge, to any person obtaining a
  copy of this software and associated documentation files (the
  "Software"), to deal in the Software without restriction, including
  without limitation the rights to use, copy, modify, merge, publish,
  distribute, sublicense, and/or sell copies of the Software, and to
  permit persons to whom the Software is furnished to do so, subject to
  the following conditions:

  The above copyright notice and this permission notice shall be included
  in all copies or substantial portions of the Software.

  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
  OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
  IN NO EVENT SHALL THE ABOVE LISTED COPYRIGHT HOLDER(S) BE LIABLE FOR ANY
  CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
  TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
  SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

  [The above affirmation is unfortunately complex due to differing
   notions worldwide about how copyright attaches, and whether it can be
   deliberately forfeited.  The copyright license above is the MIT/X11
   license originally used by the X Window System sample implementation,
   including XTerm itself, and is the license by Mr. Dickey, the current
   XTerm maintainer and author of most changes to it over the past 10
   years or so.  I did omit the final paragraph of the license, because
   it is not germane to copyright law and is already protected under the
   right of publicity[7] in the United States and elsewhere.  For the
   sake of full disclosure, here's the paragraph in question:

   "Except as contained in this notice, the name(s) of the above
   copyright holders shall not be used in advertising or otherwise to
   promote the sale, use or other dealings in this Software without
   prior written authorization."]

So, if you submit reimplemented code, PLEASE quote the above four
asterisked items, and state your assent to each one.  Please trim out my
lengthy bracketed asides.

Here are those easy exercises:

1) In XTerm's Imakefile[8], modify the first double-colon install rule
   to have no dependencies.  [This will enable the install target to be
   re-run without triggering re-compilation or re-linking of code.]

2) In XTerm's resize.c[9] and xterm_io.h[10] files, replace any
   occurrences of the "SCO", "sco", and "SCO325" preprocessor symbols
   with "__SCO__".  [This was part of a comprehensive update to SCO Unix
   support which was submitted to XFree86 Bugzilla.  The Bugzilla report
   was attributed to Kean Johnston, but the commit was attributed to
   David Dawes and as noted above, Mr. Dawes has said "Assume that
   anything attributed to me is covered by the 1.1 licence unless
   explicitly stated otherwise."[1].]

The files referred to in the footnoted URLs are from XFree86 CVS as of
2004-02-12, and predate the application of the XFree86 1.1 license.

Please note that these can be reimplemented by a person with only a
modest exposure to Make and C in far, far less time than it took me to
write this mail.

[1] http://www.mail-archive.com/devel%40xfree86.org/msg05906.html
[2] http://www.mail-archive.com/devel%40xfree86.org/msg05939.html
[3] http://www.xfree86.org/legal/licenses.html
[4] Message-Id: <200308241737.h7OHbAn7007305@public.xfree86.org>
[5] Message-Id: <200402132358.i1DNwsCq044380@public.xfree86.org>
[6] http://www.xfree86.org/
[7] http://www.law.cornell.edu/topics/publicity.html
[8] http://necrotic.deadbeast.net/xsf/XFree86/xfree86-CVS-pre-4.4.0-RC3-new-license-sanitized/xc/programs/xterm/Imakefile
[9] http://necrotic.deadbeast.net/xsf/XFree86/xfree86-CVS-pre-4.4.0-RC3-new-license-sanitized/xc/programs/xterm/resize.c
[10] http://necrotic.deadbeast.net/xsf/XFree86/xfree86-CVS-pre-4.4.0-RC3-new-license-sanitized/xc/programs/xterm/xterm_io.h

-- 
G. Branden Robinson                |    One man's theology is another man's
Debian GNU/Linux                   |    belly laugh.
branden@debian.org                 |    -- Robert Heinlein
http://people.debian.org/~branden/ |

Attachment: signature.asc
Description: Digital signature


Reply to: