Mitchell Kapor wrote:
To have a fully-baked policy, I think we need more definition around
the private "vetting" process. Ted, can you say more about what this
is like at Apache?
I'll answer this too by explaining what it is like at Mozilla, because
we have a couple "levels" of access. The full process is described here:
http://www.mozilla.org/hacking/getting-cvs-write-access.html but I can
offer some more of how it works from both sides because I've spent time
helping make the decision on whether a contributor gets access or not.
The basic idea is that bugzilla is used to have a paper trail of almost
everything, and its done through a process of specific, recording
instances of a few people vouching for another.
First, folks get started by attaching patches to bugs (optionally filing
those bugs to begin with) - they get reviewed using the bugzilla patch
system. Since all commits must originate as a patch in bugzilla and be
marked as reviewed by a committer, this mechanism provides a queryable
paper trail of the contributor's history within the bug system.
Over time the contributor wants commit access - they have to have
submitted around 5 "significant" patches - more than just one liners or
code cleanup. This number isn't set in stone, and it is less formal than
that. In fact some folks actually end up getting commit access because
all they do is cleanup code.. but they clearly demonstrate good judgment
as to when that is really important or not.
To start the process, the contributor actually files a bug against
product "mozilla.org", component "CVS Account Access" The default
assignee is the person who will actually create the account - i.e. the
IT guy/gal. In the bug, the contributor CC's some of the developers they
have worked with, who they assume will vouch for them.They then also
list the bugs that they have contributed to as evidence of their work.
The advantage of having a bug is that it is easy to do a query against
open "CVS Account Access" bugs to see the queue of users awaiting approval.
https://bugzilla.mozilla.org/buglist.cgi?query_format=advanced&short_desc_type=allwordssubstr&short_desc=&product=mozilla.org&component=CVS+Account+Request&long_desc_type=substring&long_desc=&bug_file_loc_type=allwordssubstr&bug_file_loc=&status_whiteboard_type=allwordssubstr&status_whiteboard=&keywords_type=allwords&keywords=&resolution=DUPLICATE&resolution=---&emailassigned_to1=1&emailtype1=exact&email1=&emailassigned_to2=1&emailreporter2=1&emailqa_contact2=1&emailtype2=exact&email2=&bugidtype=include&bug_id=&votes=&chfieldfrom=&chfieldto=Now&chfieldvalue=&cmdtype=doit&order=Reuse+same+sort+as+last+time&field0-0-0=noop&type0-0-0=noop&value0-0-0=
General public discussion happens within the bug - the more positive
stuff goes there. There will be occassional stuff like "The guy seems
good, but I'd like to hold off and see more from him before we give him
access." This all takes place within the bug and the contributor sees
it. potential vouchers may CC other potential vouchers, i.e. "Lets see
what Darin thinks - Darin can you take a look at his patches in this
other bug?"
For serious problems with contributor, the private mailing list for
"Super Reviewers" is used. (these are sort of the general architects of
the product, though the role of this particular group has gone down as
the product's development has gotten more decentralized.)
Long ago in the Netscape days we actually had a super-reviewers summit
every week or two where we'd review the individuals requesting access,
and also discuss other people issues. For instance, we had a committer
who started a small side project within his module which ballooned into
something we didn't want in the main project - we had to discuss how to
get him to move it to become an extension.
Ultimately, the decision to grant account access is given by a series of
"r=" in the original CVS Account Access bug, by a super-reviewer, when
they have reviewed patches. The r= comes from the bug review process and
means "I reviewed this" i.e. if I were to vouch for a contributor, I'd
put "He sounds good to me. r=alecf" in the bug. The general rule (last I
checked) is that you needed three r='s from super reviewers.
The "r=" string itself is important because its considered a true stamp
of approval and there is no ambiguity about whether or not someone is
actually vouching. i.e. I might be in a rush and say "His code looks
good to me" - but am I vouching for him or not? it's not clear from just
that. When I put "r=alecf" then it is clear as day that I'm vouching and
again we have a paper trail.
Anyway, once that happens and the paperwork is filed, the bug is marked
FIXED by the guy who created the account. Mozilla does have a
review-before-commit policy, so there isn't any real danger of someone
accidentally thwarting the system once they have commit access unless
the person is really malicious, but that's another story...
Hope that helps.
Alec
Also, I think the nature of the voting needs further explication.
"Pro-forma" usually means in this context, for the sake of the form,
i.e., something non-substantive. Is this what you meant? If not, can
you say more about what it takes for a vote to "carry"?
After the new committer has been voted in, they must sign a
Contributor License Agreement (CLA). Once this document is on file,
the IT Staff at OSAF will create the necessary accounts, etc.
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Open Source Applications Foundation "General" mailing list
http://lists.osafoundation.org/mailman/listinfo/general
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Open Source Applications Foundation "General" mailing list
http://lists.osafoundation.org/mailman/listinfo/general
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Open Source Applications Foundation "General" mailing list
http://lists.osafoundation.org/mailman/listinfo/general