Governance Model
Ensuring that projects are developed by the community in a structured and transparent way requires a certain degree of governance. The following rules and processes have been adopted to strike a balance between encouraging anyone to make a contribution at any time and maintaining a high level of quality in the projects.
Project Teams
Projects are developed in open source and primarily hosted at http://www.jboss.org. To ensure that there is a clear focus and organized approach to development, each project has a team consisting of the following people.
Project Lead
The project lead is the lead developer of a project and is responsible for the overall direction and vision. As such, they are typically employed by Red Hat to ensure they can dedicate the maximum amount of time and effort to their work. In addition to making sure that releases are planned correctly and completed on schedule the leads decide who receives write access to the source code repository. This ensures that the quality of the software and the associated documentation remains high and the conceptual integrity of the project is maintained.
Developers
The remainder of the developers in each team come from the community and include individuals contributing code and documentation in their spare time as well as employees from Red Hat and other companies who make contributions as part of their work. Each of these people has write access to the source code repository allowing them to make changes on their own. All contributions are covered either by an Individual or Corporate Contributor Agreement that sets out the terms and conditions for their use.
Contributing patches
If you're not an official member of a project team or don't have write access to the source code repository then you can still make a contribution by submitting a patch. A patch is simply a file that contains the differences between the files you are modifying and the new versions you have created.
Contributor Agreement
In order to accept a patch we require that you first complete either an Individual or Corporate Contributor Agreement acknowledging certain terms and conditions for its use. Once this agreement has been completed and a patch is accepted then the differences will be applied to the original source code or documentation by the project team and committed to the source code repository on your behalf. If you make a significant number of contributions or make a large improvement to a project then you may be offered write access so you can apply changes on your own.
Forums
We currently SBS for the forums.
To ensure that the forums are well organized and contain useful information there are certain roles and responsibilities that must be carried out:
Administrators - these are employees of Red Hat who are responsible for the creation and maintenance of categories and forums. They can also assign permissions to forums if necessary to restrict who can read and write posts. This may be done for example to prevent anonymous posts to a topic if there is a large amount of spam. Contact a forums administrator.
Moderators - these are members of the community who are responsible for monitoring the content of forums. They can move, delete, lock, unlock and edit topics and posts to ensure that the content is relevant and inoffensive. Each forum has its own list of moderators who are displayed underneath the forum title on the main page, as for example in the Beginners Corner forum.
To become a moderator you need to demonstrate that you can keep topics on track and highlight inappropriate language or content. Once you have done this then you can contact the current moderators (or an administrator if there are none) and request to be added to the list.
Wiki
We currently use SBS for the wiki.
Anyone is free to view the contents of the wiki anonymously but to make any changes you need a community account. This helps to prevent spamming and allows you to track your changes over time. To register for a community account simply click on the Register link at the top of the page and fill in your details.
Wiki administrators are employed by Red Hat to ensure that it is always available and running without any problems. They can also delete pages if they are no longer needed or contain offensive content. Contact a Wiki administrator.
Wiki articles are locked during editing to prevent someone else from making a conflicting update.
Mailing Lists
We currently use the GNU Mailing List Manager application Mailman to manage the mailing lists.
Installation of Mailman and its integration with the mail and web servers is performed by the Site Administrators. These people are employed by Red Hat and also take responsibility for setting up list defaults, configuring virtual domains, and enabling various options for the list administrators.
If you would like to set up additional mailing lists or if there is a problem with the Mailman application, such as the public lists not being accessible, then please contact the Site Administrators for help.
List Administrators
In addition to the Site Administrators, each mailing list has one or more List Administrators. These people are responsible for things like configuring the list options to determine how mail is sent and received and managing the member lists. List Administrators can also act as moderators if necessary by approving or rejecting messages that are sent in. This may happen for example if a message comes from a person who isn't a list member.
There is always at least one list administrator who is a member of the project team employed by Red Hat, usually the project lead. Members of the community can also take on this role by demonstrating interest in the list and contributing regular messages. A request can then be sent to the existing administrators to join them. Contact the list administrators.
List members
In order to protect the privacy of members and to prevent them from being targeted for spam, only the Site Administrators and List Administrators can view the member lists.
Issue Tracking
To keep track of all requests for new features, bug reports, and tasks that need to be completed, we use the JIRA Issue Tracking & Project Management software.
Administration of JIRA is performed by Red Hat employees whose responsibilities include:
- Configuring JIRA plugins to provide additional functionality.
- Installing additional languages for displaying user-visible pages (the default language is English).
- Creating user groups and assigning permissions to determine who can access JIRA and what they can do/see.
- Creating new projects and components and specifying project administrators.
- Configuring email notifications for project related events.
- Creating, editing and deleting issue types, priorities, statuses and resolutions.
- Making changes to field configurations and creating custom fields as needed.
- Configuring issue-level security to control who can and cannot see individual issues.
- Backing up and possibly restoring data in the event of a crash.
- Making sure that the system is responsive and running without any errors.
If you have a request to make regarding any of these subjects, such as adding a new issue type, feel free to email any of the administrators who should be able to help.
You can see a list of the current administrators together with their email addresses by clicking on the 'Contact Administrators' link at the bottom of each JIRA page or by going to the Administrator's page.
Project Administrators
Each JIRA project can have one or more administrators. These are users who in addition to having normal project permissions have been allocated the 'Administer Projects' permission that allows them to:
- Change the full name of the project.
- Change the documentation URL.
- Change the lead developer.
- Change the project description.
They may also have permissions to assign, move, close, delete, set/edit the 'due date' and manage the security levels of issues to prevent misuse.
Since a project administrator is integral to the successful management of a project, the role is typically reserved for the project leads employed by Red Hat.
Users
Anyone can browse JIRA anonymously but to create or edit issues you must have a community account. You can register for an account by visiting the registration page.
Other reasons to register for a community account include:
- You can configure one or more Dashboard pages to view the information most important to you.
- You can view JIRA pages in a different language than the default (English).
- You can vote for issues that are important to you.
- You can watch issues for changes and receive email notifications.
- You can choose whether you want to receive email in plain text or html.
- You can add comments and attachments to issues.