Hadoop release tarball contains both raw source and binary. This leads users to use the release tarball as base for applying patches, to build custom Hadoop. This is not the recommended method to develop hadoop because it leads to mixed development system where processed files and raw source are hard to separate.
To correct the problematic usage of the release tarball, the release build target should be defined as:
"ant source" generates source release tarball.
"ant binary" is binary release without source/javadoc jar files.
"ant tar" is a mirror of binary release with source/javadoc jar files.
Does this sound reasonable?