Utah Raster Toolkit Copyright Notice

The copyrights in the Utah Raster Toolkit as a whole are held by the
University of Utah (1981, 1982, 1983, 1984, 1985, 1986, 1987) and the
Regents of the University of Michigan (1988, 1989, 1990, 1991, 1992).
Permission to copy, modify, and redistribute is granted, subject to
restrictions described below.

Software

The software is copyrighted as noted in the individual source files.
It may be freely copied, modified, and redistributed, provided that
the copyright notice is preserved on all copies.

There is no warranty or other guarantee of fitness for this software,
it is provided solely "as is". Bug reports or fixes may be sent to the
author, who may or may not act on them as he desires.

You may not include this software in a program or other software
product without supplying the source, or without informing the
end-user that the source is available for no extra charge.

If you modify this software, you should include a notice giving the
name of the person performing the modification, the date of
modification, and the reason for such modification.

Manual Pages

Manual pages may be copyrighted individually. The copyright owners
grant the following permissions: These manual pages may be freely
copied, modified, and redistributed as long as this and any individual
copyright notices are not altered or removed.
