Intro to FOSS (Activity)

From TeachingOpenSource
Title Intro to FOSS Activity
Overview Learner will gain an introduction to FOSS, its philosophy, and how it might benefit students.
Prerequisite Knowledge None
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.


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.

Additional reading:


1. Expectations

Your experiences in participating in FOSS projects and having students involved in such projects may be quite different from a more traditional classroom experiences 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 may serve as a guide or coach rather than being the source of all expertise. The instructor may enable the student to learn on her own and 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, but also creates wonderful opportunities for learning. 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 will not have all of the answers due to the size and complexity of projects. 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 many 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 a classic reading in FOSS, but we've only included a few parts here. You may want to read the full article when you have time. Read each of the following:

  1. The Free Software Definition This article defines free software and provides some insight into the roots of FOSS.
  2. History of the Open Source Initiative - This article a brief overview of the start of the term "open source" and the OSI
  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 Open Source Development Model
    2. Section 5 Current Applications and Adoption
  4. Introduction to "The Cathedral and the Bazaar" - This article describes the beginnings of FOSS (briefly) by someone who was there, especially for the establishment of "open source" and the OSI.
    1. Social context of FOSS - This section provides some motivation for why people start and contribute to FOSS projects.

3. Student Involvement in FOSS

Student involvement in development of a large software project is an excellent way to motivate the need for software engineering skills, teamwork, and other aspects of professional software work. The use of FOSS projects as a setting for this type of student experience has potential and advantages that are difficult to match in a typical classroom setting.

A discussion of student participation in HFOSS including data on aspects of student learning and references to prior publications in this area is available in a draft manuscript here. This manuscript is under review for publication so we ask that you not distribute it further or post it online.

There is also some overview material on student involvement available in 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

4. 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. You can see some of the people already working on the project as well as some of the activities. Note that most of the activity happens on the actual HFOSS site so don't be put off by a project with no activity on the foss2serve site. You can also change your selection in the future.



Possible deliverables could be:

  • Paper summarizing what students learned about open source
  • Description of the difference in the philosophies of the Free Software Foundation and the Open Source Initiative
  • Brief description of open source project to which they would like to contribute including possible contributions and why they chose the project




What should the instructor know before using this activity?

What are some likely difficulties that an instructor may encounter using this activity?

Additional Information:

ACM Knowledge Area/Knowledge Unit What ACM Computing Curricula 2013 knowledge area and units does this activity cover? ACM_Body_of_Knowledge
ACM Topic What specific topics are addressed? The Computing Curriucula 2013 provides a list of topics -
Level of Difficulty Is this activity easy, medium or challenging?
Estimated Time to Completion 60-90 minutes
Materials/Environment Access to Internet/Web and web browser.
Author Who wrote this activity?
Source None
License Licensed CC BY-SA

Suggestions for Open Source Community:

Suggestions for an open source community member who is working in conjunction with the instructor.

This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License

File:CC license.png