Week 1

To me, “open source” means a project that is publicly available and allows users to make contributions or new forks of the project. This can be great because it typically means the project is free to access and use, it can be supported for much longer because if the original developers decide to stop maintaing the project it can be continued by others, and it can be easily screened for security risks. People can also use open source projects as the basis for new work, expanding on the original project’s ideas and bringing in new functionality that the original developers may not have thought of or were against implementing. However, open source comes with its own set of issues, as enabling anyone to contribute can pose security risks if not screened properly, developers often can’t profit off of their work and therefore have to develop open source as a hobby if not funded by donations, and any potential vunerabilities in the code are open for anyone to see and potentially exploit. Despite these problems, open source projects are an invaluabe resource and should be worked on.

As a student, open source is especially interesting, as it serves as an opportunity to contribute to significant projects outside of a professional environment and with limited resources. I have personally developed a few open source projects in my free time, which has helped me grow as a developer and build my resume. I think this class will be a good way to learn about the proper practices contributing to open source, as I am only self taught up to now, and I hope to make some meaningful contributions to a project.

Projects

Chromium:

Chromium is essentially inescapable (besides with Firefox, which is also open source), as it is the base for most modern web browsers such as Chrome, Opera, Edge, and Brave. I would consider it one of the most infleuntial open source projects of my time, and I use it every day.

Blender

Blender is a free open source 3D software that can be used to render images and videos, do VFX desgin, make assets for games, etc. Despite being free it rivals paid software such as Autodesk Maya in many areas and is widely used professionally. I personally use it for procedural design and creating mockups, and I use its integrated Python packages to develop scripts and tools for the program.

Atmosphère

Atmosphère is a custom firmware for the Nintendo Switch that can be used to run unofficial homebrew programs. Gaming console modding and homebrew have always been one of the more interesting applications of open source software for me, and Atmosphère is one of my favorite projects.

Processing Kinect

This is a project by an artist called Fingacode who was one of my main inspirations to learn about artistic coding and procedural tools. It is intended to be used as a backdrop for a musical performance and syncs the inputs of a MIDI controller to visuals generated by processing images from Xbox Kinect cameras.

Written before or on January 26, 2025