Kawa, the Java-based Scheme system

Node:License, Next:Overall Index, Previous:Projects, Up:Top

## License

### License for the Kawa software

The license for Kawa and the packages it depends on is a "modified Gnu Public License". You can find it in the file `COPYING` in the Kawa sources, and also quoted here:.

         The Java classes (with related files and documentation) in these packages
         are copyright (C) 1996, 1997, 1998, 1999  Per Bothner.

         These classes are distributed in the hope that they will be useful,
         but WITHOUT ANY WARRANTY; without even the implied warranty of
         MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
         GNU General Public License for more details.

         These classes are free software.  You can use and re-distribute a class
         without restriction (in source or binary form) as long as you use a
         version that has not been modified in any way from a version released
         by Per Bothner, Red Hat inc, or the Free Software Foundation.
         You may make and distribute a modified version, provided you follow
         the terms of the GNU General Public License; either version 2,
         or (at your option) any later version.

The file `COPYING` also contains a copy of the GNU General Public License version 2.

People have asked what the Kawa license means in practice. Informally, you get to pick between these choices:

1. Use Kawa as distributed by Per Bothner, Red Hat Inc, or the Free Software Foundation (or their approved agents), with no modifications. In that case, you can use Kawa for any purpose you like, and distribute your application with any license you like. (This basically gives you the same rights as a typical commercial royalty-free re-distribution license.)
2. Obey the terms of the standard Gnu Public License. (See http://www.gnu.org/copyleft/gpl.html). Informally, this means that if you distribute any application that is based on Kawa, you must also make available to all your recipients (customers) the source code for your entire application, giving them the modification and re-distribution rights they have under the GPL. In a Java context, I take "entire application" to mean all classes (and native code) that run in the same Java virtual machine, except for the Java runtime system itself (the virtual machine, low-level run-time system, and any classes in a `java` or `javax` package).
3. If you need to make a change to Kawa, you can submit them to Per Bothner, and convince him to include them in future Kawa releases.
4. You can negotiate some other (commercial) license with Per Bothner.

In general, if the license of Kawa or associated packages causes difficulties, let me know.

Kawa uses some math routines from fdlib's libf77, which bear the following copyright:

> Copyright 1990, 1991, 1992, 1993 by AT&T Bell Laboratories and Bellcore.

> 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 the copyright notice and this permission notice and warranty disclaimer appear in supporting documentation, and that the names of AT&T Bell Laboratories or Bellcore or any of their entities not be used in advertising or publicity pertaining to distribution of the software without specific, written prior permission.

> AT&T and Bellcore disclaim all warranties with regard to this software, including all implied warranties of merchantability and fitness. In no event shall AT&T or Bellcore be liable for any special, indirect or consequential damages or any damages whatsoever resulting from loss of use, data or profits, whether in an action of contract, negligence or other tortious action, arising out of or in connection with the use or performance of this software.

### Copyright for this manual

Here is the license for this manual:

Copyright © 1996, 1997, 1998, 1999 Per Bothner
Parts of this manual were derived from the SLIB manual, copyright © 1993-1998 Todd R. Eigenschink and Aubrey Jaffer.
Parts of this manual were derived from ISO/EIC 10179:1996(E) (Document Style and Specifical Language) - unknown copyright.

Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are preserved on all copies.

Permission is granted to copy and distribute modified versions of this manual under the conditions for verbatim copying, provided that the entire resulting derived work is distributed under the terms of a permission notice identical to this one.

Permission is granted to copy and distribute translations of this manual into another language, under the above conditions for modified versions, except that this permission notice may be stated in a translation approved by the author.

This manual has quoted from SRFI-6 (Basic String Ports), which is Copyright (C) William D Clinger (1999). All Rights Reserved.

This manual has quoted from SRFI-8 (receive: Binding to multiple values), which is Copyright (C) John David Stone (1999). All Rights Reserved.

This manual has quoted from SRFI-9 (Defining Record Types) which is Copyright (C) Richard Kelsey (1999). All Rights Reserved.

This manual has quoted from SRFI-11 (Syntax for receiving multiple values), which is Copyright (C) Lars T. Hansen (1999). All Rights Reserved.

This manual has quoted from SRFI-25 (Multi-dimensional Array Primitives), which is Copyright (C) Jussi Piitulainen (2001). All Rights Reserved.

This manual has quoted from SRFI-26 (Notation for Specializing Parameters without Currying), which is Copyright (C) Sebastian Egner (2002). All Rights Reserved.

The following notice applies to SRFI-6, SRFI-8, SRFI-9, SRFI-11, SRFI-25, and SRFI-26, which are quoted in this manual, but it does not apply to the manual as a whole:

> This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this paragraph are included on all such copies and derivative works. However, this document itself may not be modified in any way, such as by removing the copyright notice or references to the Scheme Request For Implementation process or editors, except as needed for the purpose of developing SRFIs in which case the procedures for copyrights defined in the SRFI process must be followed, or as required to translate it into languages other than English.