How to reach OpenMRS as GSoC Student?

OpenMRS is an electronic Medical Record System with a lot of facilities and OpenMRS is also a community of developers, implementers, and users working toward a shared and open foundation for managing health information in developing countries. So as a developer, I would like to be part of OpenMRS to make it more efficient using my Computer Science and Engineering related knowledge. OpenMRS is an open source platform, so there are a lot of ways to contribute. Most identified methods to contribute OpenMRS are,

  1. Create and discuss the idea through IRC or Talk Community.
  2. Become a Google Code-In student to contribute for OpenMRS.
  3. Become a GSoC(Google Summer of Code) student to contribute for OpenMRS.
  4. Fixing open issues and create pull request to solve the problems.
  5. Forking the related Git repository and make changes to push.

According to this ways, I would like GSoC to contribute for OpenMRS during my university period. So I applied to the OpenMRS through GSoC 2017 and selected as GSoC 2017 Student. Read these following message to know, What I did to get the chance for GSoC.


What is Google Summer of Code
Google Summer of Code is a global program sponsored by Google Inc focused on introducing students to open source software development. Students work on a 3-month development project with an open source organization under some mentors. Students will be paid for their development works and they will get special gift packs from Google also. There will be a lot of open source organizations and student wants to work under one organization through GSoC program. GSoC program will be managed under the well-defined timeline. According to the timeline, Students should work with their respected organization to get success. There are 12,000+ students participated from 104 countries and continued for 12 years with 568 open source projects.

I knew a little bit about Google Summer of code but I haven’t any more idea to try it seriously. So I tried for GSoC previous year also. But I didn’t put much effort at that time. After once, I got a chance to participate in a session about Google Summer of Code which was organized by Akshika Wijesundara and team. They well introduced about the GSoC. After that session, I got more interest about GSoC and would like to participate at this time also. Then after I contacted some of the past mentors of GSoC Program from various organizations and gathered a lot of details about GSoC and that process.

How did I familiar with GSoC?

  1. Contacted past mentors from various organizations and gathered a lot of details about GSoC and that process (OpenMRS, WSO2, Moodle and Apache Software Foundation)
  2. Subscribed mailing list and GSoC official group to know about the current discussions.
  3. Researched a lit bit about past projects and technologies which belong to some organizations
  4. Got experience with some new technologies which are mentioned in those projects.
  5. Read some blogs of past GSoC Students and referred some important workflows.

So according to the GSoC timeline, I waited for the Organizations announced period. Before this period, Organizations will provide their project ideas to Google summer of code program to participate. Then GSoC program management will announce to the students about the selected organizations with respected project ideas. After the Organizations Announced, I viewed GSoC Organizations page to get more about the projects. I reviewed more than 50 projects in different organizations which are related to my knowledge and field. Then after I sort out to those projects for a small amount. After I studied some little more about those projects.

Once studied, I was admired for two projects which are supposed by two different organizations. I don’t know which is better or which project I can get through GSoC for this year. So I started to discuss with respected mentors for that two projects during the preparation period. Mentors are very friendly and they warmly welcomed us to their organizations. I continued some discussions for three weeks during this period through email and OpenMRS talk.

What did I during the Preparation Period?

  1. Started to contact the mentors using email(if they preferred to contact them via email)
  2. Subscribed with GSoC mailing lists and respected organizations mailing lists. — Then you can get emails to your mail address about the recent discussion about those organizations and related projects.
  3. Introduce myself to OpenMRS community using Introduction part.
  4. Created Project topic in OpenMRS community talk to discuss the project ideas. (under #community:GSoC)
  5. Discuss with other students and mentors to get involved in the project.
  6. Started to use OpenMRS platform to identify the application and features. — Here you must read about installing OpenMRS and configuring OpenMRS to continue
  7. Created some demo mockups works to show the mentors through Community pages
  8. Watched videos and read more wiki documents about OpenMRS project developments.
  9. Worked to achieve dev/1 stage — You want to fix some issues, want to create some pull requests, and take a quiz to achieve dev/1 stage.

How did I get achieve OpenMRS dev/1 stage?

  1. Installed OpenMRS Reference application and played with application architectures
  2. Forked OpenMRS Core repository and studied some more about those code lines.
  3. Request to join with OpenMRS JIRA Community to work with developers.
  4. Started to resolve some issues which are ready to work for the contributors.
  5. Created pull requests to merge the changes with main repository
  6. Achived dev/null stage at the initial work on OpenMRS
  7. Done OpenMRS Developer quiz and passed to achieve dev/1 stage

Then after, Timeline moves to Proposal creation period. In this time, I spent more time to create a better proposal for the project. Proposal for the project is very important to get selected as GSoC student through this program. So students should concentrate more on Proposal preparations.

What did I during the Proposal Preparation Period?

  1. Most time, I worked to create a better proposal for the submission.
  2. I followed some instructions which are mentioned in the GSoC — OpenMRS project details page for the Proposals.
  3. Try to create some UI working Mock-ups include in the proposal.
  4. Prepared some diagrams which are needed to describe some parts in the proposal
  5. Submitted draft proposal for the mentor review three days before to the submission deadline. If you submit for the review as early as possible, then you can get a review from more than one mentors. — You can submit a draft proposal through GSoC Project proposal portal. Then mentors from that organization can able to review your proposals.
  6. Received feedbacks and comments from Mentor and fixed all corrections. Prepared final proposal for the submission
  7. Logged into the GSoC Proposal and uploaded my proof of enrollment. You can upload your university ID, enrollment sheet, and university confirmation letter.
  8. Submitted proposal for the GSoC through submission portal before the deadline.

Then after students want to wait for the results to continue their process. Organizations took nearly one month to analyze the submitted proposals and select the best student for their project ideas. During this period, I never gave up my process of work. I continued my work with a mentor, and keep the discussions. It may express your interest to the organization and make a plus point for your selection. During this period, I just familiarized with some code parts of the OpenMRS back-end and OWA developments.

Finally, I received congratulation mail about the GSoC Student selection for the OpenMRS project. Now the project begins :-)

Reference

  1. https://summerofcode.withgoogle.com/about/
  2. https://wiki.openmrs.org/display/RES/Summer+Of+Code+2017
  3. https://wiki.openmrs.org/display/RES/GSoC+Requirements+Gathering