Summer of Code 2025
Write Code. Save Lives.
OpenMRS is hoping to be a mentoring organization for Google Summer of Code™ 2025! Since 2007, we've enjoyed participating in this great program and we're extremely excited about the projects and mentorship opportunities available this year. Coding for OpenMRS is a great way to practice your coding skills and, at the same time, help benefit people in developing countries who are on the front lines of public health challenges.
If you are new to OpenMRS, we recommend starting with our Guide to the New & Curious. It will introduce you to our community, the tools and spaces we use, and help you get to know the different squads and teams working on various community projects. For a more detailed history of who we are and what we do, please see here. If you’re new to OpenMRS or wondering how to get started with your GSoC application, this video should help answer a lot of your questions:
Google Summer of Code at OpenMRS
om.rs/gsoc
Learn more about Google Summer of Code 2025:
Google Summer of Code website
Helpful Links
Community GSOC Slack Channel: #gsoc on OpenMRS Slack
GSOC Topics on the OpenMRS Forum
GSoC 2025 Program Administrators
@beryl @Jayasanka Weerasinghe
Please see GSoC Admin Guidelines for more information, or Org Admin Tips and Program Rules.
Project Ideas for GSoC 2025
Project Name & Expected Outcome | Rating and Size
| Project Description | Skills (Required / Preferred) | Selected Contributor | Primary Mentor | Secondary Mentor |
---|---|---|---|---|---|---|
Medium | We added Hibernate Envers for audit logging in OpenMRS 2.7.0, but right now, admin users cannot easily view or manage these logs. This project aims to build a backend module that can
| Java, Spring, Hibernate | @Njidda Salifu | @Wikum Weerakutti | @Manoj Rathnapriya | |
Large | Replace the Standalone with something else. Very old, can’t even build in our latest releases - we disable it as the technology no longer works and is no longer supported. We now just ship the .war file and README. Suggestion to leverage Docker - something that works by double clicking and then just runs. We never intended to use the OpenMRS Standalone version in production. But it turned out to be used in a number of places because they found it easier to use for sites that did not have support staff with advanced IT skills. We are also seeing an increasing number of people in our community who do not have lots of computer skills and just want something to download, click and run for their hospitals. | Java | @Mutagubya Jonathan | @Daniel Kayiwa | @Wikum Weerakutti | |
Medium | The current load tests cover only two scenarios, limiting performance insights. This project aims to:
This will improve OpenMRS’s ability to handle high-load conditions and optimize system performance. | Java, Gatling | @jayg | @Jayasanka Weerasinghe | @Bawantha Rathnayaka | |
Interactive Builder for Form Translations within the Form Builder | Large | Right now, in order to add translations to a form, the way to do this to add it to a configuration folder that can be picked up by Iniz. This is annoying because
The ideas is to create a UI that would enable users to add the translations for a form for any language. | React, CSS | @bharath kumar | @nethmi | @Anjula Samarasinghe |
Medium |
| React | @twiine | @Samuel Male | @Ian Bacher | |
Medium |
| React | @chintu | @Dennis Kigen | @Cosmin Ioan | |
https://openmrs.atlassian.net/wiki/x/EACyDw
| Medium | Errors related to the Swagger documentation have been under review, with efforts made to upgrade it to the latest versions of OpenAPI (or a similar version). The necessary pull requests have already been submitted. For this GSoC, it is suggested that, in addition to the ongoing work, efforts should be directed towards developing tooling or a mechanism that would enable the automatic generation of Swagger documentation by analyzing Javadocs, return types, and other relevant elements. Some work has already been undertaken to achieve this, utilizing reflection to scan OpenMRS resource handlers. It is proposed that further developments be made on top of this existing foundation to enhance the envisioned tooling. The ultimate objective is for the OpenAPI specification to be generated at compile time rather than at runtime, as is currently the case. This shift would ensure that errors are identified at compile time rather than being detected during runtime. For reference, Improving Our Swagger Documentation Process | Java, OpenAPI | Marvin Sukumar | @Chi Bong Ho | @herman muhereza |
Medium | The Implementor Tools in OpenMRS can be enhanced for better usability and functionality. Proposed Improvements:
Other potential improvements include better validation, UI optimizations, and enhancements to streamline configuration. These changes will make the tool more intuitive and user-friendly. | React | @harshthkkr | @Vineet Sharma | @Joshua Nsereko |
Good Ideas We Had to Leave Behind This Year
These ideas didn’t make it into this year’s GSoC list, but that doesn’t mean they should be forgotten. If you’re passionate about any of them, you’re more than welcome to start working on them with the community.
Program Timeline
Look here for more info on the full GSoC 2025 program timeline.
DONE GSoC 2025 preparations: Community Brainstorming
Done January 27: Mentoring organizations can begin submitting applications to Google
Done February 11: Mentoring organization application deadline
done February 27: List of accepted mentoring organizations announced
February 27 - March 24: Prospective GSoC Contributors reach out to Accepted Mentoring Orgs, discuss application ideas
March 24: GSoC contributor application period begins
Done April 8: GSoC contributor application deadline: Prospective GSoC Contributors Submit their 2025 Applications (includes proposals)
Done DEADLINE April 29: GSoC contributor proposal rankings due from Org Admins
Done May 8: Accepted GSoC contributor projects announced
ONGOING May 8 - June 1: Community Bonding Period. Students get to know mentors, read documentation, prepare for work on their projects
June 2: Coding officially begins
July 14: Mentors and GSoC contributors can begin submitting midterm evaluations (for standard 12 week coding projects)
DEADLINE July 18: Midterm evaluation deadline (standard coding period)
July 14 - August 25: Work Period | GSoC contributors work on their project with guidance from Mentors
August 25 - September 1: Final week: GSoC contributors submit their final work product and their final mentor evaluation (standard coding period)
DEADLINE September 1 - 8th: Mentors submit final GSoC contributor evaluations (standard coding period)
September 1 - November 9: GSoC contributors with extended timelines continue coding
DEADLINE November 10: Final date for all GSoC contributors to submit their final work product and final evaluation
DEADLINE November 17: Final date for mentors to submit evaluations for GSoC contributor projects with extended deadlines
Guidelines
Student's guidelines
Mentor's guidelines
Mentor Guide https://google.github.io/gsocguides/mentor/
Roles and Responsibilities https://developers.google.com/open-source/gsoc/help/responsibilities
Org Admin Tips https://developers.google.com/open-source/gsoc/help/oa-tips
Defining a Project Ideas List https://google.github.io/gsocguides/mentor/defining-a-project-ideas-list
Program Rules https://summerofcode.withgoogle.com/rules
GSoC Discord Chat channel discord.gg/google-dev-community
OpenMRS resources to know
GitHub: https://github.com/openmrs
Talk Forum: https://talk.openmrs.org
Help Desk: https://help.openmrs.org
Issue Tracker (JIRA): https://issues.openmrs.org