Summer Of Code 2014

GSoC aspirants, did you mean to visit the OpenMRS Summer of Code 2015 page instead? if so, this is the page you need!

Write Code. Save Lives.

OpenMRS has been accepted to participate for its 8th year as a mentoring organization for Google Summer of Code™ in 2014. We've enjoyed participating in this great program in the last 7 years and are 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.

On this page ....

Latest Status

Congratulations to our successful students!

Accepted Students, Projects, & Mentors

The following students will be working on projects via Google Summer of Code 2014:

Next Steps for Accepted Interns

Please read the acceptance e-mail for specific tasks accepted students should do right away. Generally, after accepted interns are announced, here's what should happen:

  1. Begin attending the weekly Developers Forum (Inactive) to briefly introduce yourself and meet other interns & contributors. Attend as many Developers Forums as your schedule permits.
  2. Contact your mentor immediately. Make a plan to communicate with them regularly - at minimum, once each week. Determine the best way to communicate (e-mail, IRC, IM, VoIP, telephone, etc.).
  3. Introduce yourself on the GSoC 2014 student introduction page on OpenMRS Talk.
  4. Double-check your subscription to our developers mailing list to keep track of what's going on in our development community and spend lots of time in our IRC channel with other community members & interns.
  5. If relevant, make sure you have OpenMRS installed and running. (You should have done this already since you were accepted.) Read Developer Guide/wiki/spaces/docs/pages/25475369, and ask others in the community if you have questions. If you ask questions the smart way, you'll get better responses.
  6. Make sure your development environment is installed and running, and optimized for maximum efficiency. Review our Conventions page.
  7. 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.
  8. Browse the current OpenMRS code specific to your project and review the requirements for your project together with your mentor.
  9. Agree on final requirements with your mentor, and post a formal written proposal including project schedule (timeline) on which you both agree.
  10. As your time permits, 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!)

Project Presentations

  • During the summer, each intern will be required to give short presentations during our weekly Developers Forum (Inactive) to explain and demonstrate their project during the program. You can use our screen sharing tools to demo your project.
  • More information about the presentations will be posted here as the program start date approaches.

Program Timeline

We will follow the official Google timeline for the program. Please refer to it for official dates. In summary:

  • 24 February: List of accepted mentoring organizations published on the Google Summer of Code 2014 site
  • 10-21 March: Student application period
  • 21 April: Accepted student proposals announced on the Google Summer of Code 2014 site
  • 21 April to 18 May: Students get to know mentors, read documentation, get up to speed to begin working on their projects
  • 19 May: Students begin coding for their Google Summer of Code projects
  • 23-27 June: Mentors and students submit mid-term evaluations
  • 11 August: "Pencils down" date
  • 25 August: Final results of Google Summer of Code 2014 announced

Expectations of Students & Mentors

