Community mailing list archives

Re: Proposal to review the OCA contribution guidelines

Camptocamp SA, Yannick Vaucher - Camptocamp
- 08/13/2014 08:36:24

"barriers" such as PEP8 are there to ease the maintainability of a module.

It's not difficult to follow such line of conduct flake8 helps a lot. And OCA members are there to tell the commiter what exactly they need to change.

I think that one of the aim of OCA is to improve module's quality. And to improve functional quality you also need a good code base as you will need to maintain your code for that.

PEP8 can detect unused variables and unused import in you code which can obfuscate your code. It can detect long lines which can wrap and break indentation readability or be cut on small screen or when having two source file side to side (for diff and merge conflict resolution for exemple) opened in your prefered IDE.

With travis on github, PEP8 is now automatically checked and this means all old modules will be slowly but surely become PEP8 compliant.

PEP8 gives strong guidances to have a better readable and maintanable code. Despite you seams to have an other opinion, most (if not all) of OCA members agreed on this.

Have you ever tried to run flake8 on your modules ?


On Wed, Aug 13, 2014 at 2:03 PM, Luc De Meyer <> wrote:

Dear Odoo community members,


I have been following a number of mail threads recently and I think that we are navigating in the wrong direction.


I’ll make myself clear by rephrasing the OCA mission statement and an example of where it goes wrong.


The OCA mission (cf. ):


“The Odoo Community Association, or OCA, is a nonprofit organization whose mission is to support the collaborative development of Odoo features and promote its widespread use.”


My understanding of ‘features’ is ‘functionality’.

Our focus should be on stimulating the community to contribute new functionality and to improve existing functionality.

Based upon a few mail threads, we are currently adding barriers to contribution in stead of stimulating it.


I’ll illustrate my point via the following thread:  OCA/maintainer-quality-tools#46.


The OCA guideline is that new contributions should be PEP8 compliant.

This guideline adds an extra barrier to people who want to contribute modules.

Why should we reject modules that comply to the following criteria

-          The module adds extra functionality

-          The module is compliant with the coding practices of the EDITOR (not the OCA)

-          The module is compatible with the standard modules from Odoo


We are adding modules on top of the Odoo suite of business applications. None of the modules from Odoo  are PEP8 compliant.

The vast majority of the current OCA modules are not PEP8 compliant.

Since I am working with OpenERP/Odoo (5 years now) I have never seen an RFP nor a customer demand to deliver a PEP8 compliant solution.

Hence why should we add this extra barrier ?

I personally find it hard to motivate myself to restyle a module that is working fine for many years in order to make it PEP8 compliant (with the ‘punch card age’ line length limitation as the most extreme one since I don’t like to spend even a minute of my time in order to make code harder to read and maintain).


Kind Regards,

Luc De Meyer

Rusatiralaan 1, 1083 Brussel

+32 2 808 86 38


<img border=0 width=96 height=33 id="Picture_x0020_1" src="cid:image001.jpg@01CFB6FE.C4114BD0" alt="cid:image002.jpg@01CE271A.FF53FB90">


Post to:

Yannick Vaucher
Business Solutions Software Developer

Camptocamp SA
PSE A, CH-1015 Lausanne
Phone: +41 21 619 10 30
Office: +41 21 619 10 10