9wm is free software, and is Copyright (c) 1994-1996  by  David  Hogan.
Permission  is  granted to all sentient beings to use this software, to
make copies of it, and to distribute those copies, provided that:

(1) the copyright and licence notices are left intact

(2) the recipients are aware that it is free software

(3) any unapproved changes in functionality are either

(i) only distributed as patches

or (ii) distributed as a new program which is not called 9wm and  whose
documentation gives credit where it is due

(4)  the author is not held responsible for any defects or shortcomings
in the software, or damages caused by it.

There is no warranty for this software.  Have a nice day.
