MolScript v2.1: Academic license
This is a license for MolScript, academic software version 2.1 (copyright © 1997-1998 Per J. Kraulis), a program for creating images of molecular structures.

This license is to be signed by you (hereinafter referred to as the "LICENSEE"), and submitted to Avatar Software AB (hereinafter referred to as the "LICENSOR"). The computer program, including source code and documentation, as well as any modifications or derivative works made by the LICENSEE, are hereinafter referred to collectively as the "SOFTWARE".

Terms
1. A non-exclusive, non-transferable license is granted to the LICENSEE to install and use the SOFTWARE on an appropriate computer system or systems located at LICENSEE's institution to which the LICENSEE has authorized access. Use of the SOFTWARE is restricted to LICENSEE and collaborators at his institution who have agreed to accept the terms of this license.

2. The LICENSOR retains ownership of the SOFTWARE delivered to LICENSEE. Any modifications or derivative works based on the SOFTWARE are considered part of the SOFTWARE and ownership thereof is retained by the LICENSOR, and are to be made available to him upon request.

3. The LICENSEE may make a reasonable number of copies of the SOFTWARE for the purposes of backup, maintenance of the SOFTWARE, or development of derivative works based on the SOFTWARE. These additional copies will carry the copyright notice and will be controlled by this license.

4. The LICENSEE shall not use SOFTWARE for any purpose (research or otherwise) that is supported by a "for profit" organization without prior written authorization from the LICENSOR.

5. The LICENSEE shall not disclose in any form either the delivered SOFTWARE or any modifications or derivative works based on the SOFTWARE to third parties without prior written authorization from the LICENSOR.

6. If the LICENSEE receives a request to furnish all or any portion of the SOFTWARE to any third party, he will not fulfill such a request, and will refer it in writing to the LICENSOR.

7. The LICENSEE agrees that the SOFTWARE is furnished on an "as is" basis, and that the LICENSOR in no way warrants the SOFTWARE or any of its results and is in no way liable for any use LICENSEE makes of the SOFTWARE.

8. LICENSEE agrees that any reports or publications of results obtained with the SOFTWARE will acknowledge its use by an appropriate citation. This would refer to the following publication:

    Per J. Kraulis, "MOLSCRIPT: A Program to Produce Both Detailed and Schematic Plots of Protein Structures", Journal of Applied Crystallography (1991) vol 24, pp 946-950. 

9. The terms of this license shall not be limited in time. 
