June 20, 2007
This article was contributed by Nathan Sanders
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"
Comments (14 posted)
System Applications
Database Software
The June 17, 2007 edition of the PostgreSQL Weekly News
is online with the latest PostgreSQL DBMS articles and resources.
Full Story (comments: none)
Version 3.4.0 of
SQLite, a lightweight DBMS, is out.
"
This release fixes two separate bugs either of which can lead to database corruption. Upgrading is strongly recommended."
Comments (none posted)
Interoperability
Version 4.0.0 TP 5 of
Samba
is available for
download.
The WHATSNEW file from the source code says:
"
Work has continued on SWAT, the the libnet API behind it. These we
hope will grow into a full web-based management solution for both
local and remote Samba and windows servers.
The DRSUAPI research effort has largely concluded, and an initial
implementation of AD replication is present, included in torture
test-cases. This includes the decryption of the AD passwords, which
were specially and separately encrypted. This should be recognised
as vital milestone.
Likewise, the LDAP Backend project has moved from a research
implementation into something that can be easily deployed outside
the test infrastructure."
Comments (none posted)
Security
Version 3 of
Pixy
has been announced.
"
Pixy is a Java program that performs automatic scans of PHP source code, aimed at the detection of XSS and SQL injection vulnerabilities. Pixy takes a PHP program as input, and creates a report that lists possible vulnerable points in the program, together with additional information for understanding the vulnerability."
Comments (none posted)
Web Site Development
The first alpha release of
REMO
is available.
"
This is a project to build a graphical rule editor for ModSecurity with a positive/whitelist approach.
Remo has been started in January 2007, there was a first alpha release in February and the first beta release in early June 2007."
Comments (none posted)
Desktop Applications
Audio Applications
KDE.News
has announced
issue #9 of the
Amarok Weekly Newsletter:
"
In this issue, we interview an Amarok developer (Ian Monroe), take a look at the future of Amarok - Version 2.0 - and continue to provide nice usage tips."
Comments (none posted)
Desktop Environments
The following new GNOME software has been announced this week:
- Accerciser 0.1.4 (new features and translation work)
- Devhelp 0.15 (bug fixes and translation work)
- Evince 0.9.1 (new features, bug fixes and translation work)
- gcalctool 5.19.4 (bug fix and translation work)
- GDM2 2.19.3 (new features, bug fixes and translation work)
- Glade 3.3.1 (new features, bug fixes and translation work)
- GLib 2.13.5 (new features, bug fixes and translation work)
- gnome-control-center 2.19.4 (new features, bug fixes and translation work)
- gnome-games 2.19.4 (new features and bug fixes)
- gnome-keyring 2.19.4 (new features, translation work and code improvements)
- gnome-speech 0.4.14 (bug fixes)
- gnome-mag 0.14.6 (bug fixes and translation work)
- GNOME Power Manager 2.19.3 (new features, bug fixes and translation work)
- gnome-vfs-obexftp 0.3 (new features and bug fixes)
- goobox 1.9.1 (new features and bug fixes)
- grandr 0.1 (initial release)
- gThumb 2.10.4 (bug fixes and translation work)
- GTK+ 2.11.3 (new features, bug fixes and translation work)
- GTK+ 2.11.4 (bug fixes)
- gtk-engines 2.11.2 (new features and translation work)
- gtkmm 2.11.3 and glibmm 2.11.6 (new features, bug fixes and documentation work)
- libgnome/libgnomeui 2.19.0 (bug fixes and translation work)
- metacity 2.18.5 (bug fix)
- metacity 2.19.21 (bug fixes and translation work)
- MonoDevelop 0.14 (new features)
- Orca 2.19.4 (bug fixes and translation work)
- Pango 1.17.3 (new features and bug fixes)
- Rarian 0.5.0 (new features, bug fixes and name change)
- Seahorse 2.19.4 (new features, bug fixes and translation work)
You can find more new GNOME software releases at
gnomefiles.org.
Comments (none posted)
The following new KDE software has been announced this week:
You can find more new KDE software releases at
kde-apps.org.
Comments (none posted)
The June 17, 2007 edition of the
KDE Commit-Digest has been
announced.
The content summary says:
"
Work on engine configurability, data
management, a packaging system for Plasmoids and themes, and new refinements
in desktop icon interaction in Plasma. The Oxygen window decoration and
widget are both moved into kdebase. Further work in the Icon Cache, Kopete
Messenger update, KRDC and Context Help Summer of Code projects. Improved
highscore handling and network management across kdegames. New keyboard
engine becomes live in KTouch, whilst the Step physics simulation package
receives support for annotations. Support for many new text styling options
in KOffice..."
Comments (none posted)
KDE.News
has announced
the
second part in a series on the Nepomuk-KDE Semantic-Desktop project.
"
In a follow up story to the "State and Plans of Nepomuk-KDE" post, the second post covers Soprano and the overall integration of NEPOMUK within KDE."
Comments (none posted)
KDE.News
continues a series on
KDE 4 with a look at KDE PIM libraries. "
KDE has a number of
sub-projects that have blossomed into enormous projects of their own. A
number of them, such as KOffice, or KDE-Edu get a lot of press in the open
source world, while the KDE PIM project has been quietly gaining corporate
acceptance as a suitable enterprise suite. Today's feature are the
libraries that power the KDE PIM project, and specifically, what changes
have taken place since KDE 3.5.x, wherein the KDE PIM project is one of the
most successful and stable components of KDE. Read on for more
details."
Comments (1 posted)
Electronics
Release 0.0.12 of the
Qucs
has been released.
"
Qucs is an integrated circuit simulator which means you are able to setup a circuit with a graphical user interface (GUI) and simulate the large-signal, small-signal and noise behaviour of the circuit. After that simulation has finished you can view the simulation results on a presentation page or window."
Comments (none posted)
Financial Applications
Version 2.8.6 of
SQL-Ledger, a web-based accounting system, is out.
Changes include: document control number with modulo 10 control digit,
remittance voucher number with modulo 10 control digit,
option to include fields for timecards,
added notes to timecard and "Generate Sales Order" report and
option to record FX adjustments.
Comments (none posted)
Games
Version 0.5 of
ChessX,
a chess database that allows you tobrowse, manage, and analyze chess games,
has been announced.
"
Many features [have] been added, most notably the opening tree and engine analysis support."
Comments (none posted)
The WorldForge game project has
an article
on a new capability in Ember, a 3d client for the WorldForge project.
"
Id like to showcase some of the new editing functionality in the current Ember cvs. First off is the area editing.
There are many types of areas in the world. Some examples are the dirt area under the sty, the path to the village and the darker areas under the oaks. Each area belongs to an entity and is represented as a series of connected points which taken together create a 2d polygon."
Comments (none posted)
Interoperability
Version 0.9.39 of Wine
has been announced.
Changes include:
Many MSHTML improvements, Several improvements to the sound support,
A number of Winsock fixes, Several new supported constructs in the IDL
compiler, Many Direct3D threading fixes and Lots of bug fixes.
Comments (none posted)
Music Applications
Version 0.4.0 of CAPS, the C* Audio Plugin Suite, is out.
"
CAPS is a collection of LADSPA plugins enjoying worldwide favour for
its instrument amplifier emulation. In addition, it provides a
sizeable assortment of acclaimed audio DSP units, sound generators and
effects. CAPS is distributed as open source under the terms of the
GNU Public License."
Full Story (comments: none)
Version 0.97.6 of Free Music Instrument Tuner has been
released. Changes include a new statistics module and a bug fix for
JACK.
Full Story (comments: none)
Video Applications
Stable version 0.4.4 of Muxi
has been announced.
"
Muxi is a TV application and personal video recorder for DVB. It includes an electronic program guide, live stream recording, time shifting, movie playback, and Internet radio. It can run perfectly smoothly at high frame rates under HDTV resolutions. Current releases support DVB-T only; DVB-S is in development."
Comments (none posted)
Miscellaneous
Stable version 6.3.2 of
GPSMan is out.
"
GPS Manager (GPSMan) is a graphical manager of GPS data that makes possible the preparation, inspection and edition of GPS data in a friendly environment. GPSMan supports communication and real-time logging with both Garmin, Lowrance and Magellan receivers and accepts real-time logging information in NMEA 0183 from any GPS receiver. GPSMan can also be used in command mode (with no graphical interface)".
Comments (none posted)
Version 1.0.1 of Pootle, a translation tool that aims to build standards
compliant tools for localization to minority languages,
is available from
translate.sourceforge.net.
(Thanks to Dwayne Bailey).
Comments (none posted)
Languages and Tools
Assembly Language
Version 2.17.50.0.17 beta of
binutils
for Linux is out. Numerous bug fixes have been made.
"
This is the beta release of binutils 2.17.50.0.17 for Linux, which is
based on binutils 2007 0615 in CVS on sourceware.org plus various
changes. It is purely for Linux."
Full Story (comments: none)
Caml
The June 19, 2007 edition of the Caml Weekly News
is out with new Caml language articles.
Full Story (comments: none)
Java
IBM developerWorks
looks
at volatility in Java. "
The Java language contains two intrinsic
synchronization mechanisms: synchronized blocks (and methods) and volatile
variables. Both are provided for the purpose of rendering code
thread-safe. Volatile variables are the weaker (but sometimes simpler or
less expensive) of the two -- but also easier to use incorrectly. In this
installment of Java theory and practice, Brian Goetz explores some patterns
for using volatile variables correctly and offers some warnings about the
limits of its applicability."
Comments (2 posted)
Python
Guido van Rossum has posted
a detailed
update on the state of Python 3000. "
A schedule was first
published around a year ago; we were aiming for a first 3.0 alpha release
by the end of the first half of 2007, with a final 3.0 release a year
later... This schedule has slipped a bit;
we're now looking at a first alpha by the end of August, and the final
release is moved up by the same amount. (The schedule slip is largely due
to the amount of work resulting from the transition to all-Unicode text
strings and mutable raw bytes arrays. Perhaps I also haven't delegated
enough of the work to other developers; a mistake I am frantically trying
to correct.)"
Comments (none posted)
The June 19, 2007 edition of the Python-URL! is online with
a new collection of Python article links.
Full Story (comments: none)
Tcl/Tk
The June 20, 2007 edition of the Tcl-URL! is online with new
Tcl/Tk articles and resources.
Full Story (comments: none)
Version Control
Version 1.5.2.2 of GIT is out with a number of bug fixes and some translation
work.
Full Story (comments: none)
Version 0.3 of Monotree, a viewer for the distributed version control
system monotone, has been released.
"
As a viewer it loads and reads monotone's database to create reports. As
it is a Windows application with a graphical user interface it can help to
understand monotone's data easier and more quickly.
Monotree is not a graphical user interface for monotone. It doesn't even
use monotone but loads monotone's database directly. It's possible to load
a database created by monotone without having monotone installed at all."
Full Story (comments: none)
Page editor: Forrest Cook
Next page: Linux in the news>>