Open Source Software Development

CSCI-UA.0480.61

Shortcuts | Blogs

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:

  • General: Customize color theme.
  • Homepage: Hide video suggestions; Customize homepage layout.
  • Navigation bar: Customize color; Redirect YouTube logo; Hide buttons and sections.
  • Video player: Customize the scrubber and progress bar; Customize video player layout.

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.

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.

Other Contributions

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