> It might be nice to explain this in a bit more depth -- possibly using the
 > phrase "code rot".  That is, it's broken not just because of policy, but
 > because it loses relevance, and tends to go unmaintained, results in
 > confusion, etc.

I was trying to avoid getting too philosophical, but OK -- here's a
revised stab:

  7.5 Unreferenced File Policy
  ============================

  An "unreferenced file" is a file that is not used during a build of a
  given source tree.  Because unreferenced files will "rot" over time and
  lose relevance, and may indicate brokenness in the build process itself
  (such as a mistakenly-unused packaging dependency file), such files are
  forbidden in the ON source tree.  However, exceptions may be granted by
  the gatekeepers when appropriate -- usually for:

     * READMEs and other textfiles that aid in understanding the source.
       (Exceptions for these are automatically granted, provided the files
       end in ".txt".)

     * Source that's used during "specialized" builds, such as CRYPT_SRC,
       EXPORT_SRC -- or by tools that have not yet been tied into the build,
       such as warlock.

     * Source subtrees that will likely be resynched with an upstream entity
       (e.g., sqlite).  (This exception does not extend to unused build
       infrastructure: upstream Makefiles and other unused build files are
       forbidden since they are a hazard to those maintaining ON's actual
       build infrastructure.)

  The detection of unreferenced files in ON is automated by the findunref
  tool (see http://opensolaris.org/os/community/on/findunref).  To ensure
  that findunref only flags valid unreferenced files, any granted exceptions
  must be listed in usr/src/tools/findunref/exception_list.

-- 
meem
_______________________________________________
opensolaris-code mailing list
[email protected]
http://mail.opensolaris.org/mailman/listinfo/opensolaris-code

Reply via email to