Summer Of Code 2012

Write Code. Save Lives.

OpenMRS is participating for the 6th year as a mentoring organization for Google Summer of Code™ in 2012. We've enjoyed participating in this great program in the last 5 years and are even more excited about the projects and mentors we have 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.

On this page ....


Latest Status

Congratulations to our accepted students! Read below on this page for important information about next steps.

Students, Projects, & Mentors

Next Steps for Accepted Students

After accepted students are announced, here's what should happen:

  1. If you can, attend the Developers Forum (Inactive) on Thursday 26 April to briefly introduce yourself and meet other students.
  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, Skype, telephone, etc.).
  3. If you haven't yet, join our developers mailing list to keep track of what's going on in our development community and our IRC channel to spend time with other community members & students.
  4. Get OpenMRS installed and running. Read 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.
  5. Get a development environment installed and running.
  6. Review our Conventions page.
  7. Set up a blog for your work on open source projects, including GSoC. Send the URL to Michael Downey. If you don't have a blog yet, you can create one for free at WordPress.com or Blogger.com.
  8. Browse the current OpenMRS code specific to your project.
  9. Review the requirements for your project together with your mentor.
  10. Agree on final requirements with your mentor, and post a formal written proposal including project schedule (timeline) on which you both agree.

Project Presentations

  • During the summer, each student will be required to give two (2) short presentations during our weekly Developers Forum (Inactive) to explain and demonstrate their project twice during the program. You can use our screen sharing tools to demo your project.
  • Thursday 24 May: "Speed-Geeking" Student Introductions. Provide 1 slide and take 2 minutes to answer the following questions:
    • Who are you?
    • Where are you from?
    • What's your project about?
    • What's a fun fact about you that few people know?
    • Plus, 1 minute for any questions from others.
  • Thursday 21 June: 10-minute presentations of project work-in-progress including a short demo (Group A)
  • Thursday 28 June: 10-minute presentations of project work-in-progress including a short demo (Group B)

Helpful 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 students to discuss SoC administrative issues. This list should not be used for technical discussions.
  • IRC discussions in the #OpenMRS channel of freenode are always fun! Useful for shorter discussions or for large group discussions
  • Skype or telephone — sometimes a short discussion can get ideas across much more efficiently
  • Google Docs — an excellent tool for sharing and collaborating in real time on documents or spreadsheets
  • 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.
  • Scheduling tools:

Expectations

What we expect of students:

  • Become familiar with OpenMRS and your project before the start date.
  • Complete a short "progress report" each week to help stay on schedule.
  • Commit early. Commit often. This is an important value in our open source community - read why.
  • Join the interns mailing list. (We'll help you with this.)
  • 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) via phone or Skype.
    • Give one or more project presentations during those weekly meetings so we can see the cool stuff you're making.

What students 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 students and mentors.

What we expect of mentors:

  • Help your student be successful. Commit to spending a minimum of 4-5 hours each week with your student 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.

Program Timeline

We will follow the official Google timeline for the program. In summary:

  • March 16: Official announcement of Google Summer of Code participating organizations.
  • March 26 - April 6: Student application period.
  • April 23: Accepted students are announced.
  • Through May 20: Community bonding period.
    • Get to know your fellow interns and mentors.
    • Do the things listed above in "Next Steps" below.
  • May 21: Coding begins!
    • You should have a project plan in place by this date.
    • Important: Commit code early and often!
  • May 24: Student introduction presentations during the weekly OpenMRS Developers Forum (Inactive)
  • June 21 & 28: 10-minute presentations of project work-in-progress including a short demo
  • July 9: Mentors send Google a mid-term evaluation of your work.
  • August 13: Plan to finish coding by this date, then use the final week to scrub code, write tests, improve documentation, etc.
  • August 20: "Pencils down." No more coding after this date. Mentors submit their final evaluations.
  • August 27: Results of evaluations are announced.

Thinking about applying?

We're happy you're interested in working on OpenMRS during Summer of Code 2012. Here are some tips that we've prepared to help your application process be easier and more successful. These are all things you can do today to start getting involved.

One-sentence version: 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.
  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.
  5. To start, install OpenMRS (just like a user would) and learn a bit about how it works. If you have problems, write the developers mailing list and we'll help you work through them.
  6. Want to get more involved? Set up your development environment and fix some simple bugs listed on our Introductory Tickets list. Read Getting Started as a Developer for details on how to do this.
  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 on 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.

Application questions

Expect to see the following questions on student applications:

  1. Who are you? What are you studying?
  2. Please provide the URL to your wiki personal space. (If you don't have one yet, please create one.)
  3. Why are you the right person for this task?
  4. Do you have any other commitments we should know about?
  5. List your Java experience.
  6. List your web interface experience.
  7. List any previous experience working with open source projects. (This experience is not a requirement.)
  8. Please provide links to websites created by you and/or source code examples.
  9. Do you have experience with Spring/Hibernate/DWR/HL7/Tomcat/MySQL/AOP? (Experience with any/all is not a requirement.)
  10. What is your preferred method of contact and how should we reach you with it? (phone, email, Skype, IRC, IM, etc.)
  11. If you have visited our IRC channel, please include your IRC nickname in your application.
  12. If you have added any patches to tickets, please include the ticket numbers.

Questions?

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