This package, the EXT2 filesystem utilities, are protected by the GNU
Public License, with the following exception --- 

	If the version string in the file version.h contains the
	string "pre-", then this package must be distributed in source
	form only.  You can give a copy of the binary for e2fsck to
	help a friend recover his or her filesystem, as the need
	arises.  However, "pre" indicates that this release is under
	development, and availble for ALPHA testing.  So for your
	protection as much as mine, I'd rather not have it appear in a
	some distribution --- especially not a CD-ROM distribution!

The most recent officially distributed version can be found on
tsx-11.mit.edu, in /pub/linux/packages/ext2fs.  If you need to make a
distribution, that's the one you should use.  If there is some reason
why you'd like a more recent version that is still in ALPHA testing
for your distribution, please contact me (tytso@mit.edu), and we can
see if we can't come to an arrangement.  The release schedules for
this package are flexible, if you give me enough lead time.


					Theodore Ts'o
					26-Mar-97
