Open source projects are a key component in any developer’s life. Whether you’re reusing open source code in your own code or finding new ways to solve problems, open source is probably accompanying your work on a daily or weekly basis. But with millions of projects and forums out there, it might be a difficult sphere to navigate in and to utilize.
Investing time and effort in open source projects will improve your programming skills and help you advance your career as many companies look for developers who have experience in open source and who can contribute. So we’re here to help.
Here are 5 actions you can take to develop your open source skills, to ensure you’re making the most out of what this field has to offer to you.
1. Brush up on specific languages
2. Learn about open source licenses
Open source licenses are the contracts that determine the conditions of using the open source software. Some licenses enable completely free usage, others require giving credit in the product or project the software was used in, others still only allow using open source in open source projects, i.e not for commercial usage.
To be on the safe side, if you are developing a product for a company it is recommended to use the MIT or BSD licenses, and to stay away from the GPL and AGPL licenses.
3. Dive into documentation
An important aspect of open source has nothing to do with programming: it’s the documentation and knowledge sharing. These enable others to understand, reuse, modify and improve the code. No open source project is complete without proper documentation explaining how to run the code, how to contribute and some examples and use cases.
A very valuable way to contribute to open source projects is by adding to their documentation. This is especially true because documentation is often overlooked, but it is always very needed. This could also be a more comfortable first step into a project, before adding lines of code. You can also use Swimm for project tutorials, which is free for open source tools.
If you’re not comfortable writing in English yet (according to a recent GitHub survey you’re in good company along with 25% of the open source community that reported to feel the same), it’s also a great opportunity to improve your English.
4. Navigate the code
Many times developers onboard Open Source starting from projects they really liked or previously used for their work. While it's not easy to just browse through open source projects on GitHub and read the code or its key files it's a way to start navigating this arena.
Doing this, you will learn to identify and filter better and more advanced projects that you would like to contribute to or reuse in your own code. It’s important to remember that open source code is not flawless, and reusing code also means reusing its weaknesses. Browsing multiple projects will ensure you are choosing high quality code, or that you know how to modify it when using it. This will also help you get acquainted with the projects that are out there and the existing gaps.
Bonus for advanced learners: Read the Pull Requests. See what additional developers have to offer and what the responses were.
5. Improve your testing and debugging skills
Just like any piece of code, open source code requires constant testing and debugging. Whether you’re building your own project or contributing to another, testing and debugging are important parts of it. So learn how to run different kinds of tests, from unit to performance, and how to debug your code (check out rubber duck debugging). This will also be a contribution to others' code and also help you program better - when you see what fails you’ll be able to avoid the same mistakes in your own code.
Take part in the open source community
A major super power of open source, at the end of the day, is its community. Get to know its influencers, engage in online discussions, attend meetups, and more. Just as important as the tips we listed, it will also provide a good laugh - as many of these contributors are witty and funny.
We hope you found this list of actionable items helpful to you. We recommend choosing one and starting to work on it today.
To learn more about Swimm, sign up for a 1:1 Swimm demo