Week 5

Evaluating Open Source Projects

Contributing to open source projects can be a huge commitment, so it’s important to be informed before you jump in. This week we explored how to effectively evaluate a project and decide if it is something worth contributing to, which was a very valuable experience.

My team evaluated the Atmosphere project, which is a custom firmware for the Nintendo Switch. This is a reasonably popular project with over 15,000 stars on GitHub, so I expected it to be very well organized and easy to jump into for people with experience on this type of project. However, I was surprised to see that Atmosphere’s repository was relatively limited in terms of material for contributors. Firstly, I must acknowledge that I have very little C++ ability and even less knowledge of working on real operating systems, so Atmosphere was already out of the question for me as a potential project to contribute to. From what I could tell though, there was not a great deal of material available for those who could actually contribute. There is no code of conduct or contribution guidelines (styleguide etc.), and the development environment instructions were very short (although they linked to another site with more details). The issue tracker also was not very beginner friendly, as the “Good First Issue” label had no issues, open or closed, in it. They do have a Discord server for the project which is likely more active and perhaps a bit more informative than the repo, but from what my group looked at Atmosphere did not seem like a great project to work on.

As we get closer to picking a project to contribute to for the rest of the semester, it is definitely a bit stressful trying to decide what to work on. Jumping onto a large codebase and submitting code to people we don’t know is new for many of us, and it is a big decision choosing what to work on. With that being said, I am looking forward to finding a project and making contributions.

Written before or on February 23, 2025