ElasTest community governance model
This community is led by a benevolent dictator and managed by the community. That is, the community actively contributes to the day-to-day maintenance of the project, but the general strategic line is drawn by the benevolent dictator. In case of disagreement, the benevolent dictator has the last word. It is the benevolent dictator’s job to resolve disputes within the community and to ensure that the project is able to progress in a coordinated way. In turn, it is community’s job to guide the decisions of the benevolent dictator through active engagement and contribution.
Roles and Responsibilities
Benevolent dictator (Project lead)
Patxi Gortázar and Micael Gallego are appointed as Benevolent Dictators and project leaders. However, because the community always has the ability to fork, these persons are fully answerable to the community. The project leads are expected to understand the community as a whole and strive to satisfy as many conflicting needs as possible, while ensuring that the project survives in the long term. In many ways, the role of the benevolent dictators is less about dictatorship and more about diplomacy. The key is to ensure that, as the ElasTest expands, the right people are given influence over it and the community rallies behind the vision of the project leaders. The leaders job is then to ensure that the committers (see below) make the right decisions on behalf of the project. Generally speaking, as long as the committers are aligned with the project’s strategy, the project lead will allow them to proceed as they desire. Additionally, the ElasTest Community considers the project leaders primary point of contact or first point of contact of the project for business purposes including technical services.
Committers
Committers are contributors who have made sustained valuable contributions to the project and now relied upon to both write code directly to the repository and screen the contributions of others. In this case, Committers are members of the original research project consortium prior to the foundation of the ElasTest Community. A committer will focus on a specific aspect of the project, and will bring a level of expertise and understanding that earns them the respect of the community and the project lead. The role of a committee is to provide guidance and support to the project leaders. Committers have no authority over the overall direction of the project. However, they do have the ear of the project lead. It is a committee's job to ensure that the lead is aware of the community’s needs and collective objectives, and to help develop or elicit appropriate contributions to the project. Also committers are given informal control over their specific areas of responsibility, and are assigned rights to directly modify certain areas of the source code (the ones developed within the funded project). That is, although committers do not have explicit decision-making authority, they will often find that their actions are synonymous with the decisions made by the lead.
Contributors
Contributors are community members who have recently join the project, so they cannot be considered as committers. Contributors are supposed to make valuable contributions but do not have the authority to make direct changes to the project code. Contributors engage with the project through its communication tools.
Contributors can:
- Support new users
- Report bugs
- Identify new requirements
- Submit patches
- Support new users
- Write documentation
- Fix bugs
- Add new features
Note, however, that in order to accept contributions like code and documentation contributors must sign the Contributor License Agreement. As contributors gain experience with the project, they can be promoted to committers as long as they have support from other committers and the proposal is accepted by the project lead.
Users
Users are community members who have a need for the project. They are the most important members of the community: without them, the project would have no purpose. Anyone can be a user; there are no specific requirements. Users are encouraged to participate in the life of the project and within the community. User contributions enable the project team to ensure that they are satisfying the needs of those users. Users’ expected activities are:
- Evangelising about the project
- Informing developers of project strengths and weakness from a new user’s perspective
- Filing bug reports and features requests
- Participating on the discussion forums.
Users engaged with the community can become contributors following the process described above.
Support
All participants in the community are committed to provide support for new users within the project management infrastructure. This support activity is recognise as voluntary and is therefore provided as and when time allows. Support will be provided through the community communication channels.
ElasTest Contributor Covenant Code of Conduct
Our Pledge
In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation.
Our Standards
Examples of behavior that contributes to creating a positive environment include:
- Using welcoming and inclusive language
- Being respectful of differing viewpoints and experiences
- Gracefully accepting constructive criticism
- Focusing on what is best for the community
- Showing empathy towards other community members
Examples of unacceptable behavior by participants include:
- The use of sexualized language or imagery and unwelcome sexual attention or advances
- Public or private harassment
- Publishing others' private information, such as a physical or electronic address, without explicit permission
- Other conduct which could reasonably be considered inappropriate in a professional setting
Our Responsibilities
Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior. Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful.
Our Responsibilities
This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers.
Enforcement
Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by emailing elastest-coc@googlegroups.com which only goes to Patxi Gortázar. To report an issue involving him please email micael.gallego@urjc.es. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately. Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership.
Attribution
This Code of Conduct is adapted from the Contributor Covenant, version 1.4, available at http://contributor-covenant.org/version/1/4