IT Student Participation in Humanitarian FOSS: Product vs. Services
I recently co-organized a one day workshop to bring together faculty who teach in Information Technology (IT) degree programs. The workshop was a pre-conference event for the annual ACM SIGITE conference held in Calgary. The workshop was a small gathering made possible by some remaining funds from the NSF-supported HumIT project. We had a great group of faculty, shown in the photo below, who brought their enthusiasm and expertise to create a day of interesting discussion and exploration of possibilities for student participation in humanitarian FOSS projects.
The attendees were all experienced IT faculty and they had the usual dual reaction to the idea of students participating in humanitarian FOSS projects. On the one hand, they were intrigued by the excellent educational opportunity and potential motivational boost for students. On the other hand, they were cautious about the learning curve, complications, and overhead for instructors who try to integrate student humanitarian FOSS participation into their classes.
One particularly interesting part of the discussion was whether student participation was easier or more difficult for IT students compared to students in other computing majors. One of the workshop participants, Jake Miller of Pennsylvania College of Technology, suggested that it might be more difficult for IT students to participate because they would be providing services for the FOSS project rather than making contribution to the product. Heidi Ellis, co-investigator for the HumIT project, and I have raised similar conjectures about IT student participation. But what is really the issue?
The fundamental issue here seems to be whether it’s easier for a new FOSS participant to contribute to the FOSS product or to services related to the product. As an instructor trying to plan student participation, there’s great appeal to finding possible contributions to the FOSS project that are manageable within the constraints of a course. This seems to translate into factors including the following:
- Size – Something big enough to be interesting, but not so big that students can’t grasp the task and complete it within the time frame of a course
- Dependence – Something that is clearly part of the project, but not strongly interdependent with other tasks or parts of the system
- Schedule – Something that is needed as part of the project’s forward progress, but not on the critical path of project activities
It’s easy to think of tasks related to the product that have the desirable characteristics for each of these factors. For example, fixing non-critical bugs or developing a plug-in or generally free-standing module. On the services side, the concern seems to be that more of the IT services tasks have less desirable characteristics for student work. Size seems relatively manageable. The concerns seem to center around the other two factors above. Dependence may be more of an issue because many services tasks seem to have a greater need for knowledge of context. It also seems that more of the examples people think of for IT are items that have time pressure associated with them (e.g., providing support services to users).
The bottom line is that there definitely seems to be an additional layer of hesitation among IT instructors about whether student participation in FOSS is manageable, and I think there is merit to that opinion. But I also think that there is still plenty of room for IT students to engage in humanitarian FOSS work. We’ve had some initial success in this area, and I think broader opportunities exist. But clearly we need to provide additional demonstration of success to help IT instructors understand the opportunities.