Stage | Criteria | Expectations | Privileges | Example Role(s) |
---|
/dev/null "Community" | - Be or desire to be a developer
- OpenMRS ID
- Introduced
How to Earn: See /dev/null badge on Talk | Community members are expected to be nice. We're all in this together! - Can communicate well and show respect for others
- Willing to be opened
| - Chat with devs on IRC
- Can become a /dev/1
- Claim an intro ticket (or a non-intro ticket with assistance from a /dev/2+)
- Submit a pull request
- Take Introductory Quiz
| |
/dev/1 "Learning" | - Development Environment
- RTFM
- Claim ticket
- Pull Request Submitted
- Pass 5-10 question Introductory Quiz
How to Earn: See /dev/1 badge on Talk | A learner is expected to have engaged with OpenMRS development. - Has tackled at least one intro ticket
- Can write a unit test
| - GSoC
- Post to dev list
- Propose topic(s) on Dev Forum(s)
| |
/dev/2 "Contributing" | - Helps others
- Participate in Dev Forum(s)
- Active ≥3 months
- Resolved ≥10 tickets
How to Earn: Send a message to current /dev/2 members on Talk. | A contributor is expected to be making meaningful contributions to the community, but is not expected to be thinking about needs beyond their own or their organization. - Can handle low complexity tickets
- Has tackled at least 10 tickets
- Can create a module
- Has pair programmed
| - Claim low-to-moderate complexity tickets
- Curate tickets
- Publish a module and resources to Maven repo
- Migrate a repo following our code of conduct
| |
/dev/3 "Cooperating" | - Curates ticket(s)
- Working with others
- Hugged by an implementation
How to Earn: Send a message to current /dev/3 members on Talk. | A cooperator is expected to be thinking beyond their own needs or their organization's needs, including how their contributions affect others in the community and helping coordinate community contributions. - Can handle moderate complexity tickets
- Can function independently, yet looks for opportunities to pair program
| - Code review
- Configure CI
- Lead Sprint
- Push to module(s)
- Spike for community
- Manage a release
- Initiate a maintenance release
| - Technical Lead for Sprint
- Spike Developer
- Release manager
|
/dev/4 "Collaborating" | - Perform at least one Spike for the community
- Leading Dev Forum(s)
- Leading Sprints
- Overseeing code reviews
- Hugged by ≥2 implementations
- Has publicly thanked at least 10 other devs
How to Earn: Send a message to current /dev/4 members on Talk. | A collaborator is expected to be investing in coordination of efforts across the community to help create community benefits that go beyond the sum of the pieces. Usually, a collaborator depends on the work of other organizations or other organizations beyond their own are depending on their efforts. - Can handle complex tickets
- Finds effective ways for developers across organizations to work together
- Occasionally leading the Community Development Swim Lane.
| | |
/dev/5 "Leading" | - Responsible for a component
- Mentoring other devs
- Engages with implementation(s)
How to Earn: Send a message to current /dev/5 members on Talk. | Leaders are expected to be significantly invested in the community, helping drive changes that benefit the community, and mentoring others. - An OpenMRS jedi
- Leading development
- Finds ways to make local implementation development benefit the community and community development benefit local implementations.
- Occasionally leading the Community Development Swim Lane.
- Accomplishing more through guiding/helping other devs than on their own.
| - Can establish coding conventions
- Can deprecate services
- Participate in OpenMRS leadership discussions
| |