What is contributing to open-source and how to contribute to open-source programs 2023
Table of contents
No headings in the article.
Depending on the project you're working on, contributing to open source may be frightening and perplexing. Additionally, the majority of large open-source projects have a steep learning curve. However, as proven, there are many chances for newcomers to enter and prosper in the industry.
What is Open-Source?
Open source is a term that originally referred to open-source software (OSS). Open-source software is code that is designed to be publicly accessible—anyone can see, modify, and distribute the code as they see fit. As it is developed by communities rather than a single author or organization, open-source software is frequently less expensive, more versatile, and more long-lasting than its proprietary counterparts.
Many open-source projects are hosted on GitHub, where you can access repositories or get involved in community projects. Some well-known open-source projects include Linux, Kubernetes, Django, Postgres, MongoDB, Vue, Go, Ruby, TypeScript, Git and so many more.
Why contribute to open-source?
Although the primary goal of open-source projects is to provide valuable and accessible open-source software, individual contributors can derive several personal benefits from their participation. You contribute to the maintenance of the applications you use while refining your technical abilities. When applying for jobs, you can use your contributions to open-source software as evidence of your talents.
One of the major advantages of contributing to open-source is networking. Soft skills like communication, giving and accepting feedback, emotional intelligence, etc., can be gained through participating in open-source communities and collaborating on projects. You'll meet a lot of interesting people in these groups, many of whom may be able to provide you with useful contacts.
How to start contributing to open-source?
There are a lot of ways you can participate in open source. As a beginner, you could identify and fix bugs in a project.
One of the best ways to contribute to open-source can be by writing/improving documentation of open-source projects. Generally, on GitHub, issues labeled as ‘Good first issues’ are beginner-friendly issues. Often, even the big OSS lack proper documentation and you can surely contribute to it by improving.
On GitHub, most of the projects generally have a README.md file or CONTRIBUTING.md or a docs folder that contains some basic introduction to those projects and how you can contribute to them. Before finding repos to contribute to, get hands-on knowledge of Git commands and the GitHub platform). Get a basic understanding of:
how to fork the repo
how to make commits
how to merge commits
how to raise a pull request Among many other Git/GitHub concepts, these are some of the most important. Now I’ll tell you about some open-source programs, their selection process, criteria, etc.
Open-source programs to contribute now…-
- Google Summer of Code (GSoC)
Google Summer Of Code is a program that pairs students with mentors. It was started by Google in 2006 to bring more people, especially students, into open-source communities by connecting them. Usually, the program starts in January, when Open-Source Organizations apply to be a part of it.
Forty days after the initial application process, the results of which organizations were chosen are made public. You can find these organizations here. Now it's time for the students to fill out their applications. Once the Organization's results are out, after about 20 days, the students will be able to start the application process. These applications/proposals generally need to be quite descriptive and should portray the student’s will to contribute to the organization. One good point while writing the application which can increase the chances of selection could be giving a proper timeline of how you are going to work on the project in the given timeline.
After the application period is over, the organization looks over the student proposals and chooses the winners. As soon as you were chosen for the program, your GSOC journey officially began. GSoC generally provides each student with a good stipend which depends on the country they live in.
- MLH fellowship
MLH fellowship is a fully remote, 12-week internship where participants earn a stipend and learn to collaborate on real open-source projects with peers and engineers from top companies. There are 3 tracks to participate in the MLH fellowship namely – Software Engineering, Production engineering (site reliability), and the newly announced Web3 track. All these tracks involve open-source projects. The selection process can be divided into 2 significant steps –
Writing an application In this application, you generally write essays as to why you want to be an MLH fellow, your past experiences related to the open-source or hackathon you participated in, and give a code sample which is generally a project on which you worked earlier and is hosted publicly on GitHub. Once your application is selected, there are 2 interviews.
Interviews These interviews are restricted to 45 minutes where in the first interview, the interviewer asks some questions related to the code sample you shared. These questions never include strange Leetcode DSA questions but rather include questions solely based on the code that you have written in the code sample you provide. In the next and final interview, the interview generally asks HR-type questions which are non-technical questions. Here you are generally asked why you want to be an MLH fellow, etc.
- The Linux Foundation Mentorship Program
The Linux Kernel Mentorship Program offers aspiring Linux Kernel developers a structured remote learning opportunity. Experienced Linux Kernel developers and maintainers mentor volunteer mentees and help them become contributors to the Linux Kernel. The Linux Kernel Mentorship Program includes three 12-week, full-time volunteer mentee positions, and two 24-week part-time volunteer mentee positions each year. Now let's discuss its application process.
Create a mentee profile on LFX mentorship.
Check Mentorship Program Schedule and pick a term that works the best for your work/school schedules and plan for participation.
Complete the A Beginner’s Guide to Linux Kernel Development free e-course.
Subscribe to the Linux-kernel-mentees list
Join the kernel mentee’s IRC channel
- Google Season of Docs (GSoD)
Most of us get bored with open source because we think it's all about coding and programming, but Google made something great for non-coders and people interested in writing software documentation: Yes, it's real. Season of Docs helps open-source projects improve their documentation and gives professional technical writers (don't worry, students can also apply) a chance to learn about open source. Together, you can bring more attention to open source, docs, and technical writing.
- Julia Season of Contributions
The Julia Seasons of Contributions (JSoC) are seasonal programs that pay students and other developers to work on open-source projects and/or help them learn how to do so. Click here to learn more about the programs in which they take part and for which they accept applications from students. 6. Outreachy Internships
When trying to check after an open-source program not based on your knowledge but on the difficulties being faced take a look at Outreachy. Outreachy is a diversity initiative that provides paid, remote internships to people subject to systemic bias and impacted by underrepresentation in the technology industry where they are living. Outreachy provides internships to work on open source. Key highlights of the internships are:
• 💵 Paid - $7,000 USD total internship stipend
• 🌍 Remote - both interns and mentors work remotely
• 🕰 3 months – internships run from May to August, or December to March 7.
- Hacktoberfest
Hacktoberfest is a month-long celebration run by DigitalOcean to celebrate and give back to open-source projects and software. The initiative is open to everyone, and the goal is to encourage everyone in our global community to contribute to open source. Open source isn't just for developers and people who code. It's for everyone! Hacktoberfest has recently started accepting no-code and low-code contributions, so everyone is included. You can contribute in various ways, including:
• Making code contributions
• Resolving an issue
• Writing and translating technical documentation
• Introducing a new feature in an existing open-source project
• Designing, video production and editing, and graphic design
• Advocacy by podcasts, case studies, blog posts, or social media posts However, you should know that Hacktoberfest prioritizes quality over quantity.
Thank you! If you have any doubts then feel free to ask them in the comment section.