What is open source?
“In real open source, you have the right to control your own destiny.” — Linus Torvalds
Open source software provides users with the freedom of code sharing, modifying, and redistributing. Most open-source software is available for free (this may not always be the case) hence commonly coined as Free and Open Source Software (FOSS).
Open source software is widely adopted — Linux, VLC, Firefox, Android, Wordpress, and NodeJS are a few examples. Large multinational companies use open-source software one way or another. You may be asking yourself, “Why should I care?”. Well, imagine the creator decided against open-sourcing it; imagine if you had to buy or rent a programming language to learn how to code. Scary right?
People prefer open source software over other proprietary software for several reasons. It provides control, stability, and security to the users. Linux is far less likely to get a software virus compared to Windows, which isn’t open sourced. Linux is still managed by its creator, Linus Torvalds, and has contributors from all over the world improving it every single day.
Where do I begin?
“There are no secrets to success. It is the result of preparation, hard work, and learning from failure.” — Colin Powell
My experience with open source organizations is that they are always willing to help, support, and guide you. There are often public channels like Slack, Gitter, and mailing lists to discuss issues and take part in discussions with the overall community. Listed below, are three different ways I got involved with open source.
Use the product
You should be familiar with the project you want to work on. For example, you will find it difficult to work with WhatsApp’s software if you don’t know what blue ticks mean. So the first thing to do is to get familiar with the use case and intricacies of the product.
Join the conversation
Interact with the community and ask your questions on the public channel. Be patient if they don’t reply instantly. And most importantly, be polite. Attending open-source events is another way to meet fellow contributors and interact with community members. Meeting people from around the world teaches people to respect opposing perspectives and opinions, and ingrains in them with respect for their peers. Working on various open-source projects has helped me grow and mature as a developer.
Start solving issues
Start by solving minor issues mentioned for the project and work your way up. You do not have to be an expert in the technologies used in the projects. There may be a learning curve involved, however, you must have the will to learn and give it your best.
Open Source programs for all
“Open source is a development methodology, free software is a social movement.” – Richard Stallman
Google Summer of Code (Google Summer of Code)
Google Summer of Code is a global program that encourages open source development among college students. It matches students up with free software and technology-related organizations to get students familiar with the open-source community and helps them put their summer break to good use. The organizations also provide mentors to guide participants through the entire process. Accepted students gain exposure to real-world software development and employment opportunities in areas related to their academic pursuits. Participating organizations can identify and bring in new developers. Best of all, more source code is created and released for the use and benefit of all; all code produced as part of the program is released under an open-source license. The fact that you get to write code that people from all over the world can use — how cool is that!
Outreachy is a program that provides internship opportunities twice a year. People can apply from all over the world and work remotely for the three-month internship program. The motive behind Outreachy internships is to promote diversity in tech, support people from underprivileged groups & underrepresented community in tech. Anyone who faces systemic bias or discrimination in the technology industry of their country is invited to apply. It provides a platform that helps the newcomers to start contributing to free and open-source software.
The MLH Fellowship is an internship alternative for software engineers where participants can contribute to Open Source projects used by companies around the world. You’ll work on Open Source projects with a group of 10 students under the guidance of a professional mentor, participate in workshops, lunch & learns, and hackathons designed to teach real-world skills.
Google Season of Docs
Google Season of Docs is an annual program organized by Google to bring technical writers together with open source organizations where they work on improving the documentation of projects. We know that documentation plays an important role as it provides an avenue for users to understand the project and make contributions to it. During the program, technical writers spend 3–5 months working with the documentation for tutorials, guides, etc for the open-source organization.
My Experience with open source
My involvement with the open-source community has surely enhanced my programming and communication skills. Open Source projects are designed, implemented, and maintained in a way that always teaches you how an enterprise-level project should perform in real sense. It provides a feeling of truly working in the industry. It also helped me develop qualities like teamwork, helping nature, and stick to coding standards. Open Source is also a great way to meet industry experts working at amazing companies. This leads to networking, which is crucial when asking for referrals to internship and full-time roles.