TL;DR : Since Odoo 9, it's more valuable for us to financially support the OCA association than the Odoo company. And it's better for our customers.
Anybox was founded in 2010 almost exclusively to provide professional services around OpenERP. At that time we were really excited by this tool, one of the rare open-source ERP available, one with a vibrant community of contributors, an innovative modular design, and an interesting pace of development, both on a technical and functional point-of-view. First of all, it was aligned with our main skills : business software integration and programming using the Python language.
That's why we decided to learn it, use it, master it and financially help the company that created it by immediately becoming an OpenERP partner. Then we contributed to the code, created some tools and modules, wrote articles, helped fixing the framework and the ORM, participated in most OpenERP events and became one of the leading Odoo service providers and community members.
We would first like to thank the Odoo S.A. team for all the work done, and for sticking so many years to an open-source model... until recently.
Odoo partner ?
To be frank, during the last five years the Odoo partnership has never been of any help for our business. We have had no real advantages, no included trainings, no database migrations, very few commercial help, no included functional or technical help, and a very small added visibility on the Odoo website. Actually we were just an OpenERP customer, a full part of the business model. That was really not a problem as we could afford it, and we were concerned about helping an open-source company win some market share on a very closed and competitive market.
The Odoo partnership was divided in 3 categories: ready, silver, and gold. It was based on a very simple criterion : the yearly income Odoo S.A. was earning thanks to us. Nothing about skills, certification, open-source contribution, code quality, success stories. No ! Nothing else than the turnover. For us, the total income we brought to OpenERP S.A. during the last five years is 33.000 €. Not enough to be gold partner during a single year. However if we counted the number of days spent contributing for free to the core, the modules and the community, we woud probably be a multiple diamond partner.
Today, being an "Odoo partner" is nothing more than being a "reseller". The business model around Odoo 9 has changed (again) and the product has turned into an LGPL "open-core", made of the old code base being slowly rewritten as proprietary modules called "apps". The open-source spirit is gone. Now we are definitely supposed to be salesmen...
We are developpers!
We are not resellers, we are engineers. Our job is to build valuable and innovative free software. We are interested in using, distributing, understanding, creating, modifying, and publishing modified and improved versions of software, without limitations, and without imposing limitations to our customers and users. That is no philosophy, that is no more politics, that is just how the world is slowly turning in the 21st century : a sharing economy with distributed actors collaboratively working on something larger than what a single individual or even company can afford to build alone.
Odoo was initially designed by a developper, for developpers. It was created with a very low level technical modularity as a goal, and low level technical knowledge is definitely required for it to work correctly. There is no chance it can turn into a successful proprietary black-box software only animated by a community of functional consultants and businessmen selling licenses and getting commissions.
We need a sustainable business
With Odoo, we have seen at least one disruptive major change at each release:
- The license has changed from proprietary, to GPL, to AGPL + private exception, to LGPL + proprietary.
- The branding has changed from TinySAP to TinyERP to OpenERP to Odoo.
- The business model has been adapted and experimented to whatever is possible with open-source software, sometimes pushing the limits to unknown territories from a legal point-of-view.
- The SQL data model has also seen disruptive changes, causing major headaches and loss of time and money for migrations.
- The user experience (client software) has changed from a fat client to a web client that has been rewritten several times, and the latest version is now proprietary.
- The programming interface has changed from a quite functional, low-level and explicit API to a quite magic active-record object-oriented API. The latter is much better and much welcome, but is the main source of a major technical debt for the customer installed base, and all the community modules.
The main problem is that despite a generally transparent communication, all these changes have looked like they were a bit erratic and unanticipated. That's the "lean startup" approach, you know? That's called "pivoting". The thing you are normally supposed to apply on the early stages of your startup, when your early assumptions are not confirmed by experience. Not after 10 years when you have thousands of customers managing their daily business with your product.
Customers expect a sustainable product, with seamless upgrades and a long term support, and should have the choice to delegate the main job to any service provider, without being locked in by the publisher. That's the very first and most basic capability of open-source software. On the other hand, partners need to be able to build a sustainable business around the product and benefit from optional and quality services from the publisher. We didn't find that with the partnership, and seeing the publisher switch to a more closed and locking approach with proprietary modules was the trigger for us to cancel the renewal of the partnership.
We don't recommend Odoo Enterprise
Having a business management software with an « Enterprise » version is a particularly interesting and ironic situation, when this product is fundamentally targeted at enterprises anyway. Then: who is the non-Enterprise version supposed to be officially useful to? The non-Enterprise open-source version is now called "Odoo Community", a stripped down version without that growing list of proprietary modules, and is just a way to keep the "open-source" label and to delegate a part of the R&D to the community. Everything that is considered valuable for a business is now part of the Enterprise version. Partners may have access to the proprietary modules, but are not allowed to redistribute them, neither in original nor in an improved form. The heart of what makes open-source interesting is lost.
The main problem with Odoo Enterprise is the same as with most proprietary product : the lock in. Once the data of your Enterprise is jailed into a product, it's difficult and costly to get out of it. In particular with Odoo : if you ever install and start using a proprietary module in the Odoo Saas, it may have deep impacts on the data model, and it's most probably not possible to easily switch to the Community version afterwards, unless you can afford paying an expert during an unkown amount of time to write a migration script with all the inherent risks related to that kind of task.
It's safer to stick with real open-source and community software for your business. I'm not speaking of the Community version of Odoo, but of the real community centered around OCA and OCB.
We are OCA members and we recommend OCB
OCA is the Odoo Community Association. A large international group of companies and individuals providing services around Odoo, promoting it and contributing to it.
- OCB is the real community version of Odoo. The one with the minimum set of countless bugfixes that are really required for an acceptable production system.
Now if you look at the OCA repository on Github, you will find a whole lot of open-source community modules, that are not part of Odoo Enterprise. Although the publisher (and the OCA) claims that the license of the community modules (AGPL) is compatible with the proprietary modules, we believe that this is a real terra incognita . We won't take the risk to mix community modules and proprietary modules.
The OCA has a sponsorship program that we were part of last year and we'll be happy to be part of in 2016 as well.
Another great advantage of using OCB + OCA modules is the quality. New modules and contributions follow a strict path of code review with quality guidelines, and a strong recommendation of unit testing.
In one word: quality and sustainability is in the community.
Now what's the future of Anybox?
We're still dedicated to providing the same stable set of quality Odoo professional services we have been continuously providing for five years.
But we will offer more than Odoo.
As a development platform, we have several Django experts and we have already implemented Anyblok for a business-critical part of a major project. Anyblok can be seen as a very capable alternative to the core of Odoo, with the major advantage of using the SQLAlchemy ORM, and providing the same level of modularity.
In the NoSQL world, we are already mastering other technologies such as Meteor.
Please contact-us if you have any project or development task!