How to Contribute to the RiverMuse Core Project
Quick Contribution guide
In order to submit a contribution, you must
- Have a RiverMuse account - sign up here
- Create a contribution item
1 Contribution Governance Process
This process describes the RiverMuse Core community governance process put in place to handle open source contributions from community members. The process includes the governance process steps that are designed to ensure the quality of the product.
Description
The RiverMuse Core product is Open Source encouraging contribution from community members. The process is based on three different user groups; User, Contributor and Committer, each of which is described in more detail later in this document
Access Download
The process starts when someone accesses the RiverMuse Core project area to download the source code.
Type of User
The RiverMuse Open Community will support three categories of members:
- User; read only access
- Contributor; has the ability to check out code and contribute changes by raising an Issue Ticket but cannot commit the change to the load line
- Committer; a trusted user who can download, make changes and commit changes to the load line. They also review submitted changes from Contributors and commit those changes once approved. These different user groups require different access and workflows.
GATES
Gate
- Condition
- User type = User
Gate
- Condition
- User type = Contributor
Gate
- Condition
- User type = Committer
User
An ordinary user will simply be allowed to download the product either as an executable package or source code. 'Users' will be encouraged to leave feedback on the product and will be encouraged to become 'Contributors'
2. Performers
Leave Feedback
Users are encouraged to provide feedback on their experience of using RiverMuse. This is done via an online feedback form.
User Feedback Complete
Committer
A Committer will access the source via SVN and will check out using their individual user i.d.
Performers
Committer Development
The Committer will change the source code in their own development environment.
Submit
The Committer submits their changes by checking their edit source back in to SVN.
Performers
Submitted
Contributor
A contributor is allowed to check-out code from the SVN using Anonymous check out and to make changes to the code and to contribute it back to the community. They can't however check the edited source back into SVN. Before the contribution is committed it must be reviewed and approved by a Committer who, on approval, will commit the code on behalf of the contributor. If a Contributor feels that their contribution has been unfairly dealt with e.g. rejected without valid cause, they can appeal to the Community Board for review.
Performers
Contributor Development
The Contributor, having checked out the source from SVN and carryout the necessary changes then create a diff file to pick out their changes and they raise an 'Issue Ticket' attaching the diff file. The ticket is then assigned to the appropriate Committer.
Performers
Committer Approval
The Committer reviews the proposed changes from a Contributor. The changes may be accepted and committed to the load line, or referred back to the Contributor for clarification or to request changes to the contribution, or the contribution may rejected.
Performers
Appeal to Community Board
If a Contributor considers that their contribution has been unfairly dealt with they can appeal to the Community Board. This is done by emailing the reason for the appeal to the Community Board contact email address
Performers
- Contributor
- Community Board
Appeal Upheld
The Community Board will review the appeal from the Contributor. If the Contributors appeal is upheld the contribution is routed back to a Committer. If it is rejected the process either ends or the Contributor is asked to change their contribution based on the Community Board's decision.
GATES
Gate
- Refer back to the Contributor
- Appeal and Contribution Rejected
- Appeal Upheld
Appeal Rejected
Appeal Upheld
PARTICIPANTS
User (Role)
A 'User' is a community type of member who uses the deliverables from the RiverMuse community. They do not provide direct contributions to the product but do provide feedback and evidence of usage.
Contributor (Role)
A 'Contributor' is a type of member of the RiverMuse community that makes contributions to the community. They can download from SVN but must submit any contributions back through a Committer.
Committer (Role)
A 'Committer' is a trusted of member of the RiverMuse community who can commit changes to SVN. They act as an approver for contributions from Contributors
Community Board (Role)
The Community Board is made up of three senior members of the RiverMuse community . They have the responsibility for setting the strategy and roadmap for the community.
The Board also acts as the body empowered to resolve disputes within the community that cannot be resolved at the project level.