Code and Share Your Module

1) Create your account on Github

To share your module to the OCA, you will need to create your account on Github:

  • Pick your username
  • Enter your email address
  • Create a password
  • and click on "Sign up for Github"
On the next screen, make sure to choose the Free plan and click on "Finish sign up".
Check your mailbox for a mail from Github to verify your email. Click on the link it contains and that's it! You can move on to the next step.
Odoo text and image block
Odoo image and text block

2) Determine the Repository

The OCA is organized by Project Steering Committee (PSC) and each PSC manages a web page, a mailing list and a set of repositories. 

Pick the project most relevant to host your new feature and subscribe to his mailing list to discuss it with other contributors. Make sure to introduce yourself by mentioning:

  • your name and location
  • your skills and background
  • your expectations and availabilities
  • the new feature
Once you know the  Github repository to host your module or bugfix, move on to the next step.

3) Fork it and clone it

To provide your new module or bugfix, you need to fork the selected OCA repository in your Github account or organization.

Once forked, you need to clone your fork on your computer and add it to your development environment.

The OCA provides or recommends different tools to make sure your code is compliant with the OCA Conventions:

Odoo text and image block
Odoo image and text block

4) Push your code and create a pull request

Once you committed your changes in your local branch, you can publish it by pushing it to your Github repository.

Read our FAQ to determine the best open source license for your module.

Once your branch is on Github, you can create a pull request against the OCA branch.

5) Compare your changes

Make sure to select the right destination branch for your contribution:

  • base fork: OCA
  • base: the Odoo version
  • head fork: your repository
  • compare: your branch
Click on "View pull request" to enter a description with a test scenario. This will help reviewers to have some context. If you specified your module, please add the link to the related issue.
Odoo text and image block
Odoo image and text block

6) Get your code merged

Your pull request will trigger:
  • CLA Bot to verify your CLA status
  • Travis to run our automated tests suite
  • Coveralls to compute the code coverage of the tests
  • Codacy and/or CodeClimate to provide a score of your code quality
  • Runbot to provide an Odoo instance of your contribution

Make sure they are all green to ease and fasten the reviewing process and fix your code based on the comments from other contributors.

Your code will be merged upon 3 positive reviews within 5 days (or 2 after more than 5 days). At least one of the review above must be from a member of the PSC or someone from the OCA Core Maintainer. Find more info here.