It’s time. I have to decide the open source project I would like to contribute to. I have been thinking between OctoPrint and OpenMRS from my last blog post. After, reviewing both the project using the criteria of “newcomer friendliness” from Making Your Open Source Project Newcomer-friendly, I have chosen OpenMRS. OpenMRS is Health IT system very popular in developing countries. It is HUGE.

  • 4,000,000 lines of code

  • 70,000 downloads since 2010

  • 169 countries

  • 6 continents

All of this would not have been possible, if not for their big community of contributors. There is also a pleasure of being able to contribute to a project that is creating change, and where our code can impact so many people. Another reason is that the most of the code is written in Java, and will provide me an opportunity to learn a new language.

With that said following is some information I found for newbies.

Must Reads

  • CONTRIBUTING.md provides some basic infromation on how one can contribute to this project. It includes instructions for every possible way one can contribute, including, reporting bugs, requesting new features, contributing as a developer, responding to feedbacks, etc.

  • OpenMRS Developers Guide a developer’s guide for OpenMRS that provides some deep dive into the project. It explains why the project is important and how a developer can contribute. The arhictecture of OpenMRS is also properly laid out.

  • Getting Started as a Developer wiki page provides answer’s to all the How-to question a developer might have. You can tell the community the is very welcoming when they create a video for you to learn how to get started.

  • Code of Conduct

Following are some Tools and Tips i found during my initial research.

Tools and tips

  • OpenMRS ID: To use most OpenMRS tools, you need to create an ID.

  • OpenMRS Wiki: This is the majority of the documentation.

  • OpenMRS Answers (a question-and-answer service)

  • IRC: chatting and conferencing realtime with Community members

  • Mailing Lists

  • **JIRA Issue Tracker: **tracks issues for the OpenMRS community

  • Git: for version control

I’m excited to dive into this project.