Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Change markup for Xerox to recognize Tiny CLOS variant #1346

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

LiberalArtist
Copy link

A variant of the Xerox license was used for Tiny CLOS, a Scheme version of the Common Lisp Object System. In addition to Tiny CLOS itself, the license applies to derived software, like Racket's Swindle and Guile's GOOPS.

This pull request attempts to add markup to the Xerox license to support matching the Tiny CLOS variant: I've written it in the form of a pull request to be concrete, but I'm not very familiar with the markup schema—corrections and improvements are very welcome!

The text from the header of tiny-clos.scm in https://www.cs.cmu.edu/afs/cs/project/ai-repository/ai/lang/scheme/oop/tinyclos/tinyclos.tgz is:

; **********************************************************************
; Copyright (c) 1992 Xerox Corporation.  
; All Rights Reserved.  
;
; Use, reproduction, and preparation of derivative works are permitted.
; Any copy of this software or of any derivative work must include the
; above copyright notice of Xerox Corporation, this paragraph and the
; one after it.  Any distribution of this software or derivative works
; must comply with all applicable United States export control laws.
;
; This software is made available AS IS, and XEROX CORPORATION DISCLAIMS
; ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE
; IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
; PURPOSE, AND NOTWITHSTANDING ANY OTHER PROVISION CONTAINED HEREIN, ANY
; LIABILITY FOR DAMAGES RESULTING FROM THE SOFTWARE OR ITS USE IS
; EXPRESSLY DISCLAIMED, WHETHER ARISING IN CONTRACT, TORT (INCLUDING
; NEGLIGENCE) OR STRICT LIABILITY, EVEN IF XEROX CORPORATION IS ADVISED
; OF THE POSSIBILITY OF SUCH DAMAGES.
; **********************************************************************

(Alternatively, the copy from Swindle is on GitHub.)

The only differences from the current text of the Xerox license are the year in the copyright text—which IIUC is ignored for matching anyway—and the simplified first sentence. The author of Tiny CLOS, @GregorKiczales, shared some historical recollections about the license in racket/swindle#1 (comment).

@jlovejoy jlovejoy added the XML markup change potential change or addition to XML markup in license label Oct 28, 2021
@jlovejoy
Copy link
Member

to summarize differences:
original states:
"Use and copying of this software and preparation of derivative works based upon this software are permitted."
v.
"Use, reproduction, and preparation of derivative works are permitted."

so, is "and copying of this software" legally the same as "reproduction" - I'd say yes

and is "preparation of derivative works based upon this software" legally the same as simply "preparation of derivative works" - given the legal definition under US law of a derivative work begins with, 'is a work based upon one or more preexisting works' - I'd say that the explicit presence of these words or not doesn't change the meaning

@LiberalArtist
Copy link
Author

The Tiny CLOS variant of the Xerox license also applies to part of Larceny, apparently via Swindle: https://github.com/larcenists/larceny/blob/fef550c7d3923deb7a5a1ccd5a628e54cf231c75/COPYRIGHT#L105

@jlovejoy
Copy link
Member

discussed on Not 11th call

  • this is a tough call in terms of what we normally consider "equivalent text" due to the legal nature of the wording. While one can argue it has the same meaning, does equating it put SPDX in the position of making a legal interpretation (which we seek to avoid doing, just the facts!)
  • I'm going to reach out to the legal network for some other views as this is a more interesting question

@LiberalArtist
Copy link
Author

Hi, I just wanted to follow up about this. If it would be better, I'd be happy to open a new license request for a Xerox-TinyCLOS-variant or something, instead. I appreciate your care for the subtle details!

LiberalArtist added a commit to LiberalArtist/swindle that referenced this pull request Jun 8, 2022
samth pushed a commit to racket/swindle that referenced this pull request Jun 8, 2022
@GregorKiczales
Copy link

GregorKiczales commented Jun 14, 2022 via email

@swinslow
Copy link
Member

Dusting off this older PR...

@jlovejoy Your earlier comment in #1346 (comment) mentioned that you were going to reach out to the legal network about this, do you recall if you did so and if you had any responses?

If not, I'd tend to be in favor of adding a new identifier to distinguish this from the existing language -- but perhaps this can be quickly discussed with an Issue rather than PR (keeping this PR here pending for the moment).

@swinslow swinslow added this to the 3.22 milestone Jun 18, 2023
@swinslow swinslow modified the milestones: 3.22, 3.23 Sep 30, 2023
@swinslow swinslow modified the milestones: 3.23, 3.24 Jan 31, 2024
@swinslow swinslow modified the milestones: 3.24, 3.25 May 15, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
discuss on legal call XML markup change potential change or addition to XML markup in license
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants