On Feb 27, 2004, at 12:45 AM, Conal Tuohy wrote:
> I don't think the ASF should discourage developers from keeping useful
> metadata about the code inside the source files. What better place to
> put the metadata than in the code? This makes it more likely to be
> used and kept up to date than if it was stored somewhere else, IMHO.
One way to look at this is that @author tags are in a way factually
'wrong'; in most cases it just signals which person wrote the first
skeleton of that code; but subsequently it was fixes, peer-reviewed and
looked at by a whole community. Also do not forget the many people in
your community which help with QA, Documentation, user-feedback and so
on. To put one person in the (hot) seat for what is essentially a
group effort is not quite right.
Looking through the CVS logs of a few tomcat files: each block of 30
lines seems to have had commits of at least 5 persons; with a median of
6 and an average of 9. The average number of @author tags on those
arbitrary blocks is about 0.5. And that is not counting QA, docs,
suggestions of mailing lists, bug resolutions, user support. I.e. those
things which make tomcat such a great supported product.
Secondly what we 'sell' as the ASF brand is a code base which is peer
reviewed, quality controlled and created by a sustainable group which
will survive the coming and going of volunteers. One where knowledge is
generally shared and not just depended on one single individual. This
is one of the key reasons why large companies, governments, etc have a
lot less qualms about using apache than using most other open source;
we mitigate the worry that it depends on a single person, and can
implode or fork without warning, right from the get-go.
Finally - a lot of developers do live in countries where you can get
sued. The ASF can provide a certain level of protection; but this is
based on the KEY premisse that there is oversight and peer review. That
what we ship is a community product; and that everything is backed by
the community and cannot be attributed to a single person. Every commit
gets peer review; ever release requires +1s' and are backed by the
community as a whole. @author tags are by necessity incomplete and thus
portrait the situation inaccurately. Any hint or suggestion that parts
of the code are not a community product makes defence more complex and
expensive. We do not want to temp anyone - but rather present a clean
picture with no blemishes or easy go's.
And to give this a positive slant; be -proud- of this culture; be proud
of being part of something larger of incredible quality. Each of you
did not just write a few pesky lines of code surrounded by an @author
tag; but where instrumental in getting the -whole- thing work ! And if
you are ever trying to understand why cocoon made it this far, and
other commercial/open-source projects did not, then do look there;
quality and a sense of long term stability.
Take Care, Have fun,
Dw
|