“Therefore search and see if there is not some place where you may invest your humanity.”
The Humanitarian Free and Open Source Software (Humanitarian FOSS) Project is primarily an educational project whose goal is to engage more undergraduates in building free and open source software (FOSS) that benefits their community. Over the past four years, increasing numbers of undergraduates and computer science programs have been inspired by the Humanitarian FOSS project to make significant contributions to several active open source software development projects that have benefited organizations such as the Portland, Maine Ronald McDonald House, and the New York City Salvation Army. This article provides examples of several Humanitarian FOSS projects and describes other initiatives aimed at promoting undergraduate education about FOSS and its application within the community.
The Humanitarian FOSS Project is primarily an educational project whose goal is to engage more undergraduates in building FOSS that benefits their community. It began in 2006 as a collaborative effort among computer science faculty at Trinity College, Wesleyan University, and Connecticut College in Connecticut.
The word “humanitarian” in Humanitarian FOSS is meant in the broadest possible sense to mean all contributions that benefit the public good. This includes contributions to global and international software projects as well as those within one's local community.
Over the past four years, increasing numbers of undergraduates and computer science programs have been inspired by the Humanitarian FOSS project to make significant contributions to several active open source software development projects. In this article we provide examples of projects in which these students and programs have been engaged. We also describe other initiatives that we have taken to help ensure the sustainability and future growth of Humanitarian FOSS in undergraduate computer science education.
The Sahana Project
As described in the April 9, 2010 OSBR column, the Humanitarian FOSS project was born following an independent study project involving a small group of students and faculty at Trinity College. In January 2006, they downloaded the open source Sahana disaster management system, installed it on their server, and began studying the source code. As featured in this issue of the OSBR, Sahana was developed in Sri Lanka by a group of volunteer programmers in the immediate aftermath of the 2004/5 Asian tsunami. Over the next several months, the Trinity group designed and implemented a Volunteer Management module that was incorporated into the Sahana code base in December 2006. This effort also gave birth to the Humanitarian FOSS project itself.
The Humanitarian FOSS project continues to work closely with the Sahana project, and our students have made a number of contributions to the Sahana effort over the years. In 2008, Humanitarian FOSS students worked with developers in Sri Lanka and with users and developers in China to help deploy Sahana in Chengdu, China following the devastating earthquake there. Students have also worked with Sahana team members in a number of other disaster management efforts organized by the Naval Postgraduate School at Camp Roberts in California.
Students in software engineering courses have worked on Sahana issues as part of their class assignments. Recently, students in introductory courses have helped test and report bugs for a new Python-based version of Sahana in conjunction with its redeployment following the Haiti earthquake in early 2010. Humanitarian FOSS students are currently working on efforts to develop Android-based software tools that interface with Sahana.
Students who have engaged with Sahana in these ways have gained experience that is not normally available through the traditional undergraduate computer science curriculum. In addition to learning how to manage and use the tools and techniques of an open source development environment, such as Eclipse, Sourceforge, SVN, and Mercurial, Humanitarian FOSS students have also learned how large-scale, distributed FOSS development projects are organized.
These students have learned how to collaborate with programmers and developers in the Sahana community, most of whom are based in Sri Lanka. They have learned the importance of well-designed and well-documented code by dealing with complex software systems that have been written by others. And they have seen first hand that what matters in a FOSS meritocracy is whether or not your code solves problems that the development community considers important. So far two Humanitarian FOSS students have earned committer status in the Sahana project, thus becoming full-fledged members of the Sahana project team.
Sahana is just one example of the many global FOSS projects in which Humanitarian FOSS students have participated. Others include OpenMRS, an electronic medical record system developed by Partners in Health and the Regenstrief Institute at Indiana University that is finding growing use in Rwanda and other African nations; the GNOME Accessibility project, an effort to make the GNOME desktop accessible to persons with hearing, sight, or physical limitations that prevent them from being able to use a computer; and the Tor project, whose software is used to help protect the identities of human rights activists.
Source code from these projects has been studied and used in courses, independent studies, capstone projects, and summer research internships. These computer science students have learned about the FOSS movement and the FOSS development and distribution model.
Reactions from students have been overwhelmingly enthusiastic and positive. A typical sentiment expressed in course evaluations and questionnaires is: "After taking this independent study I realized that I can be in the lab, doing what I am interested in, and still make a humanitarian impact and help society."
The Ronald McDonald Project
In addition to participating in global FOSS projects, Humanitarian FOSS students have participated in a number projects situated within their local or regional communities. For example, students at Trinity College in Hartford are currently developing a kiosk system for the public computing lab at the Hartford Public Library. In 2008, students at Bowdoin College developed a volunteer scheduling system for the Ronald McDonald House in Portland, Maine
Inspired by the success of the Humanitarian FOSS project with Sahana, an instructor and a group of four computer science students at Bowdoin College decided to try to replicate that experience by applying the same principles to the needs of a local nonprofit organization. During a one-semester software project course, they developed a software artifact called "RMH Homebase" for the Ronald McDonald House in Portland, Maine. This contribution allows the House manager and volunteers to use an online system to recruit and schedule volunteers who perform various duties at the House on a daily basis.
The RMH Homebase system was completed and installed at the House in May 2008 after a three-month development period, has been updated and improved several times, and is still in productive use today. Moreover, other Ronald McDonald Houses have inquired about adapting RMH Homebase to help with their scheduling needs. This is entirely possible since the software is open source and can be freely adapted by other developers to suit other related scheduling needs. Since 2008, RMH Homebase source code has been downloaded over 500 times from its Sourceforge repository.
When humanitarian FOSS is developed in this way, everyone wins. Students gain a course credit by making a meaningful contribution to open source software, a local non-profit gains a valuable software artifact, and the computer science program adds a socially-relevant dimension to its curriculum that can arguably make it an attractive to a wider and more diverse range of students.
Incubating FOSS: The Collabbit Project
Collabbit is an open source web-based application that aims to increase emergency management efficiency through distributed asynchronous information sharing. The software is targeted to serve the needs of loosely coupled non-profit disaster relief agencies that coordinate responses to disasters. Disaster relief agencies create a common operating picture of an emergency incident through remotely posted incident updates. Individual users subscribe to topics of interest and receive near-instantaneous updates on those topics. Where information is lacking, users may access a topically organized contact registry.
What is particularly interesting about Collabbit is that it provides the first example of the Humanitarian FOSS project's role as an incubator for a new FOSS product. The Collabbit project was begun during the 2009 Humanitarian FOSS Summer Institute when a member of the New York City office of Volunteers Active in Disaster (VOAD), familiar with the Humanitarian FOSS Project's involvement in the Sahana effort, requested that a simple collaboration system be developed for a table-top disaster recovery exercise. A prototype was developed in three weeks and used successfully at the exercise, providing a proof-of-concept that such software would be useful to VOAD and similar organizations.
During the remainder of that summer, Humanitarian FOSS students worked closely with users from VOAD and the Red Cross and the Salvation Army to develop a full-fledged collaboration system. Collabbit is currently hosted on an Humanitarian FOSS server has been used by VOAD for similar table-top exercises. During the U.S. Thanksgiving holiday in 2009, it was used by the Salvation Army to help coordinate the distribution of 10,000 turkey dinners throughout the NYC metropolitan area.
Currently, two of Collabbit's lead developers, seniors at Wesleyan University, are in the process of creating a company to market and support Collabbit. As in many commercial FOSS enterprises, the software will remain licensed under its current LGPL license, and the development project will continue to be supported at http://collabbit.org/. Humanitarian FOSS students and others will continue to participate in Collabbit's development community. At the same time, the students together with one of the principal designers from the VOAD community, will form a LLC associated with the collabbit.com domain and will oversee Collabbit's continuing development.
While still in its infancy, Collabbit exhibits a completely unanticipated but welcome side effect of the Humanitarian FOSS project's educational effort. That is, a new project originating as an academic exercise can lead to the development of a mature and on-going open source software entity whose lifetime and impact are far larger than that for which it was originally developed.
New Initiatives: Chapters and Certificates
In addition to its efforts to get students engaged in open source projects, the other main goals of the Humanitarian FOSS project are:
to get faculty and students at other colleges and universities involved in similar activities
to develop a certificate program to recognize student achievement in open source software development
The Bowdoin activity described above was the first example of the potential for growing the Humanitarian FOSS community at schools outside Trinity College, Wesleyan University, and Connecticut College. During this past summer, the Humanitarian FOSS Project provided seed funding to start chapters at several new schools, including Mount Holyoke College in Massachusetts, Bergen Community College in New Jersey, and Oregon State University in Oregon. Our goal is to provide support to three additional colleges and universities during the summer 2011.
The FOSS Certificate Program
The FOSS Certificate is a credential by which a student can demonstrate mastery of FOSS concepts and practice. The purpose of the FOSS Certificate is to recognize student achievement in FOSS development. It recognizes students who have achieved a significant level of mastery of FOSS concepts and practices.
The Certificate also helps identify the core software development curricular elements that belong in a modern undergraduate computing education. Thus, the Certificate can also raise awareness and interest in FOSS principles and practice among a wider range of computing faculty, students, and programs nationwide.
Applicants may prepare for FOSS certification by satisfactorily completing one or two college-level courses (or their equivalent) that have significant FOSS curriculum content and by having achieved contributor status in one or more FOSS projects. For the purpose of Certification, contributor status means any active contribution to the code base, documentation, or other part of the software that affects the software's productive use. Certificate applications will be reviewed by three-person teams consisting of academic computer scientists, FOSS project leaders, and professional software developers.
During the current academic year, the Humanitarian FOSS project will conduct a pilot experiment by making the certificate program available to students affiliated with the Humanitarian FOSS project's participating schools. Following the successful completion of that phase, the program will be made more widely available. We are currently in the process of recruiting certificate reviewers from the academic and FOSS development communities.
In addition to serving as a way to recognize student achievement, we are hoping the FOSS Certificate can also serve to stimulate thinking among academic computing departments about the place of FOSS in the undergraduate curriculum. The FOSS Certificate may also provide an additional credential for computer science graduates seeking employment in the software industry.
The App Inventor Experiment
App Inventor is a new visual programming platform for creating mobile application for Android-based smart phones. During the summer of 2010, the Humanitarian FOSS Project participated in an experiment that is addressing the question: Can App Inventor be a suitable platform for bringing a better awareness of computer science to K-12 students?
The App Inventor experiment was a collaboration among two high school teachers, two novice undergraduate students in computer science, a community outreach leader, and a computer science instructor. The Humanitarian FOSS component of this experiment explored the utility of App Inventor as a tool for engaging high school and early college students in the study of computer science by having them develop socially beneficial applications. This particular focus can be particularly useful in attracting student interest from underrepresented groups –- especially females, African Americans, and Hispanics -– in computer science as a field of study.
In the fall of 2010, the application called “Work it Off,” developed by the two students during this experiment, won a competition designed to promote nutritious food choices and physical activity for children as part of First Lady Michelle Obama’s Let’s Move! initiative. In the future, the Humanitarian FOSS Project hopes to initiate more experiments like this one, aiming to extend to the K-12 cohort its effort to get students engaged in learning about and employing FOSS principles to benefit their communities. We believe that the potential for App Inventor to help improve public understanding of computer science is significant.
The Humanitarian FOSS Project has grown significantly since its inception in 2006. We are encouraged by the progress that the project has made to engage undergraduates in Humanitarian FOSS developments that are serving the needs of global and local humanitarian organizations.
As valuable byproducts, students gain knowledge of the open source development process, local and global organizations gain valuable software tools. Further, colleges and universities gain new and practical dimensions that help connect their computer science programs to the professional and humanitarian world around them.
We hope that the future will see further development of the Humanitarian FOSS model in undergraduate computer science programs throughout the nation and beyond.