Contributors mailing list archives
Tecnativa. S. L., Jairo Llopis
El vie, 17 de sep de 2021 a las 07:41:54 AM, Tom <firstname.lastname@example.org> escribió:
Regarding the "smarter bot" ideas: although it's typical for a bunch of programmers to come up with a solution to a problem by throwing more engineering into it, I feel there's something to it, it just needs more crystallization and then a hackathon to make it happen.
Let's take for example Firefox.
Firefox has the desktop product, and it builds in different platforms: Linux, Windows, Mac... How to handle that? They have a build system that applies conditionals ("if", "case" and similar) to produce the platform-compatible artifact. Usually this is a Makefile, but there are other systems for the same. Result: single code base, multiple platforms.
However it also has Android and iOS versions, which are almost completely different. They share some essential concepts, but code bases are split. This is more complex to handle, but they end up supporting these extra platforms too. Result: split code base, single platform.
As you can imagine, the desktop product is more maintainable.
Now, OCA. Our products are, mainly:
- OCA tooling.
We only follow the "single code base, multiple platforms" approach in OCA tooling.
For OpenUpgrade, we use "split code base, single platform", and it would be impossible to change that.
And for addons? The platforms they run on are different versions of Odoo. I always believed it's possible to have a single code base, but that's a dead discussion and simply won't happen, so the best we can do is improve what we have. And what we have is "split code bases, single platform". And IMHO the way to improve it is a fwbot, just like Odoo does.
Maybe a good theme for a team at this year's online code sprint?