This is the third in LWN's series of Google Summer of Code 2007 articles. The first two articles covered the program launch and Ubuntu's projects.
As Google's students continue working on their Summer of Code (GSoC) projects for one of 137 open source mentoring organizations, the relationships between Google's staff, the organization's administrators and mentors, and the students themselves emerge as showpieces for the open source development model. The Open Medical Record System (OpenMRS) project is a particularly interesting case, as it is one of several organizations participating in the GSoC 2007 whose work has widespread consequences for the international medical community. Those signed on with OpenMRS must overcome both technical and social challenges this summer while working within a heavily academic and international developer community. Read on for the impressions and testaments of the GSoC program from every side of OpenMRS' GSoC involvement, including Google's.
Google's open source team sponsors code development through the GSoC and other programs, occasionally overlapping with charitable causes in cases like that of OpenMRS. Another branch of the company, Google.org, is devoted to philanthropy in the areas of global development, public health, and climate change. Another division, Google Grants, doles out free AdWords space to non-profit organizations.
A medical records system widely used in a variety of developing nations presents unique requirements for developers. In addition to typical usability and security expectations, the system must be absolutely reliable, fully multi-lingual, easily extensible, and, above all, extremely scalable. Its developers would like it to assist in the treatment of tens of millions of HIV/AIDS patients and if possible, much of the rest of the population in the developing world. OpenMRS has already been implemented in a handful of African countries and receives support from the World Health Organization, Center for Disease Control, and other medical and charitable entities as a significant tool in the global fight against HIV/AIDS.
Their software provides an architecture for managing medical records that includes an advanced data storage model, programming API, and a set of web applications that includes OpenMRS' standard interface. Their very informative web demo is the best place to learn more about the system.
OpenMRS is new to the GSoC in 2007. Burke Mamlin, one of OpenMRS' founding fathers, admits that they only began to discuss applying a week before the organization application due date. They wrote the application the weekend before the deadline. Google's Open Source Program Coordinator Leslie Hawthorn explains that, like most other organizations, an exhaustive ideas list describing potential student projects was what won OpenMRS admission to the program. The ten student slots awarded to OpenMRS make it the thirteenth (of 137) most active participant this year, a lofty ranking which Hawthorn discloses is due directly to the amount of student applications the organization received - a phenomenal 134.
The OpenMRS development team was eager to pitch in as mentors. Developer Andreas Kollegger writes, "When the participation was announced, I immediately expressed interest in being a mentor. I think we all did (all the developers)." Mamlin adds that they were looking for projects that addressed short term goals which could be addressed in just one summer, but were not "simple bug fixes."
Hawthorn writes of students' attraction to OpenMRS, "I think that the intersection of open source and social change was incredibly inspiring for students, as it is for projects like One Laptop Per Child. It's one thing to hack on something cool, but it's even better to hack on something cool that will have an immediate effect on those in need." OpenMRS mentors would seem to agree. Hamish Fraser, an OpenMRS founder and mentor for Desmond Elliott's digital image tools extension project, concurs that it is the "humanitarian aspect" of his organization which attracted participants.
Perhaps it is to be expected that the students tell a slightly different story. None of the students surveyed seemed to have had any prior involvement with OpenMRS, most only learning about it through advertisements in the GSoC IRC channel or by browsing the list of accepted organizations. Though students seem to feel ingratiated by working for a project aiding developing nations, three explicitly credited the friendly welcoming they received from the OpenMRS team as securing their application.
Michael Zwolinski, a student working with mentor Justin Miranda on the Open Data Access Adapter and RESTful Web Service Module project, describes his courting process with the organization, "I first heard about OpenMRS browsing through the list of accepted mentoring organizations, as OpenMRS is not the type of project I would have come across on my own. At first I passed it up, not thinking much of it. However, I heard it being advertised in the GSoC IRC chat room, and hung out in the OpenMRS IRC room a while. I sometimes left, thinking that it might not be the organization for me, but I kept coming back for some reason. At some point, my current mentor explained the project I am working on now to me, and that hooked me. I liked the general atmosphere of the group, and my project sounded interesting, so I applied. I was actually accepted by another organization as well, but OpenMRS had both a great group of people and a great cause behind it, so the choice for me was a no-brainer."
Although not directly asked, two students offered that they would continue contributing to OpenMRS after the conclusion of the GSoC. OpenMRS's GSoC program organizers felt strongly about this sort of applicant dedication. Although Mamlin acknowledges using standard criteria for student selection (quality of application and experience), he also lists the student's "eagerness and interest in the project" and presence on their IRC channel as vital qualifications.
Geoffrey Rekier's reporting framework integration project mentor Ben Wolfe identifies a potential roadblock for GSoC participants: "OpenMRS is lacking in technical documentation and commenting - both will hinder [Rekier's] (and other students') ability to discern what is going on where and why." Nonetheless, Wolfe attests that the program has been "smooth sailing" thus far. The knowledgeable and attentive mentors supplied by OpenMRS are surely serving to ease students into the codebase and developer community.
Fraser offers the international nature of the organization as another hurdle for student acclimation: "It's a very fast moving project spread out over many countries so communication and coordination is a big deal." He comments that he would have liked more time allotted by Google for the student selection and integration process, particularly for his organization whose members are so frequently engaged in travel.
Participation in the GSoC has invited changes in OpenMRS outside of those being made by student developers. Zach Elko, a student working on the cross-platform installer project, testifies that a very amicable community of student applicants has formed around OpenMRS. He indicates that even those not accepted to work with the organization during the GSoC still keep in contact with the other students. Elko himself is not participating in the GSoC, but is one of two students being sponsored as summer interns by Paul Biondich, another OpenMRS founder. A hundred-thousand dollar grant from the IDRC will sponsor an additional twenty or more students year-round, starting in the Fall.
For better or worse, the OpenMRS team has found themselves forced to look beyond the GSoC for student interns. Biondich says of student internship programs: "Needless to say, we are convinced that this approach is central to our future development growth, as medical record systems are too complex to expect people to easily integrate into the community. We want to provide a richer collaborative substrate that allows people to get some assistance up front. Given the strong philanthropic drive of many within the open source community, we've realized that there's definitely interest, but a mentored internship provides the infrastructure to codify that good will."
Kollegger chimes in, "Google's sponsorship was just the right nudge to get us thinking the obvious, 'maybe we could get some interns to help out with some of this.'... The GSoC opportunity was enough to convince other OpenMRS related organizations that the summer of code should be the beginning of a continuous program sponsoring internships."
The project Kollegger is mentoring is another outside of the GSoC realm, Matthew Harrison's very salient data entry alternatives project. Kollegger explains, "OpenMRS has an unfortunate dependency on Microsoft Infopath for form design and deployment. It makes for a disjunct user experience and increases the cost of ownership. While it has been an obvious candidate for change, what was there worked so it was hard to justify putting development resources on it instead of filling in missing features. Matt is spending the summer integrating OpenOffice. It will be less costly, multi-platform and more nicely integrated."
Mamlin notes that OpenMRS has only made good use of IRC, now firmly integrated into their communications, since their entrance into the GSoC. It seems that an unexpected consequence of their participation in the program has been to, according to Mamlin: "force us to get organized in ways that might not have happened otherwise." Mamlin adds that "GSoC has taught us a ton about being a successful open source project and provided us with opportunities to interact with other successful projects."
The nature of the OpenMRS project has attracted a largely-academic set of developers. Fraser, for instance, is an assistant professor at Harvard Medical School. Major supporters include the Regenstrief Institute and Partners in Health. Not surprisingly, the students who applied and were accepted by OpenMRS also come from a very well-educated background. Though all GSoC participants are college students, about forty-percent of those working for OpenMRS are graduate students. Also like the developer team, OpenMRS GSoC applications came from thirty-four countries and six continents.
One student, Sarp Centel of the record linkage project, is a Fulbright Scholar who will be attending graduate school at Georgia Tech in the fall. His project incorporates data mining and machine learning techniques to couple patients' records across multiple hospitals and record systems. He writes, "I am thrilled with the communication and solidarity within my organization. Guidance of my mentor is great as well." He mentions that he would like to see Google encourage interaction between GSoC participants, though he adds, "considering the size of the program, I can say that it is being managed pretty well"
to post comments)