@author tags

When the @author tags issue came up, I refrained from comment, because it seemed to be an issue only with the Java folks. And it’s clear to me that I don’t understand the Java folks, on a number of levels. They seem to be motivated by entirely other things than I am, and so we seem to have a number of disconnects on things that they appear to consider very important.

The things you think are precious I can’t understand
(Steely Dan, Reeling in the years)

So, for those joining late, the ASF board has suggested that @author tags in Java code should be avoided. Not, you should understand, saying that they MUST be removed NOW NOW NOW, but that they are deprecated — not recommended.

This upset a lot of people.

You should read Ken’s remarks on it (here and then more here) for a more in-depth analysis. After all, he is on the board, and I am not.

To me, however, this all begs the question, why are these folks involved in Open Source? I do not mean to imply that this is a simple question, or even one to which everyone knows their own answer. I have thought a great deal about my answer, and I still don’t know that I have one simple answer. Certainly, part of it is for the adulation and glory that comes along with it. And part of it is just the joy of doing something that really matters – something that has significance beyond myself. I’d like to think that the latter has more weight than the former, but the scale slides from one day to another.

But should we have author tags in files? There are docs in the Apache HTTPd documentation that state “this doc written by”, and those have always irritated me. Having thought a lot about it, here’s the reasons that it irritates me.

1) Code ownership is BAD. This is one of the tenants of the eXtreme Programming folks. Yes, this is dogma, not a reason, but I tend to agree with the XP folks more than half the time, so there’s likely good reasons behind it, in addition to my reasons.

2) Why is code ownership bad? One reason is: Because people get their feelings hurt when “their code” gets changed. They take it as a personal affront.

3) Another reason: People are reluctant to touch it. Why has the mod_rewrite documentation remained unchanged for so many years? Because it is Ralph’s document. Has Ralph stated that he doesn’t want it changed? *Of course not*. But people seem to be reluctant to change that one doc, when they tromp all over other docs. I suspect that the same is true to some extent for “my” howto docs, which is why I went back and purged my personal information from them.

4) And another: It reduces the community’s pride in a document. When everyone has contributed to a document, they all feel that the’ve done a good job. Same with code. But if people are keeping score – I wrote 28 lines, and you only wrote 12 – that gets to be more of a self-aggrandizing contest than anything actually productive. The person with the most lines of code is seldom the most important contributor. Often the one-line patch is worth more than 100 lines of broken code.

I didn’t feel that it was worthwhile piping in to the @authors argument, I suppose, because it was clear to me that the board decision was the right one, in the overall goal of improving community. And that it was not dictatorial, so that if an individual project wanted to say, no, we want to keep them, well, then, they can. Also, because the Java people baffle me on the best of days, I was sure that I’d unintentionally step on toes and call someone a self-aggrandizing pompous stuck up fame-seeking gold digger, or something like that. 😉