Folding@Home distributed protein sequence design client

Copyright 2001-2004.  Stanford University. All Rights Reserved.

License Agreement:

Please carefully read the following terms and conditions
before using this software. Use of this software indicates 
acceptance of this license agreement and disclaimer of all 
warranties.

Disclaimer of Warranty:

IN NO EVENT SHALL STANFORD UNIVERSITY BE LIABLE TO ANY PARTY FOR DIRECT, 
INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, 
INCLUDING LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE 
AND ITS DOCUMENTATION, EVEN IF STANFORD UNIVERSITY HAS BEEN ADVISED OF 
THE POSSIBILITY OF SUCH DAMAGE.
  
STANFORD UNIVERSITY SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, 
BUT NOTLIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY 
AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE AND 
ACCOMPANYING DOCUMENTATION PROVIDED HEREUNDER IS PROVIDED 
"AS IS". Folding@home HAS NO OBLIGATION TO PROVIDE MAINTENANCE, 
SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.

Restrictions:

You may use this software on a computer system only if you
own the system or have the permission of the owner.

You may not alter the software or associated data files.

You may only use unmodified versions of Folding@home obtained 
through authorized distributors to connect to the Folding@Home 
servers. Use of other software to connect to the Folding@home 
servers is strictly prohibited.

Distribution of this software is prohibited. It may only be 
obtained by downloading from Stanford's web site
(http://folding.stanford.edu and pages linked therein).


