Git Intern Week Seven: Finding OpenSource Projects to contribute to.
One common question I get asked a lot is, “How do I find Open Source projects to contribute to?” and “How can I start contributing to Open Source?” There are many approaches to this. One could be looking for projects that you use and contributing to them. A simple approach I recommend is applying to Open Source internships through programs like Outreachy, Google Summer of Code, Linux Fellowship Mentorship, Summer of Bitcoin, etc.
These programs bring together different Open Source projects. These projects are typically well-known, such as Git, Python, and Linux, among many others. The Open Source projects have to apply to join these programs. While applying, some of the most experienced contributors in these projects volunteer to mentor anyone interested in joining. So, programs like Outreachy provide a platform for you to connect with different Open Source projects and experienced mentors.
To get started, you need to apply to these programs (note that they have slightly different application methods) and gain access to various Open Source projects, including the ones you may already use or are interested in. You will also have direct access to experienced contributors, sometimes even the creators of the projects you use daily.
Some of these programs do not require an application before you can access Open Source projects and mentors. These programs have a period called the contribution stage, where everyone is welcome to contribute and get mentored by experienced contributors. During this period, you can look for projects that interest you, follow the instructions, and join these programs. However, if you want to officially participate in any of the programs, you must apply and follow their instructions.
The reason I recommend this approach to getting started in Open Source is that different Open Source projects are listed in one place, making it easy to browse through them and select one that interests you. Since mentors volunteer to guide contributors during this period, and many others are starting their journey alongside you, there is always plenty of help available for making your first contributions. If you apply to any of these programs, you might also feel motivated to contribute (though this should not be your main goal) even when challenges arise.
Update on My Outreachy Internship
I was involved in a discussion about whether to introduce a separate os-version
capability or include the OS name within the existing agent capability, similar to the User-Agent in browsers. The conclusion was to have the OS name within the existing agent capability. This means I will be dropping some patches and creating a new one. In fact, I have already done this and sent it to my mentor for review. Hopefully, it will get accepted this week.
Next Steps
I will keep working on the patches until they get accepted. Additionally, I have started working on removing the use of the global variable the_repository
in the Git codebase. I encountered some bugs (segmentation faults). My approach to solving this is to study previous patches submitted by other contributors and get more hands-on experience with these issues.
See you next week!
Follow my Patch discussion here :- https://public-inbox.org/git/xmqqed0sxdiz.fsf@gitster.g/