Intro to FOSS (Activity)

From Foss2Serve
(Difference between revisions)
Jump to: navigation, search
(Preparation:)
(4. Student Involvement in FOSS)
 
(41 intermediate revisions by 9 users not shown)
Line 1: Line 1:
== Foss in Courses Planning 1 ==
+
__NOTOC__
  
=== Preparation: ===
+
{{Learning Activity Overview
 +
|title=
 +
Intro to FOSS (Free & Open Source Software)
 +
|overview=  
 +
Learner will gain an introduction to FOSS, its philosophy, and how it might benefit students.
 +
|prerequisites=
 +
None.
 +
|objectives=
 +
# Describe two or three major events in the history of FOSS.
 +
# Describe several characteristics of FOSS philosophy.
 +
# Explain why student involvement in FOSS could help learning.
 +
|process skills=
 +
}}
  
{| border="1"
+
=== Background ===
|-
+
|'''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''' ||
+
* [http://www.catb.org/esr/writings/homesteading/cathedral-bazaar/ The Cathedral and the Bazaar] by Eric Raymond
+
* [http://teachingopensource.org/index.php/Practical_OSS_Exploration Practical Open Source Exploration text] developed by the TeachingOpenSource community
+
|-
+
|'''Rights''' || Licensed CC BY-SA
+
|-
+
|'''Turn In''' || Nothing
+
|}
+
  
=== Background: ===
+
Welcome to the exploration of Free & Open Source Software (FOSS)! The goal of this activity is for you to become familiar with the roots and culture of FOSS. 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.
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:
 +
* [http://www.catb.org/esr/writings/homesteading/cathedral-bazaar/ The Cathedral and the Bazaar] by Eric Raymond
 +
* [http://teachingopensource.org/practical-oss-exploration/ Practical Open Source Exploration text] developed by the TeachingOpenSource community
  
 
=== Directions ===
 
=== Directions ===
 +
 
==== 1. Expectations ====
 
==== 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:
+
Your experiences as an instructor or student participating in FOSS projects may be quite different from a more traditional classroom experiences where the instructor knows the material at a detailed level and can answer all student questions.  
 +
In contrast, learning within a FOSS project can be less predictable and the instructor is often a guide or coach, not the source of all expertise.  
 +
The instructor may enable students to learn on their own and from the community.
  
'''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.
+
The world of FOSS is large and complex. Producing a large software project is a complex and challenging process.
 +
Such development is often messy and more variable than a typical classroom.  
 +
This messiness creates challenges for students and instructors, but also creates wonderful opportunities for learning. A large part of successfully navigating such an experience is understanding how the expectations for an instructor must change:
  
'''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 1:''' The instructor will not have all of the answers due to the size and complexity of projects. However, there are maps and guideposts along the way to help instructors and 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 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.  
+
'''Expectation 2:''' The instructor and students 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.  
  
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.  
+
'''Expectation 3:''' You are not alone in this learning process. You have a community of instructors, students, and FOSS community members to answer questions along the way.
 +
 
 +
The goal of this activity 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 ====
 
==== 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:
 
# [http://www.netc.org/openoptions/background/history.html Brief history of FOSS] - This article from Open Options provides a brief overview of how free and open source software came about.
 
# [http://en.wikipedia.org/wiki/Open_source Wikipedia Open Source Article] - This article talks about the philosophy of open source. Read:
 
## Section 1 History
 
## Section 3.1 Computer Software
 
# [http://en.wikipedia.org/wiki/Open_source_software Wikipedia Open Source Software Article] This article talks about the history and development philosophy of FOSS. Read:
 
## Sections 1-3 History, Definition, and Spread of the Term
 
## Section 5 FOSS Products
 
## Section 6 Development Philosophy
 
# http://www.catb.org/~esr/writings/cathedral-bazaar/cathedral-bazaar/index.html#catbmain Introduction to "The Cathedral and the Bazaar"] - This article describes the beginnings of FOSS (briefly) by someone who was there.
 
# [http://www.catb.org/~esr/writings/cathedral-bazaar/cathedral-bazaar/ar01s11.html Social context of FOSS] - This article provides some motivation for why people start and contribute to FOSS projects.
 
  
==== 3. Example ====
+
The readings below provide an introduction to FOSS, including a bit of history and information about FOSS culture. Read each of the following:
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:
+
# [https://www.gnu.org/philosophy/free-sw.html The Free Software Definition]: This article defines free software and provides some insight into the roots of FOSS.
# [http://www.catb.org/~esr/writings/cathedral-bazaar/cathedral-bazaar/ar01s13.html How Mozilla got started] - Eric Raymond discusses the beginnings of Mozilla and the motivation for its start.  
+
# [http://opensource.org/history History of the Open Source Initiative]: This article is a brief overview of the start of the term "open source" and the OSI.
# [http://en.wikipedia.org/wiki/Mozilla Wikipedia Article on Mozilla] - Discusses the foundation of Firefox which grew out of Netscape. Read"
+
# [http://en.wikipedia.org/wiki/Open_source_software Open Source Software (Wikipedia)]: This article talks about the history and development philosophy of FOSS. Read:
## Sections 1, 2.1
+
## Sections 1-3: History, Definition, and Open Source Development Model
 +
## Section 5: Current Applications and Adoption
 +
# [http://www.catb.org/~esr/writings/cathedral-bazaar/cathedral-bazaar/index.html "The Cathedral and the Bazaar"]: This is a classic reading in FOSS and you may want to read the full article when you have time.
 +
## [http://www.catb.org/~esr/writings/cathedral-bazaar/cathedral-bazaar/index.html#catbmain Introduction]: This section briefly describes the beginnings of FOSS by someone who was there, especially for the establishment of "open source" and the OSI.
 +
## [http://www.catb.org/~esr/writings/cathedral-bazaar/cathedral-bazaar/ar01s11.html Social context of FOSS]: This section provides some motivation for why people start and contribute to FOSS projects.
 +
 
 +
==== 3. Humanitarian FOSS ====
 +
 
 +
'''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, particularly women, and because these projects are particularly amenable to student participation.
 +
 
 +
# Review the list of [http://www.foss2serve.org/index.php/HFOSS_Communities HFOSS projects] and identify one that captures your interest. You may be working with this project for several months (or longer) so choose carefully.
 +
In the list, 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.  
  
 
==== 4. Student Involvement in FOSS ====
 
==== 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 [http://teachingopensource.org/index.php/Practical_OSS_Exploration 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".  
+
Developing a large software project is an excellent way to help students and instructors appreciate the need for software engineering skills, teamwork, and other aspects of professional software work.
# [http://teachingopensource.org/index.php?title=Practical_OSS_Exploration_-_Foreword&direction=next&oldid=3605#Why_is_This_Book_Necessary.3F Motivation for using FOSS in courses]
+
Using HFOSS projects as a setting for such experiences has potential and advantages that are difficult to match in a typical classroom setting.
# [http://teachingopensource.org/index.php?title=Practical_OSS_Exploration_-_Foreword&direction=next&oldid=3605#Why_Traditional_Student_Projects_Are_Ineffective FOSS in Student Projects]
+
 
 +
There is a growing body of publications that describes and evaluates student participation in open source.  One discussion of student participation in HFOSS including data on aspects of student learning and references to prior publications in this area is available in the ACM digital library [https://dl.acm.org/citation.cfm?doid=2850426.2684812 here ].  A draft manuscript of the article is available [[Media:HFOSS_Manuscript.docx | here]]. 
 +
 
 +
There is also some overview material on student involvement available in the [http://teachingopensource.org/index.php/practical-oss-exploration Practical Open Source Exploration] text that was developed by the TeachingOpenSource community.
 +
 
 +
=== Deliverables ===
 +
 
 +
POSSE: None, but have a project in mind as directed above.
 +
 
 +
Possible deliverables for use with students could be:
 +
* Paper summarizing what students learned about FOSS.
 +
* Paper describing the difference in the philosophies of the [http://fsf.org Free Software Foundation] and the [http://opensource.org Open Source Initiative].
 +
* Brief description of a FOSS project to which they would like to contribute including why they chose the project and possible contributions.
 +
 
 +
= Notes for Instructors =
 +
 
 +
The remaining sections of this document are intended for the instructor. They are not part of the learning activity that would be given to students.
 +
 
 +
=== Assessment ===
 +
 
 +
'''Below are the questions that need to be answered to provide assessment for this activity along with a sample assessment table.'''
 +
 
 +
* How will the activity be graded?
 +
* How will learning will be measured?
 +
* Include sample assessment questions/rubrics.
 +
 
 +
{| class="wikitable"
 +
! Criteria
 +
! Level 1 (fail)
 +
! Level 2 (pass)
 +
! Level 3 (good)
 +
! Level 4 (exceptional)
 +
|-
 +
| '''Criteria 1'''
 +
|
 +
|
 +
|
 +
|
 +
 
 +
|-
 +
| '''Criteria 2'''
 +
|
 +
|
 +
|
 +
|
 +
 
 +
|}
 +
 
 +
=== Comments ===
 +
 
 +
Comments to instructor using this activity with students:
 +
* Omit Section 4: Student Involvement in FOSS
 +
* You may want to have students look at a broader list of HFOSS projects (e.g. [[HFOSS Projects]])
 +
 
 +
{{Learning Activity Info
 +
|acm unit=
 +
SP Intellectual Property
 +
|acm topic=
 +
Goals of Open Source
 +
|difficulty=
 +
Easy
 +
|time=
 +
60-90 minutes
 +
|environment=
 +
Access to Internet/Web and web browser.
 +
|author=
 +
Heidi Ellis
 +
|source=
 +
None
 +
|license=
 +
{{License CC BY SA}}
 +
}}
 +
 
 +
 
 +
=== Suggestions for Open Source Community ===
  
==== 5. Humanitarian FOSS ====
+
Below are suggestions for an open source community member who is working in conjunction with the instructor.
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.  
+
  
# Review the list of [http://foss2serve.org/index.php/HFOSS_Communities 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.
 
  
[[Category: Foss2serve]]
+
[[Category:Instructor Activities]]
[[Category: Learning_Activity]]
+
[[Category:Learning Activity]]
 +
[[Category:Introduction]]
 +
[[Category:Good Draft]]

Latest revision as of 17:41, 30 October 2018


Title

Intro to FOSS (Free & Open Source Software)

Overview

Learner will gain an introduction to FOSS, its philosophy, and how it might benefit students.

Prerequisites

None.

Learning
Objectives
After successfully completing this activity, the learner should be able to:
  1. Describe two or three major events in the history of FOSS.
  2. Describe several characteristics of FOSS philosophy.
  3. Explain why student involvement in FOSS could help learning.
Process Skills
Practiced


Background

Welcome to the exploration of Free & Open Source Software (FOSS)! The goal of this activity is for you to become familiar with the roots and culture of FOSS. 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:

Directions

1. Expectations

Your experiences as an instructor or student participating in FOSS projects may be quite different from a more traditional classroom experiences where the instructor knows the material at a detailed level and can answer all student questions. In contrast, learning within a FOSS project can be less predictable and the instructor is often a guide or coach, not the source of all expertise. The instructor may enable students to learn on their own and from the community.

The world of FOSS is large and complex. Producing a large software project is a complex and challenging process. Such development is often messy and more variable than a typical classroom. This messiness creates challenges for students and instructors, but also creates wonderful opportunities for learning. A large part of successfully navigating such an experience is understanding how the expectations for an instructor must change:

Expectation 1: The instructor will not have all of the answers due to the size and complexity of projects. However, there are maps and guideposts along the way to help instructors and 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: The instructor and students 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 have a community of instructors, students, and FOSS community members to answer questions along the way.

The goal of this activity 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, including a bit of history and information about FOSS culture. 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 is a brief overview of the start of the term "open source" and the OSI.
  3. Open Source Software (Wikipedia): 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. "The Cathedral and the Bazaar": This is a classic reading in FOSS and you may want to read the full article when you have time.
    1. Introduction: This section briefly describes the beginnings of FOSS by someone who was there, especially for the establishment of "open source" and the OSI.
    2. Social context of FOSS: This section provides some motivation for why people start and contribute to FOSS projects.

3. Humanitarian FOSS

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, particularly women, and because these projects are particularly amenable to student participation.

  1. Review the list of HFOSS projects and identify one that captures your interest. You may be working with this project for several months (or longer) so choose carefully.

In the list, 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.

4. Student Involvement in FOSS

Developing a large software project is an excellent way to help students and instructors appreciate the need for software engineering skills, teamwork, and other aspects of professional software work. Using HFOSS projects as a setting for such experiences has potential and advantages that are difficult to match in a typical classroom setting.

There is a growing body of publications that describes and evaluates student participation in open source. One discussion of student participation in HFOSS including data on aspects of student learning and references to prior publications in this area is available in the ACM digital library here . A draft manuscript of the article is available here.

There is also some overview material on student involvement available in the Practical Open Source Exploration text that was developed by the TeachingOpenSource community.

Deliverables

POSSE: None, but have a project in mind as directed above.

Possible deliverables for use with students could be:

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

Notes for Instructors

The remaining sections of this document are intended for the instructor. They are not part of the learning activity that would be given to students.

Assessment

Below are the questions that need to be answered to provide assessment for this activity along with a sample assessment table.

  • How will the activity be graded?
  • How will learning will be measured?
  • Include sample assessment questions/rubrics.
Criteria Level 1 (fail) Level 2 (pass) Level 3 (good) Level 4 (exceptional)
Criteria 1
Criteria 2

Comments

Comments to instructor using this activity with students:

  • Omit Section 4: Student Involvement in FOSS
  • You may want to have students look at a broader list of HFOSS projects (e.g. HFOSS Projects)
ACM BoK
Area & Unit(s)

SP Intellectual Property

ACM BoK
Topic(s)

Goals of Open Source

Difficulty

Easy

Estimated Time
to Complete

60-90 minutes

Environment /
Materials

Access to Internet/Web and web browser.

Author(s)

Heidi Ellis

Source

None

License

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

CC license.png


Suggestions for Open Source Community

Below are suggestions for an open source community member who is working in conjunction with the instructor.

Personal tools
Namespaces
Variants
Actions
Events
Learning Resources
HFOSS Projects
Evaluation
Navigation
Toolbox