Intro to FOSS (Activity)

From TeachingOpenSource

Foss in Courses Planning 1


Description Intro to FOSS
Source None
Prerequisite Knowledge None
Estimated Time to Completion 60-90 minutes
Learning Objectives Upon completion of this activity, participants should be able to: 1) Describe two or three major events in the history of FOSS, 2) Describe several characteristics of the open source philosophy, and 3) Identify why student involvement in FOSS could help learning
Materials/Environment Access to Internet/Web and web browser.
Additional Information
Rights Licensed CC BY-SA
Turn In Nothing


Welcome to the exploration of Open Source Software! The goal of this activity is for you to become familiar with the roots and culture of Open Source Software. This activity is only intended to give you a first taste of FOSS culture and development, enough to use as a foundation for future learning.


1. Expectations

Let us start by setting expectations for your experiences in participating in FOSS projects and having students involved in such projects. This experience is usually quite different from a more typical classroom experience where the instructor knows the material at a detailed level and is able to answer all student questions. In contrast, learning within a FOSS project can be less predictable and the instructor serves as a guide rather than a leader, enabling the student to learn from the community.

The world of FOSS is large and complex. Producing a large software project is a complex and challenging process, especially for those unfamiliar with developing industrial software. Such development is often messy and has much more variability than typically found in the classroom. This messiness creates challenges to educating students within this environment. A large part of successfully navigating such an experience is understanding how the expectations for you as an instructor must change:

Expectation 1: You as the instructor are not expected to have all of the answers. Because of the size and complexity of projects, you will not have the answer to all questions. However, you will have maps and guideposts along the way to help you and your students find the answers. This ability to navigate a project while only having a partial understanding is known as being "productively lost". You may not know exactly where you are, but you will have the tools to find out.

Expectation 2: You as the instructor may feel uncomfortable in being "productively lost". The concept of not knowing answers to most student questions can be a foreign one and many instructors find this initially unsettling. This feeling has been likened to being in a foreign land not knowing the language and customs.

Expectation 3: You are not alone in this learning process. You will have a community of fellow educators and FOSS representatives to answer questions along the way.

The goal of this workshop is to enable you to be "productively lost" within a project, where you may not have a full grasp of a project, but you have sufficient signposts for you to be able to navigate the project and ask appropriate questions.

2. Overview of FOSS

The readings below provide an introduction to FOSS. The readings include a bit of history and information in the culture of FOSS. Eric Raymond's "The Cathedral and the Bazaar" is quintessential reading in FOSS, but we've only included a few parts here. Read each of the following:

  1. Brief history of FOSS - This article from Open Options provides a brief overview of how free and open source software came about.
  2. Wikipedia Open Source Article - This article talks about the philosophy of open source. Read:
    1. Section 1 History
    2. Section 3.1 Computer Software
  3. Wikipedia Open Source Software Article This article talks about the history and development philosophy of FOSS. Read:
    1. Sections 1-3 History, Definition, and Spread of the Term
    2. Section 5 FOSS Products
    3. Section 6 Development Philosophy
  4. Introduction to "The Cathedral and the Bazaar"] - This article describes the beginnings of FOSS (briefly) by someone who was there.
  5. Social context of FOSS - This article provides some motivation for why people start and contribute to FOSS projects.

3. Example

Now that you have some understanding of what FOSS is and how it got started, lets look at how Mozilla got started as an example project. Read:

  1. How Mozilla got started - Eric Raymond discusses the beginnings of Mozilla and the motivation for its start.
  2. Wikipedia Article on Mozilla - Discusses the foundation of Firefox which grew out of Netscape. Read"
    1. Sections 1, 2.1

4. Student Involvement in FOSS

Student involvement in development of a large software project has been used for a long time to promote learning software engineering skills as well as teamwork, etc. The use of FOSS as a base for student learning is

This material is pulled from the Practical Open Source Exploration text that was developed by the TeachingOpenSource community. The following readings will help explain the use of FOSS projects for learning as well as the feeling of being "productively lost".

  1. Motivation for using FOSS in courses
  2. FOSS in Student Projects

5. Humanitarian FOSS

To finish out our discussion, we should explain the use of Humanitarian FOSS in this workshop. Humanitarian FOSS (HFOSS) is FOSS that does some social good. HFOSS projects can range from disaster management, micro-finance, health care, education and more. We have chosen to focus on HFOSS as the altruistic nature of HFOSS has the potential to attract more computing majors, and women in particular. We have chosen to use HFOSS as our project space as these projects are particularly amenable to student participation.

  1. Review the list of HFOSS projects and identify one that captures your interest. You'll be working with this project for at least a couple of months so find one in which you are interested.