10 reasons to contribute to OCA

ERP is the crown jewel application of any organization. It is the backbone that runs the business, the more complex the business, the more functional features it requires. Thanks to the elegant framework of Odoo that allows extreme modularity, developers and the like can add new modules to extend its features with ease. But ease does not necessarily mean good. In the beginning there were a great number of modules available that fit the same purpose, not to mention many of them were buggy and at times of poor quality.

Odoo Community Association (OCA) was founded by a group of like-minded Odoo enthusiasts who saw a way to improve this situation. These are the people who face the real business challenges from their customers, many of which, Odoo S.A. at times hasn't realized. The OCA creates platforms that ease contribution and help promote the collaborations among thousands of users and developers. As a result, thousands of high quality modules that cross Odoo versions are continually being added and maintained under the OCA umbrella, these modules help to close the gaps between Odoo core packages and real life requirements.  OCA has become an indispensable part of the ecosystem.

There is no doubt that contribution is the best way to learn any open source software. By contributing to the OCA, a member has the opportunity to "give" to the community, as well as the opportunity to "gain" huge benefits by being part of the community. Below I will discuss some of the top reasons for being part of the OCA and why you should give it a try!

1) Level up you skill

You may think that you already know Odoo well, but trust me you still have much to learn. The OCA as a community has a great collection of talented Odoo developers and functional people from around the world. These individuals will continue to amaze you. Most people are more than willing to help. For sure, you will learn a lot of Odoo techniques, but more than that by joining the community you will also learn a lot of soft skills too - communication and collaboration, problem solving, English for non-natives, technical writing, empathy, leadership to name just a few.

2) Code reviews and bug fixing

Once you publish your PR to github.com/OCA, community members will step in to review your code. They will ensure that you are not reinventing the wheel. Many times you will be thankful to them when you learn that what you thought was good can be much improved. And, if your code passes the rigorous testing and finally gets merged into an OCA repository, you can rest assured that it will get continued improvement and be upgraded to the next version.

3) Build your own profile

If you don't know yet, Github is the best friend of IT Recruitment. If you have a lot of contributions here, you will get approached by many. Before you know it, you've already built up your own profile. I feel I have already proven this to myself even though I don't consider myself to be a good programmer yet - there is always more to learn!

4) Make friends with great people

You will be working with people from around the world. People who contribute are mostly lovely and open-minded. The OCA has many people like this, and the more you give, the more engagement you have with others. In fact, this is the main reason I like  being in an open source community which is so different than the proprietary one. We have to work hard anyway, I am happier to work with good people. The code sprints are a great way to spend time with your online collaborators in person.

5) Be inspired to be part of something bigger than ourselves

The OCA has the mission to promote Odoo and its contributions. They produce a lot of modules that will help support Odoo to become a world class ERP, yet is accessible by companies of all size. The OCA has a vision to become like a wikipedia for business applications and this is just the beginning. You can become part of this inspirational group and work with passion knowing you are working towards a greater goal.

6) Create sense of sharing within organization

Every staff member would hopefully want to work for a company that shares its good deeds to its society. Contributing to the OCA sends a strong message as such. Staff members with a mindset of openness and sharing are valuable members of your society, this makes a positive impact to your society if not to the world.

7) Use OCA's modern DevOps tools

Whether or not your code gets merged into OCA repositories, it will get quality reviews by various DevOps tools used in the OCA, i.e.

  • Code quality check, and auto correction (Linitng, Black, pre-commit, etc.)

  • Unit test coverage check (Codecov)

  • Build server and unit testing (Travis)

  • Test server for functional check (Runbot)

  • Translation platform (Weblate)

8) Use OCA to train and qualify new staff

By fully adopting the OCA, you can significantly reduce the time you use in training your employees, especially new programmers. New joiners can best learn Odoo by helping the community to migrate existing modules to the next version. They can benefit from code reviews by other OCA members, learn how to write Odoo code with high quality, work as a team using Github and most importantly, learn the sharing mindset.

9) Marketing without doing marketing

Some say "every line of code is a salesman" this is without a doubt. No need for sales small talk, every contribution you make will do the talking for you.

10) Deliver better and faster projects with OCA modules

Do not customize if you don't want troublesome projects. This is true, but never happens in real life. There are always gaps between standard Odoo and your customers' business needs. Every time you think it is the specific requirement, you find this doesn't exist, you then jump into endless customization, followed by endless bugs and support.
By adopting the OCA you get a new approach - use as many modules from the OCA first to lower your customization cost. Then, if you are sure there isn't a module to match your need, make a new pull request with the OCA. The rest, you customize.

These are the 10 reasons I choose to contribute to the OCA. At the beginning, you can be overwhelmed with what you will be learning while adapting your workflow. If you have too much work on the go or are not determined enough, you might give up before you can realize the true benefits of the OCA. Personally, I am convinced that the only way to efficiently work with Odoo is to contribute to the OCA.

Kitti Upariphutthiphong
Ecosoft, Thailand