Skip to content


D. Joe edited this page Jan 14, 2019 · 12 revisions

Syllabus: The RIT Humanitarian Free/Open Source Software Development Course

  • Instructor - D. Joe Anderson
  • Office: MSS-3190, MSS-2175, GOL-3450
  • Office Hours: Tuesday 5:00-5:30, MWF 10:05-10:45 am, by appointment
  • Teaching Assistant - None
  • IRC -, #rit-foss

The source for this syllabus can be found at

Text Books

There are a number of textbooks we’ll be referencing throughout the semester. They will be added to the resources page or in the library for your use.

Purchase of a textbook is not required.

What You’ll Do

This course will introduce students to the Free and Open Source Software (FOSS) and Open Content movements, to the open source development process, and to the open questions of the efficacy of technology in the classroom.

Students will learn FOSS process and Tools with class projects that support the SugarLabs community (or other humanitarian projects) by creating content and software for free distribution to students and teachers around the world. The SugarLabs project is driven by a world-wide community–one of which successful students in HFOSS will become a part.

The spirit of the course

While still a course where you will receive a letter grade, the spirit of the course is intended to be both open and fun.

An open course – students will have access to the ‘document source’ for the syllabus. As a student of the class you have a right to fork the upstream repositories for this syllabus and other course content (library, wiki), make modifications, and submit patches for review. Barring a troll festival, this can create a fun, dynamic environment in which the course curriculum can develop by the very same mechanism being taught during the semester (community-driven).


All code developed by students in the course must be licensed (by the student) under any one of the licenses approved by the Open Source Initiative

Code that you write is your code, with which you can do what you will; true. However, if you’re unwilling to license code you write for an Free/Open Source course with a Free/Open Source license, you may be in the wrong course.

Similarly, the essence of this course entails your doing significant collaborative work in public, the results of which will remain public. If you do not wish to make your work public in this way, please contact the instructor during the first week of class to make other arrangements.


Please see this living schedule which should be updated throughout the semester.


  • intro
  • firstflight ** exercise: IRC ** exercise: email
  • topic: it's all text
  • topic: git before github
  • smoketest1: VMs & local computing
  • topic: rights, restrictions, licensing
  • topic: constructionist pedagogy
  • topic: Free Culture
  • topic: Intro to SugarLabs
  • smoketest2: Sugar, Sugarizer
  • topic: Intro to humanitarian projects
  • topic: Intro to python
  • project: bugfix
  • project: commarch
  • topic: FOSS & security
  • topic: FOSS & privacy
  • topic: FOSS, inclusivity, privilege, diversity
  • topic: FOSS sustainability
  • topic: FOSS history
  • project: game


Attendance is mandatory. Unexecused absences accrue a loss of points & a penalty of 5% off the total grade.

See the attendance page for details.


Please see grading policies and this example table of full-semester grades

Blog Updates

Students are required to keep a blog to which they post updates about their investigations, progress, success, and pitfalls. This blog can be hosted anywhere, but must be added to the course participant page (there are instructions on how to do this in First Flight). All blog posts are syndicated to the blog aggregator HFOSS Planet.

You must make at least one blog post per week (up to 12) to receive full credit. You must participate regularly in the course’s IRC channel: asking and answering questions. Contributions to the course curriculum, syllabus, and rubric are factored in here as well.

Blogging is good for you and good for the FLOSS community at large.

Team Projects

There are two team projects in the course: A community architecture project and a final project.

Lightning Talks - Extra Credit

Every Friday for the first portion of class, any student has the opportunity to give a lightning talk on a topic of their chosing. Your lightning talk must be less than 5 minutes in length and must be at least remotely related to the course material.

All students will do at least one lightning talk. You will receive +10 extra credit points towards your final grade for every subsequent lightning talk you give. Only the first 2 lightning talks offered will be allowed during a given class. Talks will be chosen from among those offered by students on a FIFO basis.

Bug Fix - Extra Credit

You can earn extra credit by successfully fixing a bug in a FOSS project.

You will receive extra credit points towards your final grade for every pull request accepted by an independently-maintained project against a pre-existing bug (eg, fixing new bugs you found, or even generated don't count!).

Send an email to the instructor with sufficient detail to confirm your bug fix was accepted.


RIT is committed to providing reasonable accommodations to students with disabilities. If you would like to request accommodations such as special seating or testing modifications due to a disability, please contact the Disability Services Office. It is located in the Student Alumni Union, Room 1150; the Web site is After you receive accommodation approval, it is imperative that you see me during office hours so that we can work out whatever arrangement is necessary.

Academic Integrity

RIT Honor Code

RIT Academic Integrity Policy

You can’t perform that action at this time.