Credits: 4 Instructor name: Samarendra Hedaoo
Instructor email: [email protected]
Teaching Assistant name and contact info:
- Souvik Das: [email protected]
- Pushpak Vijay Katkhede: [email protected]
- Ashish Tulso Ramrakhiani: [email protected]
Please always prefix your email subject with [CS464] when emailing us.
GTA & ULA Office hours will be announced during the first week of the term.
For Instructor office hours, you can schedule a 1:1 Zoom call with me by booking a timeslot from http://tinyurl.com/meet-samarendra Links to an external site.. If none of the timeslot listed on this link work for you, email me 4 timeslots in Pacific Timezone that work for you and I will send you a calendar invite with Zoom link for one of your preferred timeslots. I am not available much on Teams but if you drop me a message there, I will try and get back within the day.
This syllabus and schedule are subject to change in the event of extenuating circumstances.
This course provides a theoretical foundation of the history, key concepts, technologies, and practices associated with modern Free and Open Source Software (FOSS) projects, and give students an opportunity to explore and make contributions to FOSS projects with some mentoring and guidance.
Prerequisites: CS 261/CS 361
If you experience any errors or problems while in your online course, contact 24-7 Canvas Support through the Help link within Canvas. If you experience computer difficulties, need help downloading a browser or plug-in, or need assistance logging into a course, contact the IS Service Desk for assistance. You can call (541) 737-8787 or visit the IS Service Desk Links to an external site. online.
Producing Open Source Software Author: Karl Fogel. 2nd edition (2020) available online at https://producingoss.com/ Links to an external site.
At the completion of this course, students will be able to:
- Describe the differences between Proprietary Software and Open Source Software
- Describe the historical evolution of the Open Source movement, society’s adoption of Open Source software, and the wider technical and societal impact this has had.
- Explain what tools an Open Source Project needs to support distributed development work, and how projects are organized
- Analyze the different Open Source licensing models and their affordances
- Choose, join, and make a technical contribution to an existing Open Source project
Schedule for the term
Week | Topic | Due Tues | Due Fri |
---|---|---|---|
1 | Syllabus, intro and expectations | Syllabus Quiz (will remain open for late adds) | GitHub Homework, Discussion 1 |
2 | Anatomy of an OSS Project | Documentation | Assignment 1 Proposal |
3 | The economics of OSS | Assignment 1 - Project design, Discussion 3 | |
4 | Intellectual Property, licensing | Assignment 2 Proposal | Quiz 2, Discussion 4 |
5 | Testing | Assignment 2 - Documentation, Discussion 5 | |
6 | Project management, OSSDLC | Assignment 3 Proposal | Quiz 3, Discussion 6 |
7 | History of OSS | Discussion 7 | |
8 | FLOSS Skills | Assignment 3 - Testing | Discussion 8, Issue Link |
9 | OSS and Society | Contribution proposal | Quiz 4, Discussion 9 |
10 | Tools and Trends | Make-up Discussion | |
Finals | Final Contribution Report |
Holidays this term (offices closed, GTAs/ULAs/instructors won't be working): Monday, May 27th (Memorial Day)