Write Code. Save Lives.
OpenMRS has applied for their 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.
OpenMRS has applied as a participation organization for Google Summer of Code 2012. Accepted organizations will be announced on March 16. Please visit this page again at that time for more information.
If you are an active participant in the OpenMRS community and would like to be a mentor in 2012, please edit this page and add your name to the list below. Potential mentors should take some time to read the GSoC Mentoring Manual.
Summer of Code project ideas for 2012 are listed here. Please write to the developers mailing list to ask smart questions (how?) or share ideas about potential projects. Mentor assignments will be still subject to change until accepted students 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.
- First, read the GSoC Student Guide to get familiar with Google Summer of Code.
- 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.
- Join our developers mailing list to keep track of what's going on in our development community.
- Join our IRC channel and introduce yourself – meet some other community members and tell us about yourself and why OpenMRS is interesting to you.
- 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.
- 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.
- Join our Developers Forum every Thursday to learn about the latest activities & work happening in our community. You can participate by telephone, Skype, and online via Adobe Connect.
- Interact with our community. Continue to ask smart questions (what?) on our mailing list or hang out on IRC to ask and answer questions.
Expect to see the following questions on student applications:
- Who are you? What are you studying?
- Please provide the URL to your wiki personal space. (If you don't have one yet, please create one.)
- Why are you the right person for this task?
- Do you have any other commitments we should know about?
- List your Java experience.
- List your web interface experience.
- List any previous experience working with open source projects. (This experience is not a requirement.)
- Please provide links to websites created by you and/or source code examples.
- Do you have experience with Spring/Hibernate/DWR/HL7/Tomcat/MySQL/AOP? (Experience with any/all is not a requirement.)
- What is your preferred method of contact and how should we reach you with it? (phone, email, Skype, IRC, IM, etc.)
- If you have visited our IRC channel, please include your IRC nickname in your application.
- If you have added any patches to tickets, please include the ticket numbers.
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 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.
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!
- 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.
Next Steps for Accepted Students
After accepted students are announced, here's what should happen:
- 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.).
- 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.
- Get a development environment installed and running.
- Review our Conventions page.
- Set up a blog for 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.
- Browse the current OpenMRS code specific to your project.
- Browse other GSoC organizations and the pages they have for their students. We want to be the best!
- Review the requirements for your project together with your mentor.
- Submit a formal written proposal to your mentor.
- Agree on final requirements with your mentor.
- Develop a project schedule (timeline) with your mentor.
Helpful Community Resources
- If possible, join the Developers Forum every Thursday. You can participate by telephone, Skype, or even just on IRC. The 2nd and 4th Thursdays of each month will be dedicated to Summer of Code, so make every effort to attend to listen to your fellow students' presentations (see the next section for details).
- 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:
- Every accepted student will be required to give a short (15-minute) presentation/demo of their project twice during the program. You can use our screen sharing tools to demo your project.
- Dates of presentations will be announced when accepted students are announced. If you have a serious conflict with one of these dates, contact a student in a different group and trade dates with them. Check your calendars to make sure.
- 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.