Open Source Software Development

Course information

  • Instructor: Joanna Klukowska.
  • Semester: Spring 2023.
  • Outline: The philosophy and brief history of open source development; Different types of open source projects, various tools involved in open source development; The collaborative nature of open source projects, community structure; Version control systems, licensing, intellectual property; Types of contributions (programming and non-programming); The tool-chains that enable such contributions.

Gradebook

Overall grade: A (4.00/4.00)

Item Grade Letter
Assignments A
Blogs A
Open Source Contributions A
Group Project A

Blogs

Blogs are required reflecting and sharing thoughts on the course contents. My blogs can be found at my course webpage.

Open Source Projects

YouTube Interface Customizer

YouTube Interface Customizer is an open source Firefox extension that allows the users to customize a wide variety of elements of the YouTube interface in their favor. We welcome anyone to use our project or contribute to our project! Specifications on how to contribute and the Code of Conduct and be found either in the documentation or in the repository. The full list of features can be found also in the documentation, and as follows is an outline:

To get a development environment, first make sure that you have the Firefox browser installed. Then clone our GitHub repository to your local device and visit the Mozilla Firefox debugging page about:debugging#/runtime/this-firefox in the Firefox browser. Click the Load Temporary Add-on... button and select src/manifest.json. Then you will be able to simulate an environment with this extension until you exit the browser.

There is also a self-distributed version here. Make sure you have a Mozilla developer account (you can sign up one here), and you are using the Firefox browser so as to use this link.

Scikit-learn

As the final project, I (along with two other teammates) contribued to scikit-learn, an open source Python library for machine learning. More details about my contributions can be seen here. Our final presentation summarizes our contributions during the second half of the semester and what we have learned.

Other Contributions

More minor open source contributions in this course can be seen here.