Week 5 Evaluating Open-Source Projects

Thoughts about different projects that you have looked at so far

After exploring multiple open-source projects, I realized that none of them would be suitable for my contribution project. The main reason is that the projects I examined, such as VS Code and various Python-based repositories, are highly complex and require extensive prior coding knowledge. Many of these projects have a steep learning curve, involving intricate system architectures and advanced programming concepts that go beyond beginner-level contributions. Therefore, it might be hard to find an appropriate project at first.

What are you most excited about regarding working on an open-source project?

This is my first experience contributing to an open-source project, and I am excited to see my work merge with others in a real, live project. Unlike school assignments, where I work individually, open-source development allows me to collaborate with a community and contribute to something meaningful. It’s exciting to know that my code could be used by others and have an actual impact. This hands-on experience will also help me better prepare for the workplace by exposing me to real-world workflows, coding standards, and collaborative development.

What do you think will be the biggest challenges?

  1. Understanding the codebase – Even though I major in Computer Science, real-world coding is very different from what we learn in school. Many projects use complex libraries and frameworks that I may not be familiar with. Even in Python, which I know, there are advanced implementations that I might struggle to understand. The first challenge will be reading and understanding the workflow of an open-source project.
  2. Version control manipulation – This will be my first time using Git commands extensively. While learning what each command does is one part, I also need to manage potential issues like merge conflicts, which can be tricky for beginners.

How do you plan to overcome these challenges?

For the first challenge, becoming proficient in a programming language in a short time isn’t realistic, so I will start with projects that don’t rely too heavily on complex coding. I’ll also focus on projects written in languages I am already familiar with, such as Python and Java, to make it easier to contribute. For version control, I plan to practice Git commands in a controlled environment before making major contributions. I will also read documentation and follow beginner-friendly guides to better understand how Git works in real-world projects. By taking these steps, I hope to gradually build my confidence and make meaningful contributions to open-source projects.

Written before or on February 23, 2025