Contribute to open-source
The aim of this post is to inspire beginners to contribute to open source. It does not matter if you have strong programming skills or commercial experience. You do not need to be familiar with particular technology or open-source project. You can start right away and contribute something useful!
This post is based on GitHub. There are other alternatives, such as GitLab and SourceForge, but the same concepts applies to all of them.
Why
You collaborate with others and become part of a community. The community greatly increases your network and opens up new opportunities. Besides technical proficiency, you can practice your communication skills, exchange ideas, and get out of your comfort zone to ask for help. Finally, you will learn the new things.
How
Here, we will take a look at the different ways to start contributing to open source. Among the most popular:
- Create new open-source libraries
- Design and implement new features
- Identify and fix bugs
- Pick up an existing issue from Issues list
- Documentation
- Testing
The first two can be tough to start, whereas the last two are the easiest ones. Documentation might sound boring, but it’s an entry point to the project. Contributing to docs is just like fixing the bugs when you move to a new project - it allows you to learn the basics and dive deeper. Moreover, you are learning about the project while using the existing documentation. This enables you to “feel the pain” and identify ambiguity, missing and/or outdated things, and in turn, you will know what needs an improvement right away.
You don’t need to know how to code or install/use the Git command-line tool. Simply follow the steps below using your browser:
- Navigate to GitHub and find the project of your interest
- Fork a repository
- Clone this forked repository
- Create a new branch, e.g. feature-fix-typo
- Make the necessary changes and Push the changes to GitHub
- Create a pull request from a fork to the upstream repository
Voila, well done! Your changes will be reviewed and either accepted or more follow-up changes requested. You are an open-source contributor and making the world a better place, for free.
Best practices
-
A majority of projects will have their own code of conduct that highlights the community rules, code standards and quality gates. Big projects will have the core team members listed and common procedures (how to build, test, run, etc.) explained. Be sure to check that.
-
Open-source teams encourage communication and often use the tools such as Slack and StackOverflow for questions and answers. Familiarize yourself with the aforementioned tools and do not hesitate to ask questions.
Final thoughts
This is a real-life example of the tutorial I’ve created just recently: Tutorial: Create your first WebXR application using babylon.js
While contributing to the MixedReality team, I’ve learned tons of new things, including BabylonJs and HoloLens 2, getting to interact with software engineers and evangelists from Product Groups, Program Managers, UX designers, and Marketing. This opened up new prominent opportunities and further contributions to the entire MixedReality documentation portal and Azure Architecture Center.
Next steps
Open source is certainly a great way to make things for others and turn ideas into life. You do not need specific knowledge to make a contribution. Go ahead and make you contributions. Here are some resources to help you get started: