Open Source Software in Practice

CS4387.01
Course System Home Terms Fall 2024 Open Source Software in Practice

Course Description

Summary

The majority of complex computer systems are built on open source software. From webpages and blogs through to trillion dollar companies, open source software (OSS) is at the heart of these endeavors. Open source is simultaneously a license, rallying cry, political philosophy, and a practice of creation and curation. Popular examples of open source software include: the LAMP (Linux, Apache, MySQL, PHP) stack; the React, Node.js, Angular, and Vue.js web frameworks; the R programming language; and most widely used programming languages.  The course will balance lectures and reading on the history and present of open source (25%), learning about open source best practices (25%), and contributing to open source software (50%). Lectures and readings will cover the history and present of open source, such as the development of Linux, corporate influence on open source software, the meanings of various open source licensing, the xz backdoor, and similar topics.  The practical part of the course will include learning about open source best practices, reading code, and patching open issues in open source software. Students will spend most of the practical part of the course trying to write patches to fix known bugs and feature requests in open source software of their choosing.  Class is one 4 hour block and students are expected to do significant programming both in-class and between courses.  

Prerequisites

Interested students should:
- Apply directly to Michael Corey (michaelcorey@bennington.edu).
- Students should have fluency in one programming language and familiarity with a second.
- Students should also have an interest in doing collaborative programming, both pair-programming in class and working with the open source community.
- Preference is given to 4th years, 3rd years and students with a demonstrated ability to collaboratively write working code.

Please contact the faculty member : michaelcorey@bennington.edu

Instructor

  • Michael Corey

Day and Time

Academic Term

Fall 2024

Area of Study

Credits

4

Course Level

4000

Maximum Enrollment

12