OpenMRS has two "products" that are released:
- OpenMRS/Reference Application – this is the web application (reference application) that people generally think of when they think about OpenMRS as an application. For specifics on releasing a new version of the reference application, refer to the OpenMRS Reference Application Release Process page.
- OpenMRS Platform – this is the API and web services used by OpenMRS and made available so that it can be used by other web applications.
Being the Release Manager
The role of the Release Manager in OpenMRS is to handle the process of getting code stabilized, packaged and released to the general public. If we were building planes, the RM would be the guy looking at the construction checklists, painting the airline logo on the fuselage, and delivering the finished unit to the customer.
As such, there is no real development associated with being an RM. All the work you have to do is non-coding: coordinating people, centralizing information, and being the public voice announcing new stable releases. A lot of the tasks that the RM has to do are repetitive, and not automated either because nobody has broken down and written the tools yet, or because the tasks require human validation that makes automation a little superfluous.
So, if you are the Release Manager. What do you need to do?
- OpenMRS ID: This is the basic account that you create when associating with OpenMRS.
- SourceForge account: Every release of OpenMRS is hosted here, you would be uploading the released version here. You have to create a SourceForge account and then create a new case at OpenMRS helpdesk requesting your user to be given the rights for OpenMRS account.
- OpenMRS.org account: This is not your OpenMRS ID, it is a WordPress account where you will need to create a blog post once you release the OpenMRS version. Create a new case at OpenMRS helpdesk requesting access for the OpenMRS.org account. Help desk will create the account for you.
- CI Bamboo Account: The actual release takes place here. You will need your access to this account to finally release the version. Create a new case at OpenMRS helpdesk requesting access for this account.
You might need other additional permissions depending upon if you are managing OpenMRS Platform or OpenMRS Reference Application.
How does OpenMRS choose what goes into a release?
For the most part this is decided by the leadership group. Larger tasks are decided upon way ahead of time and put onto the Technical Road Map. The RM will really be participating in the Release Prioritization Meeting to pick out a lot of the smaller tickets that are able to be completed on time.
How much time does it take to be a release manager?
The time requirement varies from week to week, but shouldn't be more than 4 hours. The major time investments come when doing the final testing and writing up the wiki pages. (like these: Platform Release notes 1.11.0 and Release Notes 2.3). But usually you're just checking in with ticket/module owners to make sure they're going to hit the deadline.
Am I in it alone?
No, the Release Management Manager will be your guide and support, he will be your first point of contact for any issues or guidance you need. Also release managers for previous releases act as a mentors.
OpenMRS develops two software products OpenMRS Platform and OpenMRS Reference Application based on OpenMRS Platform. The release process for both the products is different. The release process for OpenMRS Platform and OpenMRS Reference Application are as described in detail in these links:
Release Manager Selection
Before applying for being a Release Manager please note that release process is quite involved and requires time commitment in bursts.
The selection process of release manager involves announcing the requirement for a new volunteer release manager for a specific release, time till which responses will be accepted and announcing a mentor that will guide the new volunteer release manager. After new volunteers respond for being the release manager, these following criteria are taken into consideration for selecting a candidate:
- First Time Release Manager? (they are given first preference)
- Previous Engagement with OpenMRS community in OpenMRS Talk
- Previous development work in the community (any contributions to code visible in github)
- Basic DevOps Experience (Creating an SSH Key, logging into a remote server, sending and receiving a file from a remote server, managing tomcat in a remote server)