Great overview, Rob. The roles at Apache projects are also documented here, which may be useful to read as well:

  http://www.apache.org/foundation/how-it-works.html#roles

Does anyone have links or an explanation of the "org chart" of the OpenOffice.org project? It would be helpful for us Apache folk to have a better understanding of how some things were done in the past on the previous project.

On 6/24/2011 9:48 AM, Rob Weir wrote:
Since almost all of us are new to Apache we're learning a lot about
how Apache projects organize themselves.  Based on my reading, I
understand that Apache projects have three degrees of participation:

Plus users! All Apache projects have a users@/user@ mailing list where user level questions are asked and answered. Given OOo's focus, I imagine we may have a number of lists or forums for this kind of support in the future. Note that Apache prefers mailing lists (with public archives in a number of places) to forums, although this is not a strict rule.

1) Developer (or Contributor might be the preferred term, since it
doesn't depend on coding), who is a project member that contributes
patches, helps with support, reports bugs, etc.  The main thing they
cannot do is commit changes directly to the product repository.  They
need to submit patches, which are then reviewed and checked in by a
"committer".

Given the breadth of OOo, I think there may be a significant number of people who serve as contributors, working on documentation, translations, and user-focused areas.

2) Committers are elected based on their sustained contributions to
the project.  They have an apache userid and email alias.  They can
commit changes to the repository.  They are also responsible for
reviewing patches submitted by other contributors.  A Committer must
have an ICLA on file.

Committers are elected (by the PMC) based on the merit of their public contributions to the project itself. Each PMC has it's own bar, or level of contribution, expected from developers before being proposed and voted in as committers.

Note that iCLAs are required for all committers, which ensures clean IP for any project(s) they commit to. Committer access is granted separately for every project; merit from one project is not necessarily transferrable to other projects.

3) Project Management Committee (PMC) are Committers or Contributors
who are elected, based on merit, to help provide oversight to the
project.  They approve releases and elected new Committers and PMC
members.

PMC members are almost always existing committers, since it's rare to elect someone to control the strategic direction of a project unless they've already been a committer for a while - but it's certainly possible. Note that we probably would want an iCLA in any case.

As the Apache OpenOffice podling was bootstrapped, all of the
volunteers who signed up on the wiki, before the vote, were
automatically able to become Commtters and PPMC members.  But to
actually take on those roles, a number of steps needed to occur,
mainly dependent on the new member submitting the Apache ICLA.  Once
that is done, account creation, etc. takes some time, but is routine.

What we need to decide going forward is how we define the details of
the Contributor/Committer/PPMC roles.

Specifically:

1) In the future, will all Committers be PPMC members?  In other
words, will these two groups be identical?  I've heard that other
Apache projects have a subset of Committers serve on the PMC, but they
rotate membership, so all Committers get a chance to be on the PMC.

Given the breadth of work on OOo, I would imagine PPMC would be a subset of committers, although that's a decision up to the project. I don't know of many (any?) projects that rotate PMC membership; normally once people are elected to the PMC they remain on it (until they choose to leave due to not having time to contribute).

PPMC/PMC membership changes work like this:
- PMC votes to elect a new member
- PMC chair emails board@ with vote result asking for an ACK
- A director replies to the email with an ACK, and notes a 72 hour waiting period - After 72 hours, the PMC chair adds the new PMC member to the official PMC roster

Note that changing the chair of a PMC (who is also a Vice President of the ASF) requires a board resolution, which is done at monthly board meetings.

2) If the Committer and PPMC groups are not identical, then what
criteria should we use to determine who becomes a PPMC member?

Committers can manipulate/vote on the code. PPMC members vote on new committers, new PPMC members, and project releases.

Personally, I view committers as people trusted to help work on the code. PPMC/PMC members are people trusted to *actively* plan the strategy for the project, and who are somehow willing to help out on the larger scale, either with testing and voting on releases, being responsible for some product area, or whatever. But again, that's up to the project to decide as a community.

3) If someone is offered the role of Committer, how long do they have
to sign ICLA?

Up to the project, but if they don't sign an iCLA then infrastructure won't give them an Apache id.

4) If someone is an incredible contributor to the project, say in
testing or event planning, can they become a PPMC member?   Would they
need to sign the ICLA even if they are never actually need to commit
project resources?  In other words, can someone be a PMC member
without being a Committer?  Or should we think of these as being
progressive degrees of involvement, strictly Contributor -->  Committer
-->  PMC member?

Previous code contributions are not required for PMC membership; the PMC is free to decide what kinds of merit are sufficient to vote in a new member. Having an iCLA isn't strictly a requirement, but it would be strange to have a PMC member without one. iCLAs are also required for an Apache id.

5) Is there an term limit on PPMC membership, or criterion for
sustained contributions and activity level?  In other words, is it a
case of "Once elected, always a PMC member"?

Up to the project. Most projects expect that PMC members can remain indefinitely. Many projects have an ad hoc process where they occasionally ping PMC members who have not been present for a while to ask if they want to remain on the PMC or not.

6) Similar for Committers.  Is there a minimum threshold level of
activity that is needed to sustain that role?

Up to the project.  Most projects allow committers to remain indefinitely.


-Rob

Excellent questions, by the way.

- Shane

Reply via email to