Arne said:
Even as a consumer of the code it is often interesting to look at
the history.
If you have a problem during an upgrade then it can be helpful to
know if that particular class were changed or not.
I agree that it is possibly sometimes useful to see a version history, for
some artifacts in some projects. I have stated that in such cases an
auxiliary history document could be useful. The only objection I have is to
inclusion of that history in the source artifact itself.
I've been using the Java API for over ten years now, and not once have I ever
wanted or needed to look up the history of any individual source file for it.
Likewise I've never wanted or needed the source history for any artifact in
any Java API I've used only as a "consumer of the code", including, for
example, log4j, MyFaces, OpenJPA, Apache commons-io, commons-lang, Tomcat,
commons-collections, just to name a few where I have had access to the source
code. In situations where I have seen version history in source code, even in
projects where I was on the development team, it was always a major
distraction and annoyance. This was true even when I sometimes needed to see
the version history for an artifact - if the history was in the artifact, it
was annoying; if it was external to the artifact, it was useful.
Nevertheless for those who have a penchant for swimming in water under the
bridge, I'm all in favor of making version history available to those who want
it. I concede your points in this matter. But you have not made a case for
including the history within the artifacts themselves.