Summer Of Code 2020
Write Code. Save Lives.
OpenMRS is excited to apply as an mentoring organization for Google Summer of Code™ 2020! 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 the battle against HIV/AIDS, TB, Malaria, and other public health challenges. For a more detailed history of who were are and what we do, please see here.
Google Summer of Code at OpenMRS
om.rs/gsoc
Learn more about Google Summer of Code 2020:
GSoC 2020 Flyer
Program Timeline
Look at here for more info on the full GSoC 2020 program timeline.
PASSED 14 Jan : Organization applications open
PASSED 05 Feb: Organization Application Deadline
PASSED 20 Feb: Organizations Announced
passed 21 Feb - 15 Mar: Student's involvements
passed 16 Mar - 31 Mar : Student Application Period
passed 4 May : Accepted students announced
PASSED 4 May - 31 May 18:00 UTC : Students get to know mentors, read documentation, prepare for work on their projects
PASSED 1 June: Students begin coding for their Google Summer of Code projects
PASSED June 1 - June 28 : Students work on their Google Summer of Code projects
Passed June 29 - 3 July 18:00 UTC: Mentors and students submit Phase I evaluations
PASSED 4 July - 26 July: Students Continue Coding
PASSED 27 July - 31 July: Mentors and students submit Phase II evaluations
passed 1 August - 23 August: Students Continue Coding
passed 24 - 30 August: Students wrap up their projects and submit final evaluation of their mentor
passed 31 Aug - 7 September : Mentors submit final evaluations of students
passed 8 Sept : Final results of Google Summer of Code announced
Selected Project Ideas for GSoC 2020
GSoC 2020 Program Administrators : @Suthagar Kailayapathy @Moses Mutesasira
Project Name | Selected Student | Primary Mentor | Backup Mentor |
|---|---|---|---|
1. Expose System Metrics For Monitoring Module OWA | @Ayeshmantha Perera | @Ian Bacher @Jude Niroshan | @Suthagar Kailayapathy |
2. Advancement of OAuth2 Module and Improvements in SMART OWA OWA Module | @Siddharth Vaish | @Ian Bacher | @Jacinta Gichuhi |
3. Switching from XML Mappings to Annotations on OpenMRS domain Objects CORE | @Alin Mihaila | @Nathan Ruhanga | @Kaweesi Joseph |
4. OpenMRS should run on PostgreSQL CORE | @Aman Mishra | @Daniel Kayiwa | @Juliet Wamalwa |
@Pahonsi Bebeto Achile | @Moses Mutesasira | @Sharif Magembe | |
6. Improve FHIR Search Module | @Varun Gupta | @Ian Bacher | @Reagan patrick Makoba |
7. Add Support for FHIR Narratives Module | @Shivansh Rakesh | @Herbert Yiga @Suthagar Kailayapathy | @Ian Bacher |
8. OpenMRS Android Client 2.9.x Project Android | @Rishabh Agarwal | @Fawwaz Yusran | @CLIFF GITA @Vibhor Chinda |
@Jayasanka Weerasinghe | @Akshika Wijesundara | @Sai Sandeep Mutyala |
Resources
Required Skills (Just an abstract idea, it may differ based on the project scope)
Module - Java, Spring, MySQL
WEBAPP - JSP, HTML, CSS
OWA - JavaScript, React, HTML, CSS
Android - Java, Android,Kotlin
CORE- Java, Spring, Hibernate ,Mysql ,OpenMRS API
QUALITY- Quality assurance , Quality Control
We are still working on some project analysis, and plan to add here soon. Please keep watching this page for project updates.
GitHub Link : https://github.com/openmrs
JIRA Link : https://issues.openmrs.org
Talk Forum Link : https://talk.openmrs.org
Wiki Page Link : https://openmrs.atlassian.net
Telegram Link :
OpenMRS Help Desk : https://help.openmrs.org
Expectations for Students
Warm up practices for GSoC 2020 : https://talk.openmrs.org/t/gsoc-2020-warm-up-practices-for-students/26226/3
Before being accepted
Become familiar with OpenMRS and the project(s) for which you're applying. If relevant, make sure you have OpenMRS installed and running. Read the Developer Guide, Getting Started as a Developer, and ask others in the community if you have questions. If you ask questions the smart way, you'll get better responses.
Make sure your development environment is installed and running, and optimized for maximum efficiency. Review our Conventions page.
Review project ideas listed here & ask questions about those or other projects in the GSoC category on OpenMRS Talk.
Spend as much time as possible in our IRC channel or Telegram chat, as well as on OpenMRS Talk with other community members. Remember, GSoC-specific questions should be asked on Talk.
Introduce yourself on the community introduction page on OpenMRS Talk.
Achieve /dev/1 status. (earn the /dev/null badge and then earn the Smart Developer badge by passing the quiz).
Work on JIRA tickets. Pick some tickets from JIRA (under your targeting project or any where) and work on those tickets. Send the pull request with your changes to respective repository
Run, Test and identity some potential issues in OpenMRS Core or modules. Create new tickets in JIRA if those are not reported yet.
Increase your visibility on OpenMRS Talk and IRC. Help others in the talk and participate in to other's discussions as much as possible.
Do some code reviews. Reviewing code from others is one of the great ways to learn the OpenMRS code base. This is a must. No student will be selected who has not done code reviews.
If you're returning to do GSoC with OpenMRS for a repeat term, be just as thorough (or more so!) than first-time students. Don't skip steps and work extra hard to impress your mentor(s).
Additional expectations :
Write some blogs about OpenMRS or any related matters on OpenMRS which can help to others.
Properly document your work in JIRA and help others to continue from it.
Work on some #community-priority tickets.
After being accepted
Set up a blog for your work on open source projects, including GSoC. Post the URL on OpenMRS Talk. If you don't have a blog yet, you should create one. You will be required to write a blog post every week about your planning work and project progress during GSoC.
Contact your mentor immediately. Make a plan to communicate with them regularly. You should plan to use some combination of IRC or Telegram chat, or discussions on OpenMRS Talk (in a specific category or with a unique tag). Open source projects communicate in the open, so plan to keep any direct/private communication to an absolute minimum.
Be sure to CC your backup mentor in communications. When you email or post on Talk, be sure to CC your backup mentor so they are kept abreast of progress on your project.
Review any JIRA issues related to your project and work on some initial bugs or feature development, or work on some general OpenMRS bugs. Ask your mentor for guidance. (This doesn't mean begin your project!)
Prepare a detailed project plan together with your mentor. Browse the current OpenMRS code specific to your project and review the requirements for your project together with your mentor. Include SMART goals and schedule milestones for each week. Publish the project plan on OpenMRS Talk in the appropriate category. (Request a new subcategory if needed.)
During the program
Complete a short required "progress report" each week so we can make sure things are on track and there are no problems with your project. Contact organization admins any time if you have concerns about working with your mentor(s).
Write at least one blog post every week to help stay on schedule and to share your work publicly.
Commit early. Commit often. This is an important value in our open source community - read why.
Prepare mid-term & final project presentation videos about your project's status, progress, and any questions you have for the community.
You are now part of our developer community. We want you to feel like part of the team, so we expect you to:
Conduct ALL project-related discussions on IRC, Telegram, or OpenMRS Talk. (No direct emails!)
Ask questions (the smart way) if you get stuck.
Participate in our weekly Developers Forum (Inactive) when your schedule allows.
After completing GSoC
Write a final blog post summarizing your overall experience! If you like, talk to the org admins for consideration to cross-post this article to the Google Open Source Blog.
Stay involved with your project or other projects as your schedule permits! There is always plenty of development work needed for OpenMRS volunteers like you.
Continue to watch OpenMRS Talk for additional questions or feedback about your GSoC project, and for other topics that interest you.
Participate as a mentor for Google Code-in, in late 2020, should OpenMRS be accepted to participate. Your involvement will show secondary school students how they can use their skills in programming and open source projects.
Expectations for Mentors
In general, Mentors are community volunteers who are willing to give a student a great experience in open source development. Mentors should be knowledgeable enough in open source development and their project to provide quality mentorship during Summer of Code. Note that mentors cannot also participate as a student (i.e., someone applying as a student to GSoC should not also volunteer to be a mentor in the same year).
Before student selection
Commit to spending a minimum of 4 hours each week to be available to guide and mentor students (not just your assigned student).
Commit to being present in IRC and/or Telegram to help answer questions as much as your schedule allows, at a minimum of 4 hours each week.
Prepare a good overview of your project idea(s) and have them linked to this wiki page.
Watch OpenMRS Talk for questions about your project idea(s).
Review student proposals and work with other mentors and organization admins to select the best candidates for OpenMRS.
Treat returning students who have applied with as much (or more!) scrutiny than first-time students.
After student selection
Ensure your student is ready & active. They should have a dev environment, be regularly communicating in the community, and have prepared a project plan together with you. (See above for student expectations.)
Read the GSoC Mentor Guide and ask questions if you have them.
Be sure to CC your backup mentor on communications with the student so your backup mentor can keep abreast of the project's progress in case she needs to step in for you if you have an emergency that will take you away from GSoC for more than a week during the program.
Reach out to the Summer of Code organization administrators if you have questions or concerns.
If the student is not active during the community bonding period, please contact the organization administrators.
During the program
Help your student be successful. Commit to spending a minimum of 4 hours each week answering questions, giving advice, working with your student on blockers, and evaluating your student's progress.
Complete a short "progress report" each week to help stay on schedule and catch potential problems early.
Have fun and work hard! The highest-performing mentors will get an expenses-paid trip to Google's headquarters in October to geek out with fellow mentors from other open source projects.
Schedule some time to chat 1-on-1 with your student to talk about their post-GSoC plans. Will they continue in their university program? Are they looking for a job? Help them understand the world beyond GSoC, and how they can continue contributing to OpenMRS.
After completing GSoC
Stay in touch with your student and help them find interesting ways to stay involved with OpenMRS.
Apply to attend the GSoC mentor summit in October! It's an awesome way to connect with other people in the open source world and have fun!
Expectations of Backup Mentors
Backup mentors have no explicit expectations beyond staying abreast of a project in case they need to fill in or take over for the primary mentor in case of an unforeseen circumstance. While we generally avoid anyone being a primary mentor for more than one project, we do allow primary mentors to serve as a backup mentor for one other project, since the need for backup mentors to take over the role of primary mentor for a project is very rare.
Before student selection
None
After student selection
Ensure the student and primary mentor are copying you on communications. This is most important during the program, but it is important you be aware of the project goals and this is a good time for student and primary mentor to build a habit of CC'ing you on communications.
Read the GSoC Mentor Guide and ask questions if you have them.
Reach out to the Summer of Code organization administrators if you have questions or concerns.
If you are not hearing anything about the project during the community bonding period, please remind the primary mentor and student to CC you on communications.
During the program
Briefly review communications when CC'd and watch the project page and blog entries of the student. Your job is to be aware of progress on the project and be ready to step in and assist if the primary mentor must step away from mentoring for some unforeseen reason.
If you are not seeing regular communications about the project touch base with the primary mentor and student to remind them to CC you in communications.
After completing GSoC
Make sure to congratulate a successful student!
If you aren't already, consider becoming a Primary Mentor.
Have Additional Questions?
If you are interested in Summer of Code this year and have further questions that aren't answered here, please post them in our GSoC category at OpenMRS Talk.