Why Open Source Your Project?
When you create a new repository on GitHub, it gives you the option to make your code public or private. Public code (aka open source code) is visible to anyone, while private code is only visible to you. If you’re just getting started on a new project, it may be tempting to select the “private” option. After all, it can be intimidating to know that anyone can look at your code! However, there are some compelling reasons to click that public button and make your projects open source.
Improving Your Coding Skills
Maintaining an open source project will encourage you to develop your coding abilities in ways that a private project won’t.
First, the fact that there are other people looking at and contributing to your code will help you develop and maintain best practices. If you were building a project by yourself, you might be tempted to write quick, messy code or skip things like automated tests – after all, nobody else is going to see your code, and you can fix it later! However, if there are other people trying to understand your code, you might think twice about committing code that is untested or hard to read.
In addition to writing code, maintaining an open source project will force you to read other people’s code. For example, whenever someone creates a pull request, you will have to read their code to understand how it works. This is actually a great way to improve your own coding ability – reading other people’s code may teach you new techniques that will help you become a better coder in your own right.
Between implementing coding best practices and reading the code of other developers, maintaining an open source project is a great way to advance your technical skills.
Becoming a Better Communicator and Collaborator
Many people think that coding is a strictly technical skill, but there are many “soft” skills that are crucial to coding.
Communication is essential to the success of an open source project. To attract new users and collaborators to your project, you must write documentation explaining what the project does and how it works. If you want a contributor to fix a bug, you’ll have to write a detailed issue explaining how to replicate the problem and how to tell if it’s fixed.
Speaking of contributors, maintaining an open source project can give you practice collaborating with different kinds of people. Contributors to your project will likely come from different backgrounds than you. They will have different communication styles, and some won’t even share the same native language! Learning to collaborate with many different types of people will make you a stronger developer and grow your professional network.
Unlike creating a private project, open sourcing your code will help you exercise your communication and collaboration skills.
Job Searching and Career
Maintaining an open source project can also have a tangible impact on your career.
If you work as a professional developer, having code that’s publicly available can help distinguish you amongst other candidates. Maintaining an open source project not only proves to hiring managers that you can write code, but also that you have strong problem solving and communication skills. While even small open source projects can provide reputational benefits, those benefits only increase as a project becomes more well-known.
Open Source at Work
If you already work as a professional developer, you may think that maintaining an open source project is something you can do only in your free time. However, many companies are embracing the trend of building their software in the open.
For example, Codecademy has quite a few open source repositories, including their community-maintained documentation and gamut, their frontend design system. Some companies even operate entirely as open source. For example, Forem is a company that creates software to help build online communities. Their entire codebase is open source and available on GitHub.
Companies that open source some or all of their code not only allow their current employees to reap the benefits of maintaining open source projects, as mentioned earlier in this article, but they can also use it to their advantage while recruiting. Candidates can see first-hand what they might be working on, which will get them excited about the hiring process. Repeat contributors can also be hired and brought onto the team with less onboarding than someone who is completely unfamiliar with the code.
While open sourcing your code can be daunting, it can also provide many benefits, from improving your communication, collaboration, and technical skills, to making you a more desirable candidate. Building open source at work can help your team attract candidates who are excited about what you’re building.