What we expect of interns:

  • Become familiar with OpenMRS and your project before the start date.
  • Complete a short "progress report" and write a blog post every week to help stay on schedule and share your work publicly.
  • Commit early. Commit often. This is an important value in our open source community - read why.
  • Join the interns mailing list. (We'll invite accepted interns to this list after they are announced).
  • You are now part of our developer community. We want you to feel like part of the team, so we hope you will:
    • Have technical discussions on IRC or on the developers mailing list.
    • Ask questions (the smart way) if you get stuck.
    • Participate in our weekly Developers Forum (Inactive).
    • Give one or more project presentations during those weekly meetings so we can see the cool stuff you're making.

What interns should expect of OpenMRS during the summer:

  • You will have fun!
  • You will learn how to work within an open source project – one that's helping people save lives around the world.
  • You will have dedicated time (4-5 hours each week) with an experienced OpenMRS mentor, and will have a backup mentor for questions or problems.
  • If you ask a question the smart way, our community will do its best to help you.
  • The Summer of Code program leaders (both at OpenMRS and Google) will be available if any problems arise between interns and mentors.

What we expect of mentors:

  • Help your intern be successful. Commit to spending a minimum of 4-5 hours each week with your intern answering questions, giving advice, working together, and evaluating his or her progress.
  • Complete a short "progress report" each week to help stay on schedule and catch potential problems early.
  • Read the GSoC Mentoring Manual and ask questions if you have them.
  • Reach out to the Summer of Code project leaders if you have questions or concerns.
  • 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.

Helpful OpenMRS Community Resources

  • If possible, join the Developers Forum (Inactive) every Thursday. You can participate by telephone, Skype, or even just on IRC.
  • We use JIRA as a tool for issue tracking and project management.
  • Tips for using e-mail:
    • If you have a highly specific question, contact your mentor.
    • Technical discussions, ideas, and requests for feedback should be sent to the entire community on the developers mailing list.
    • The Interns mailing list is for accepted interns to discuss program administrative issues. This list should not be used for technical discussions. Accepted interns will be automatically subscribed to this list.
  • IRC discussions in the #OpenMRS channel of freenode are always fun! Useful for shorter discussions or for large group discussions
  • Use the OpenMRS wiki often:
    • Be sure to make a user profile page.
    • Every project should have a OpenMRS wiki page where you document your project, progress, technical details, show mock ups, etc.
  • Google Docs — an excellent tool for sharing and collaborating in real time on documents or spreadsheets, when the wiki is not appropriate.
  • Scheduling tools:
    • WorldTimeBuddy.com — to clarify/coordinate times around the world
    • Doodle — to coordinate meeting times for larger groups

Our Technology At-A-Glance

The OpenMRS project is architecture is quite extensive, and incorporates a number of different components, programming languages and frameworks. As an intern, you may be required to work on one or many of these components. Each internship project is different – consult the mentor and project documentation for details. The OpenMRS Developers Guide covers some of our software's technical architecture in more detail.

Some of the core skills you might be able to use in our projects this year include:

  • Java
  • The Spring Framework
  • The Hibernate Framework
  • JavaScript
  • JQuery
  • Node.js
  • More to come ....

Be a Successful Applicant

We're happy you were interested in working with OpenMRS during Summer of Code 2014. Here are some tips that we prepared to help your application process be easier and more successful. These are all things you should begin early to start getting involved.

TL;DR: Become an active contributor in our community right away. The sooner you do this, the more familiar we'll be with your name and your work.

Specifically:

  1. First, read the GSoC Student Guide to get familiar with Google Summer of Code.
  2. Create an OpenMRS ID and a personal space on your wiki and tell us about yourself. Here's a great personal wiki page from a MediaWiki student you might want to use as a guide.
  3. Join our developers mailing list to keep track of what's going on in our development community. Do not introduce or ask questions about a GSoC project without first contacting its mentor (listed here) directly.
  4. Join our IRC channel and introduce yourself – meet some other community members and tell us about yourself and why OpenMRS is interesting to you. Spend lots of time in IRC getting to know us.
  5. To start, install OpenMRS (just like a user would) and learn a bit about how it works. If you have problems, write to the developers mailing list and we'll help you work through them.
  6. Set up your development environment and fix some simple bugs listed on our Introductory Tickets list. Read /wiki/spaces/docs/pages/25475369 for details on how to do this. This demonstrates that you are self-motivated, makes you familiar to the developer team, and gives you a taste of the development process. Keep track of the issue numbers that you work on. We'll ask you for them in your application.
  7. Join our Developers Forum (Inactive) every Thursday to learn about the latest activities & work happening in our community or join an OpenMRS University call every Wednesday. You can participate by telephone, Skype, and online via Adobe Connect.
  8. Interact with our community. Continue to ask smart questions (what?) on our mailing list or hang out on IRC to ask and answer questions.

When preparing your application, also remember to,

  1. Use the title of the project idea for which you are applying as the title of your application. If you are submitting an application to work on the "Add whirlygigs to OpenMRS" project, then make the title of your application "Add whirlygigs to OpenMRS".
  2. Submit a thoughtful application. Simply regurgitating documentation from the wiki will not impress us. Rather, show that you've thought about the project and provide some ideas on how you would approach the solution. You can ask other people in the community for ideas in advance. The best applications not only refer to one of the GSoC projects, but also demonstrate you have thought about the project by providing a description of how you think you might approach the project, including a rough timeline of the steps involved.

Application Requirements & Questions

You should work with the potential mentors listed above to prepare one or more project proposals. This proposal should describe in detail how you would plan to approach the project, and should include goals and a draft timeline. In addition to the project proposal, you will need to respond to the following questions on student applications:

  1. Who are you? What are you studying?
  2. Why are you the right person for this task?
  3. Describe in detail your software development experience by various technologies. Include all technologies you have used for development projects.
  4. List any previous experience working with open source projects other than OpenMRS. (This experience is not a requirement.)
  5. Provide links to any websites or applications created by you, or other source code examples.
  6. Please provide the URL to your wiki personal space. (If you don't have one yet, please create one.)
  7. You must have made at least one coding contribution to OpenMRS before submitting your proposal. Provide all relevant issue numbers, pull requests, commit links, etc. for these contributions.
  8. Describe your interactions with our community so far. Include dates of developer forums you have attended, and include any IRC nicknames used when visiting our channel previously.
  9. What is your preferred method of contact and how should we reach you with it? (phone, email, IRC, IM, etc.)
  10. Do you have any other commitments we should know about?

Questions?

  • If you are interested in participating in Summer of Code as a mentor or a intern this year and have further questions that aren't answered here, please contact Michael Downey or Suranga Kasthurirathne.