We've moved! This site,, is now an archive and will be permanently disabled on June 17, 2017. The new site can be found at Please save any content from this site that has not yet been migrated so that you can add it.

From Teaching Open Source

Jump to: navigation, search

The phrase "Open Source in Education" is extremely unclear. If we're going to further the goals of Teaching Open Source, we need to speak with a consistent understanding and vocabulary. This document outlines a categorization of levels in the use of Open Source in Education.

Teaching about working within an Open Source community is teaching the "Open" in Open Source, and is what we mean on this site when we talk about "Teaching Open Source".

Note that many of the projects cited here as examples could fit into multiple levels.

What do we mean by Open Source?

Open Source is a term defined by the Open Source Definition from the Open Source Initiative; unfortunately, this term is muddled slightly when expressed in English, where the word Open may be related to access or to visibility. A closely-related term is Free Software as defined by the Free Software Foundation; unfortunately, this term is muddled slightly when expressed in English, where the word Free may be related to freedom or to zero cost. For the purpose of this site, the terms are used interchangeably (purists, please take a deep breath and relax).

Level 1: Teaching Using Open Source Software

This level includes initiatives such as OLPC, K12LTSP, and the Fedora Education Math spin, which use Open Source educational software to teach other subjects, such as Mathematics or Media Arts.

Level 2: Teaching and Studying the Use of Open Source Software

Teaching students how to use Open Source software, and studying Open Source.

2A: Non-technical Use of Open Source Software

Open Source provides applications that are useful in many different fields of endeavor, ranging from the general (editing documents and balancing chequebooks) to the very specific (learning management systems and electronic circuit simulation).

2B: Technical Use of Open Source Software

Some Open Source software is used in very technical ways that require integration, configuration, and testing. This can range from using an Open Source operating system (such as a Linux or BSD distribution) to controlling devices (model trains) or setting up enterprise IT (using JBOSS, Apache, AMQP, and so forth). The distinction between level 2A and 2B is that users in level 2B have a greater understanding of what the software does, and generally configure it to perform a specific task or operate in a specific configuration. The distinction between level 2B and level 3 is that level 2B is focused on teaching the use of the software (even though at a deeply technical level) while level 3 is focused on advancing the software (through development and related activities).

Level 2B might also include studying, modifying and experimenting with Open Source software that embodies the practice of a subject within its learning and teaching. The software can range from mature codes for numerical analysis, symbolic algebra or optimization in mathematics (,, ) to current Open Source operating systems for computer science courses in operating systems and networks. Open Source can reveal and instruct to everyone a core reality of the subject as well as teach, as such, the organization and the development processes for major software systems.

2C: Studying Open Source

Open Source communities are interesting to those performing anthropological, social, linguistic, economic, and technical studies, due to the global, real-time nature of the collaboration that takes place within them (and the synthetic culture therefore produced) as well as the unique economic and technical frameworks employed by these communities.

Level 3: Working Within an Open Source Community

Teaching students how to contribute to and work within an Open Source project, collaborating with other community members on development, support, testing, documentation, bugfixing, and other collective tasks. This is teaching the "Open" in Open Source, and is the intended meaning of the phrase "Teaching Open Source".

Level 4: Thesis Projects and Open Source

This level is controversial.

At this level, students take on a substantial open source project as a thesis requirement of an academic degree program, such as undergraduate honours thesis, an MSc thesis or a PhD thesis. The students in this case must take on a substantial leadership role in a well-focused project area within the context of a broader open source community.

Note: This page content was originally written at