We never really came to a consensus on this question, and I'd like to try to do that.  To be clear, here is the proposal:

1) Remove the @author lines from the code, and instead rely upon SVN as the official master record of individual contributions
2) Change the Eclipse preference files to remove the @author lines from the code templates
3) Add a AUTHORS file to the distribution(s); this file will contain the names and email addresses for all contributors, and can even allow a contributor to describe their contribution if they so desire.  
4) Change the headers to remove the "@author" wording and to replace it with "See the AUTHORS file in the
distribution for a full listing of individual contributors."  
5) Change the POM files to include the AUTHORS file in each distribution.

The AUTHORS file would look like this:

Randall Hauch (rhauch@redhat.com)
John Verhaeg (jverhaeg@redhat.com)
Dan Florian (dflorian@redhat.com)
Stefano Maestri (stefano.maestri@javalinux.it)
Serge Pagop (Serge.Pagop@innoq.com)
Michael Trezzi (michael@mathwizard.org)
Alexandre Porcelli (porcelli@devexp.com.br)
Sergiy Litsenko (litsenko_sergey@yahoo.com)

Note that unlike the @author tags, this file will list all contributors, and the names of new contributors will be appended to the list by the project lead.  (No names will be removed from this file.)

I would prefer to hear from every contributor, so please respond with +1 if you agree with this proposal, 0 if you don't care, or -1 if you want to keep the @author tags.  If you vehemently want to keep the @author tags and names in the source file, please say so.

Best regards,

Randall

On Nov 18, 2008, at 3:33 PM, Randall Hauch wrote:


On Nov 18, 2008, at 2:52 PM, Stefano Maestri wrote:


Randall Hauch wrote on 17/11/08 22:17:
I've recently read a suggestions for open source communities that the
author names are removed from the content.  In the case of DNA's
codebase, that would mean removing the @author tags.
May I ask where?

I knew someone was going to ask. :-)  I had to go back and look, but here are a few:
http://video.google.com/videoplay?docid=-4216011961522818645&ei=8o0YSbiFOY6qrgLC2PnLDQ&q=poisonous+people
http://docs.ofbiz.org/display/OFBADMIN/Coding+Conventions
http://subversion.tigris.org/hacking.html#other-conventions
http://blogs.sun.com/ahe/entry/author_tags



tags:

 1. When there are no @author tags, then there is a far smaller
    notion of ownership by the author(s).  On one side of this, the
    author(s) may not appreciate changes to "their" code, and on the
    other side, non-authors may feel intimidated about working on
    code for which they are not an author.  IMO, we want to
    _discourage_ ownership and _encourage_ everyone to work in any
    area of the code they want.

+1...but is really @author tag intimating someone, or giving ownership
to some other? Quiet frankly not for me.

I hope it doesn't discourage people from contributing and diving in wherever they want.  BTW, it's quite possible that no matter what our policy, some people may not like it.  For example, if we were to adopt a policy of NOT including @author tags, some people may refuse to join the community because they see the @author tag as proof they worked on it.  It takes all kinds of people. :-)


Anyway I agree on the _discurage_ownership and _encourage_everyone to
work in any area, so if it can help, remove @author tag.

 1. @author tags can be inaccurate.  SVN has the true history of who
    contributed exactly what code.

+1

IMO, this is perhaps the biggest justifiable reason.  Its rubbish if its not up-to-date, so it seems far better to not have @author tags.



The only benefit I can think of is that the @author tag does help to
give some notion of who is the "expert" of the class, in case they
need to be consulted.  However, I don't believe this is really much of
a reason, since it's far better to consult the SVN history and see who
actually modified the different parts of the code.  In fact, the
annotated views in Fisheye even show on many of the lines the name of
the last person to change it.  For example,
see http://fisheye.jboss.org/browse/DNA/trunk/dna-common/src/main/java/org/jboss/dna/common/i18n/I18n.java?r=120

abosolutely better to use fisheye...if fine people of JBoss.org would
also mind to upgrade it to a more recent version it would be even
better. Also Jira integration may help a lot.

I would just add that if we decide to remove the tag we have to change
also the license information at the beginnig of any file which say:
/* 2
<http://fisheye.jboss.org/browse/DNA/trunk/dna-graph/src/main/java/org/jboss/dna/graph/GraphI18n.java?r=598#l2>
* JBoss, Home of Professional Open Source. 3
<http://fisheye.jboss.org/browse/DNA/trunk/dna-graph/src/main/java/org/jboss/dna/graph/GraphI18n.java?r=598#l3>
* Copyright 2008, Red Hat Middleware LLC, and individual contributors 4
<http://fisheye.jboss.org/browse/DNA/trunk/dna-graph/src/main/java/org/jboss/dna/graph/GraphI18n.java?r=598#l4>
* as indicated by the @author tags. See the copyright.txt file in the 5
<http://fisheye.jboss.org/browse/DNA/trunk/dna-graph/src/main/java/org/jboss/dna/graph/GraphI18n.java?r=598#l5>
* distribution for a full listing of individual contributors.


Yes, we'd have to update the headers.

Best regards,

Randall