TADS 2 FREEWARE SOURCE CODE LICENSE

The TADS 2 source code is Copyright 1991, 2003 by Michael J. Roberts.

The author hereby grants you permission to use, copy, and
distribute this software, if you agree to the following conditions:

    1. You must include this license and the copyright notice with
       all copies.
    2. You may not require or collect a fee for copies of this
       software, or any part of this software, that you give to
       other people.
    3. You may not include this software with any other software
       for which a fee is collected.
    4. You may not modify this software except as permitted below
       (see "derivative works"), and each copy you make and
       distribute must be a full and complete copy of the software
       you originally received.
    5. Anyone to whom you give a copy of this software receives
       all of the same permissions that you did under this license
       and is subject to all of the same restrictions.
    6. You are not allowed to create derivative works, which are
       works that contain or are based on all or part of this work,
       except under the conditions described below.
    7. Any derivative works are subject to this same license.


Derivative Works
----------------

This source code is distributed for the specific purpose of
facilitating the creation of versions of TADS on various computers and
operating systems.  All other derivative works are prohibited without
the written permission of the author.  Please contact the author if
you have any questions about this or if you'd like permission to
create a derived work.

If you port TADS to a new platform, the author does grant permission
for you to distribute your ported version - I encourage it, in fact.
We ask that you provide your contact information in any distribution
package you create, so that users of your version will know how to
contact you if they have any questions relating specifically to your
version.
