Teaching Open Source Practices, Version 4.0 | Opensource.com

Teaching Open Source Practices, Version 4.0

Image by : 

opensource.com

In 2007, Sean O'Sullivan, one of the founders of MapInfo, graciously made a donation to his alma mater, the Rensselaer Polytechnic Institute in Troy, NY with the specific goal of creating a center for the promotion of open source among undergraduates:

"We have a duty to our fellow man to improve life on this planet. While technology has always been a huge enabler in improving quality of life, we now are at a point where, through open software and open content, these improvements can come at close to zero cost, opening up opportunities to all," said O'Sullivan

This donation gave birth to the Rensselaer Center for Open Source (RCOS), where every year about 100 undergraduates receive stipends to work on open source projects.

RCOS also identified a need to provide formal education on the practices of Open Source software, and crafted an elective course which has been taught for the last three years during the fall semester. The course is offered to EE and CS majors in particular.

The form and content of the course has been evolving over time. In 2009, it comprised the following syllabus:

  • Economics (3 lectures)

  • Intellectual Monopolies (2 lectures)

  • Software Patents (1 lecture)

  • Open Source Licensing (2 lectures)

  • Case Studies (CMake / VTK / GNOME / KDE...) (5 lectures)

  • Business Models (1 lecture)

  • Software Development Process (1 lecture)

  • Open Access Publishing (1 lecture)

  • Wikipedia & peer production (1 lecture)

  • Hands-On Exercises (gcc / kernel / sockets)

All the teaching materials are made publicly available under the Creative Commons by Attribution license and can be found here.

The course runs for 16 weeks, with two sessions of 1 hour 45 minutes every week. The typical session is divided in 1 hour of lecturing (really: lecturing!), and 45 minutes of hands-on activity.

Examples of hands-on activities have been:

Grades are partitioned into 75% for quizzes (about 10 of them) and 25% for a class project that requires students to participate in an open source project of their choice.

Instructors in the course were volunteers form Kitware, a local open source company with close ties to RPI, and included the developers of open source projects such as CMake, VTK and ITK. They were complemented with invited speakers who offered talks to the larger campus community.

Invited speakers have included:

  • Michael Tiemann – President - Open Source Initiative, VP Open Source Affairs - RedHat

  • Daniel Frye – VP Open Systems Development - IBM

  • Chris DiBona - Open Source Programs Manager – Google

  • Kent Quirk – Linden Lab

  • Sandro Groganz – InitMarketing (Open Source Marketing)

  • James Cherkoff – Collaborative Marketing

  • Willy Walker – GNOME Accessibility Project

  • Bo Lipari – Executive Director, New Yorkers for Verified Voting

The course is a work in progress and we have been learning as we go.Here are a few things that we have had trouble with, which are most likely the result of our lack of pedagogical skills...but still may be helpful if you plan to implement a similar course:

  • Just expecting students to take initiative doesn't necessarily work.

  • Grades, Grades, Grades: There must be clear rules for them.

  • It was difficult to convince students to read, in full, any of our strongly recommended open source books.

  • When students search for FOSS projects to work on, it has been surprisingly difficult to evoke response from open source communities (more on this below).

  • We need a lawyer to help us with copyright, patents and licensing talks. Students will come up with the strangest, yet interesting, scenarios as questions and we are left speechless.

Things that we found work well:

  • TED Videos are a great pedagogical tool. We want more of them!

  • A lot of material about copyright is available online, particularly in YouTube.

  • Invited speakers are key to create connections between the students and the realities of FOSS.

On August 30, 2010, we will start Version 4.0 of the course. We are looking forward to this edition, because this year we come armed with three really big guns:

  • The support of the TeachingOpenSource community

  • The OpenHatch project, that will enable students to efficiently find suitable FOSS projects to work on.

  • A collaboration with HFOSS (Humanitarian FOSS), that we anticipate will also be a major source of student projects that are satisfying enough to make them forget about grades.

Through our course, imperfect as it is, we have learned a lot and would love to hear your ideas and suggestions for improvement. We would also enjoy hearing ideas to promote the creation of similar courses in other higher education institutions.

Ideas outside of the traditional teaching practices are particularly welcome!

About the author

Luis Ibanez - Luis Ibáñez works as Senior Software Engineer at Google Inc in New York city.