@author tags considered harmful
Recently, the Cocoon community decided that @author tags will be removed in source files (helped in that by a very
hindsightfull explanation by Dirk-Willem Van Gullick, president of the
ASF)
At first, I did not like much that idea. Working on opensource projects is a personal involvment that needs some kind of reward, and visibility of your name in source files is a reward, as it flatters the ego.
But involvement isn't only about code. The motto of the ASF is that "the community is more important than the code", which comes from a very pragmatic way of seeing things: a smart code with no community and no users is dead, while a dirty code with lots of people around it will evolve and become better.
How does this relate to @author tags? The answer is simple: @authors tags are about code, not about community. Up to recently, I did not care much about this difference as my involvement in the community most often translated into code.
Recently, however, we had a discussion on cocoon-dev about
a bug (which I introduced, but that's not the point here) where I
proposed a solution that would introduce a new source file, which was enriched along the discussion.
Carsten picked up the idea and
wrote the code. I have absolutely nothing against that, rather the contrary: if he has more available time for this than me, there's no reason to wait. But he put his name in the @author tag, which is not good as he's not the sole author: the real author is the community.
I have no real problem with this as it really is a small piece of code and I'm a well established member of the Cocoon community. But this shows how @author tags can be harmful, as personal attribution in source files goes against what makes Cocoon strong: a lively and friendly community, where all changes are discussed before being implemented. So most pieces of the Cocoon code are really a common work, even if a single person writes down the result of this work.
So +10000 for removing @author tags!
PS: for those who may think something goes wrong in Cocoon-land, you really should not. There isn't any problem, and this bug-fix story just triggered some thoughts about @author tags.
Posted by Sylvain Wallez at March 9, 2004 12:03 PM
It depends on what you mean by "involved", as the contents may be the result of some work done on the mailing-list by people that have never touched that file.
And listing all people that have participated directly or indirectly in a file would be difficult, and would lead to an accounting or notation job that would be very damageable for the community!
So the best solution is to remove them.
Of course, we need a way for non-contributors to gain visibility for their contributions. We have the release notes for that, which contain attributions to non-committers that submited some code.
I've missed the discussion on the list (must 've been during my holiday) but reading up on your explanation here I could only come to one conclusion:
We should just use
@author dev@cocoon.apache.org
in the Java files, no?
By the way: isn't this an unreal issue, simply introduced by the Javadoc feature? Ah, damn it's SUN's fault again :-) But honestly: Does the issue exist in open source projects that use C/C++, perl, javascript, XML,... It doesn't seem to bother the non Java files (xslt, shell scripts, ...) that are in the cocoon cvs?
-marc=