Have you ever contributed to an open source project?
You’ve probably seen contribution days listed during conferences, talked to developers who have made their own contributions, and had your own ideas about what would work best for the future of a project. But have you actually contributed?
Contributing to an open source project is one of the best ways to learn more about it, become a member of the community, and influence its future. Without contributors, the project probably wouldn’t even exist.
That's why we’ve prepared a short article on why you should be contributing to the Magento community – and how you can.
Why Contribute to Open Source?
Contributing to open source is one of the best things you can do to give back to the community. For many open source users, they’ve been given access to a free product with a large team of developers working behind the scenes to make sure it’s production ready.
Eventually, giving back to that community is going to become a priority. If not to support the community and its continued existence, then to influence its development and future direction, or to just become an active part of that community.
That’s not all. Contributing is a great way to learn about the software you are using. For Magento 2, this means becoming an expert in how to optimize and take full advantage of its functionality as an ecommerce platform. By being a contributor, you will probably gain a better understanding of the ecommerce platform than devs that just create sites.
Important Contribution Considerations
If you’re thinking of contributing to Magento - or any open source project - there are a number of things you should consider.
Firstly, you need to bear in mind that open source projects are community driven. People contribute to them: not robots. For this reason, it’s important to maintain a level of respect and professional courtesy at all times. This means more than just being polite in your interactions; it also means checking your code.
You should not be sending pull requests for code you haven’t checked yourself. Test your code before submitting it. And don’t just gung-ho your own, if there are templates or guidelines: follow them.
Templates are vital because without them open source projects can quickly descend into chaos. Magento 2 is one of the largest ecommerce projects out there. There are over 1000 contributors, thousands of open issues, and over 240 pull requests every month. Without some kind of coordination, the Magento 2 community would quickly struggle to continuously deliver high-quality and much-needed updates.
How to Contribute
So how do you actually start contributing?
The good news is that you don’t have to be a coding mastermind. Typos and translations are also vital parts of the contribution process, and can go a long way in developing the project.
The first step though, is to fork a GitHub repository and start working on something. This will give you insight into the contribution process and how it works. You don’t have to commit anything to begin with – just play around and get comfortable with the process.
For Magento 2, you’ll find CONTRIBUTION.md in the root directory. Here, most current contribution needs are covered. By joining the community engineering Slack channel, you’ll also be able to have a direct and clear line of communication to other developers and community maintainers.
Ready, Get Set, Go
So, are you ready to get started?
Make sure to bring any questions you have to the incredible Magento community members. Each and every one of them will help you to become an even better contributor and ultimately build on and make Magento 2 community edition even better than it already is.