GSoC - Guidelines for Students

Welcome! Are you interested in working on a Google Summer of Code project with OpenMRS? We' want you to be a successful GSoC developer in our community so we've put together a few guidelines to answer some of your initial questions and help you understand what is expected of students before submitting a proposal, after being accepted, and during the coding period.

Before the Application

  1. 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 GuideGetting 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.
  2. Make sure your development environment is installed and running, and optimized for maximum efficiency. Review our Conventions page.
  3. Review project ideas & ask questions about those or other projects in the GSoC category on OpenMRS Talk.
  4. 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.
  5. Introduce yourself on the community introduction page on OpenMRS Talk.
  6. Achieve /dev/1 status. (earn the /dev/null badge and then earn the Smart Developer badge by passing the quiz).
  7. Work on JIRA tickets. Pick some tickets from JIRA (#community-priority tickets, under your targeting project, or anywhere) and work on those tickets. Send the pull request with your changes to respective repository 
  8. Run, test and identity some potential issues in OpenMRS Core or modules. Create new tickets in JIRA if those are not reported yet.
  9. Increase your visibility on OpenMRS Talk and IRC. Help others on Talk and participate in other's discussions as much as possible.
  10. 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.
  11. 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).
  12. Additional expectations : 
    1. Write some blogs about OpenMRS or any related matters on OpenMRS which can help others.
    2. Properly document your work in JIRA and help others to continue from it.

Creating the application

  1. Take a look at the guidelines mentioned in GSoC - Proposal Guidelines when preparing your application.
  2. Check out the recording of our session on proposal writing for some extra tips!
  3. Communicate with the relevant mentors and community members to clarify any doubts.
  4. Submit your application as early as possible to get feedback from the mentors, so that you can improve it before the application deadline.

After being accepted

  1. 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.
  2. 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.
  3. 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.
  4. 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!)
  5. 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 coding period

  1. 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).
  2. Write at least one blog post every week to help stay on schedule and to share your work publicly.
  3. Commit early. Commit often. This is an important value in our open source community - read why.
  4. Prepare mid-term & final project presentation videos about your project's status, progress, and any questions you have for the community.
  5. You are now part of our developer community. We want you to feel like part of the team, so we expect you to:
    1. Conduct ALL project-related discussions on IRCTelegram, or OpenMRS Talk. (No direct emails!)
    2. Ask questions (the smart way) if you get stuck.
    3. Participate in our weekly Developers Forum when your schedule allows.

After GSoC

  1. 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.
  2. 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.
  3. Continue to watch OpenMRS Talk for additional questions or feedback about your GSoC project, and for other topics that interest you.
  4. 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.