SOUTHWORKS Dev Team
December 20, 2018
An “open source” project is a development, whose source code can be accessed, modified, shared or used by anyone for different purposes. The public access and contribution keep these projects always updated, and also makes them very culturally rich, since people from all over the world, with different cultures and languages, work in them. The project’s license protects the project and set the rules on how it can be modified and/or used. Microsoft uses the MIT license for most of their open source projects, which is one of the most used licenses by other big companies. However, not all projects use this license as there are many kinds of them with different rules, which you can check out here.
Despite this, not everyone feels capable of participating in an open source project. It might seem like something very distant or hard to do, but in fact, it’s nothing like that. Furthermore, the diversity of opinions, cultures, and ways of working are the prime factor that makes the acceptance of open source projects within society.
In this article, we’ll look through some tips to encourage you to contribute to an open source project with worthy collaborations.
I was never a huge fan of open source tools until I saw the possibilities. As for example, the inclusion of Asian writing support by the addition of vertical text boxes. Until that contribution, it never crossed my mind including support for that culture in any way. These kinds of contributions, done by people all over the world, help overcome physical and cultural barriers. This makes them better than any private development, in which only a few decide the roadmap and how inclusive the project will be.
When my lead told me that I was going to work in an open source project, the first thing I thought was “I’m going to work in an open source project, but my company pays me for it”. Contrary to the idea that all contributions are from non-paid people, many software companies work along with the project maintainers to keep it up and help them prepare everything for future releases. Most of the well-known open source projects (like TypeScript or Visual Studio Code) follow this practice as well.
I began by reviewing the project issues and trying to reproduce them. At first, I thought it’d be hard to get the collaborators attention, as there were many open issues and PRs. However, I was surprised by how quickly they answered. The members’ main purpose was keeping order by tracking every update. In addition, open source projects have rules that help the inner organization.
A few months later, I started to review new features and fixes that people submitted to the project. I was very nervous because I thought “I’m not as experienced as the project maintainers to review others work”. I made a small review with a few naming corrections and… it was very well accepted by the community! This experience taught me that you don’t need to be an expert to contribute to an open source project.
No matter your skill, there are many ways to contribute and support is always appreciated.
There are many tasks that can be done without knowing how to code. For example, cleaning up the documentation and testing requires a lot of organization, and don’t involve programming. These are tasks that anyone can do (and many developers don’t want to). You just have to download and install the project to start testing it.
In an open source project, you can learn a lot from very experienced programmers. Most of the maintainers are well known and skilled at what they do. Moreover, they will review every commit you push to the repo and they will help you improve your code. It’s a win-win because you’ll improve your programming skills and the project will grow from your contribution.
Nobody can’t know it all, especially in this profession, where everything changes so quickly. You can still learn from developers that work on different kinds of companies all over the world! Don’t close up to that opportunity. Also, contributing will give you an extra status, which is very appreciated when it comes to new job opportunities.
There are different types of open source projects, but the most common and the one we will focus on in this article is the developer community (You can read about other types here). These projects were either initiated by an individual or by an organization, such as a software company, a public administration, or a university. It has a project owner, a group of maintainers, who are responsible for managing the information and communication flow within the project, and a huge group of contributors. These contributors participate in the development process because of diverse motivations and follow different goals, as for example, ideological motives, develop a feature desired by the contributor, among others.
In this kind of projects, maintainers organize releases, prioritize the work, give contribution guidelines and review the submitted PRs. However, these roles are not exclusive, and it’s pretty common seeing contributions by the project maintainers. Sometimes, they’ll even be amongst the most active contributors of the project.
Most projects have what you need to know to get started outlined in several small documents. You should start by reading these.
Working on open source projects is a nice way to learn new skills. The OS community works every day asynchronously, and their members are looking for more contributors to expand themselves even more.
You may feel oblivious to the idea of contributing to the world of open source because you know little or nothing about programming, or you do not want to commit to working for free. However, you can contribute no matter your skills and it’ll help you grow as a professional.
I hope this article helped you clear your doubts about this way of working and motivate you to contribute. It’s a huge community that is constantly looking for volunteers, and your help will be very welcome.
If you want to start contributing and you don’t know where to start, you can start by checking out the Windows Community Toolkit repository and look for issues labeled as help wanted, or you can find more information and projects here.
Thanks to Nicolás Bello Camilletti and Kevin Bronstein
Originally published by Barbie Martínez for SOUTHWORKS on Medium 20 December 2018