Work in Progress

Sahana Roles

Sahana is governed by a meritocracy of contribution. Contribution is primarily measured by that which is done (and not just said will be done) by various contributors to deliver a more successful project against the Sahana goals as a project. Contribution is predominantly in the form of tangible development effort that is of value to the project goals, but also in the form of humanitarian response (utilizing Sahana), advocacy, localization/translation effort, documentation, requirements gathering/analysis, quality assurance and testing. All which helps us make this project more successful as a whole towards it's goals.

You are first recognized for a single valuable (accepted) contribution as a Sahana contributor. With multiple such contributions you will be become eligible for nomination to become a Sahana committer, provided you are adhering to the Sahana standards and conventions and that you have a committer (preferably multiple) who are willing to nominate and second your appointment. After a certain period of time and provided you show significant leadership in the project you might also be nominated by a PMC member to become a PMC member. The roles below define each of these roles and the privileges you have as a result.

Meritocracy Hierarchy

We will have the following progression in the Meritocracy based on your contribution levels

Technical Track

User -> Contributor -> Committer -> PMC Member 

Non Technical

User -> Contributor (non-code) -> Senior Contributor -> PMC Member

Users

Users are people that use our software. We hope that they will contribute to the project they use by reporting bugs and making requests for features. We also hope that they will become part of the project community, by helping other users and telling other people about our software.

Expected Activities

  • Install and try out Sahana
  • Report bugs
  • Request help
  • Subscription to sahana-user

Contributors

Contributors are people who contribute to Sahana via design, code, documentation or testing. Contributors are active participants in the project mailing lists and provide design ideas, code changes, or documentation changes.

Expected Activities

  • Report bugs
  • Request new features
  • Contribute design ideas
  • Contribute code patches
  • Contribute documentation
  • Produce and maintain translations
  • subscription to sahana-user / sahana-maindev mailing lists

Benefits

  • Registration on the Sahana project and listing on Sahana site
  • Sahana Sourceforge account
  • WIKI access
  • Translation site access
  • Ability to put the “I am a Sahana Contributor” Banner on homepage

Committers

Code contributors may also become Committers. Contributors who have been given commit status have demonstrated a history of making useful contributions, the ability to work with existing committers, and the ability to work according to Sahana project practices. As a recognition of this history, committers are given the ability to commit changes directly into the project source code. Committer status is a recognition that a contributor has become a trusted member of the project's community.

Responsibilities

  • Actively participate in the appropriate user and developer mailing lists for the project. This participation is required since the day to day operation of the project takes place on the mailing lists.
  • Proactively participate in relevant development discussions on the mailing lists for their projects
  • Work with the design community for their project by subscribing to the appropriate design list and participating in relevant discussions
  • Use the projects bug tracking system to manage their bugs. This includes creating new bugs, updating the status of open bugs, updating the status of bugs as they are worked on, and closing bugs when they have been fixed.
  • Work within the governance framework and development conventions of Sahana project
  • Be on the lookout for contributors who should become committers

Benefits

  • Voting privileges in the design decision on Sahana
  • Direct CVS Access
  • “Sahana Core Team Member” Banner on site
  • Free Sahana “Core Team Member” T-Shirt

Becoming a committer

  • Commit status is earned on the basis of past contribution, not the promise of future contribution. Also committers is not coupled to employment status. Committers are free to change employers without jeopardizing their involvement as a committer. It is part of the responsibility of the existing committers to be proactive in inviting new committers.
  • Criteria - this is going to be slightly different for every project because there is some subjectivity in this process
    • A history of useful contributions - Have patches been submitted, reworked (if necessary) in responses to feedback from a committer, and ultimately committed by an existing committer? Do the person's recent contributions still require code review and rework before they can be committed? Is this history long enough to ensure that the person will continue to contribute? Is the person consistently making substantial enough contributions to become a committer?
    • Ability to work with existing committers - has this person had their patches reviewed and/or committed by more than one person (preferably 3, which would give 3 +1 votes when the person is proposed as a committer).
    • Ability to work according to Sahana project practices - appropriate use of e-mail, IRC/IM, voice. Understands and operates according the the Sahana project governance principles.
    • Would it be obvious from the person's public record that they should be granted commit status?

Process

  • An existing committer proposes a person for commit status on the project's private list
  • After a suitable period of discussion, a vote is held on this list. The candidate must receive at least 3 +1 and no -1 votes
  • The vote should run for a clearly defined period - 7 days is a good default
  • The candidate is notified privately of an offer of commit status
  • Sahana admin activates the person's ability to commit to the repository, and adds them to the appropriate private list.

Useful questions to keep in mind

  • Has the contributor made substantial (either in difficulty or in volume) contributions to the codebase?
  • Do these contributions need to be heavily reviewed? The assumption here that all of us need reviews, as our use of review-then-commit during code freeze demonstrates
  • Has this contributor reached the point where they can correctly review other contributor's code submissions – that is, do you trust this person to become part of the group of people who decide what gets into the code base or not. Also, keep in mind that this person will also gain the ability to propose other contributors as committers
  • Does the contributor have a sufficiently long history with the project that we feel that they are committed - judging this is squishy - in various open source projects there are variances of between a few months, 6 months, and as long as 2 years
  • If this contributor becomes a committer, are you prepared to respect their right to veto decisions on the codebase?

Revocation of commit status

A committer's commit status can be revoked (and they will become an emeritus committer) for the following reasons:

  • Continuous disruptiveness or failure to operate according to Sahana project governance principles.
  • Lack of active participation or an extended period of inactivity (18 months)

Navigation
QR Code
QR Code policy:committership_policy (generated for current page)