Pourquoi OpenERP-Universe?

Bonjour à tous,

Les dernières finalisations du site internet de www.openerp-universe.org ont été réalisées cette semaine et le site est désormais prêt à accueillir les contributeurs.
Je vais donc m’employer dans les prochains jours à promouvoir le site pour son lancement officiel, toutefois avant je pense nécessaire d’expliquer ma vision de l’écosystème OpenERP, les raisons qui m’ont amené à créer le site et comment celui-ci répond aux problématiques actuelles de la communauté OpenERP.

Les choses que j’ai à dire en ce sens sont assez nombreuses aussi ce texte, qui s’apparente à une tribune, sera assez long. Tout ce qui sera dit ici ne reflète bien sûr que mon avis personnel.

Précisons dans un premier temps que l’objectif du site est avant tout de promouvoir et de créer une communauté OpenERP composée certes des personnes qui gagnent leurs vies avec mais aussi et avant tout de personnes intéressées par le logiciel et qui souhaitent, qu’ils l’utilisent ou non, améliorer toujours plus le logiciel afin de dépasser la concurrence propriétaire. En somme l’objectif n’est ni plus ni moins que participer à la création d’une communauté qui se rapprocherai le plus de la définition d’une “communauté du logiciel libre”, définition qui, selon moi, ne correspond pas encore totalement à la communauté OpenERP aujourd’hui.

Il faut dire que créer une communauté du libre vraiment forte et organisé (Je parle ici de communauté comparable aux communautés Mozilla, Debian ou du noyau Linux, pas moins car le défi organisationnel est bien réel) sur un logiciel ERP sera une tâche excessivement difficile, et je pèse mes mots.
Ainsi j’explique immédiatement pourquoi le site parlera uniquement d’OpenERP, et non d’OpenBravo, Ofbiz, ERP5 etc… Je ne doute pas de leurs propres qualités mais il sera impossible de construire une communauté satisfaisante sans se concentrer sur un seul logiciel.
Aussi je vous propose ma propre croyance, celle qu’OpenERP a le potentiel le plus important pour envahir le marché, et je vous invite ainsi à nous concentrer sur lui et à m’aider à créer cette communauté dont l’objectif sera bel et bien la promotion et l’amélioration du logiciel OpenERP. Si votre croyance est différente, libre à vous de copier cette initiative pour promouvoir un autre ERP, après tout la concurrence a toujours été une bonne chose pour le dynamisme et l’innovation.

Cette communauté, que je nommerai désormais la communauté OpenERP-Universe, aura clairement pour objectif de palier certains des manques de la communauté OpenERP actuelle, et je crains que l’éditeur n’ait une part de responsabilité dans ces manques.
Attention à ne pas me faire dire ce que je n’ai pas dit, l’éditeur d’OpenERP a fourni un travail considérable, en terme de développement du logiciel, de sa promotion mais aussi en terme de sacrifice car il faut le rappeler ils ne sont JAMAIS parti sur un système de double licence comme tant d’autres éditeurs open-sources, mais ont au contraire toujours libéré leur travail (à quelques exceptions largement excusables comme les shared founding). Pour cette raison, afin que l’éditeur reste récompensé pour son travail passé et pour ne pas diviser les efforts, je suis contre les forks d’OpenERP (y compris Tryton) dans l’état actuel des choses et je préfère agir pour faire évoluer le logiciel.

Il n’en reste pas moins, toujours selon moi bien sûr, que l’éditeur d’OpenERP fait des erreurs.
La plus importante, et de loin, c’est qu’ils ont une tendance a vouloir tout faire par eux-mêmes. Cela a toujours été comme ça, ils ont une armée de développeurs qui s’occupent d’améliorer le logiciel à chaque version, et ne récupèrent quasiment jamais le travail de la communauté préférant systématiquement réinventer la roue. Selon moi, l’éditeur a beaucoup trop de développeurs et pas assez de personnes qui passent en revue les quelques déjà 900 modules OpenERP de la communauté pour intégrer les meilleurs et les plus pertinent dans les fonctions de base du logiciel.
Je reconnais que l’approche était la bonne pour le lancement du logiciel. Les modèles libres basés sur un éditeur sont plus efficace pour le lancement d’un projet car cela va plus vite et facilite la constitution de la communauté, en revanche je pense fermement que les modèles basés sur une communauté sont largement plus efficace en terme de qualité une fois que le projet est déjà leader dans son domaine.
Il est clair que l’éditeur a déjà réussi son pari depuis la V5, c’est à ce moment là qu’ils devaient commencer à donner beaucoup plus d’importance à l’intégration du travail de la communauté, à la promotion de cette communauté pour la renforcer, tout en restant bien entendu au coeur de celle-ci afin de continuer à pouvoir proposer des services aux partenaires, aux clients etc… L’éditeur devrait consacrer des effectifs au passage en revue les modules les plus intéressants, de les intégrer, et de faire vivre la communauté.
En revanche tout développer eux-mêmes bloque l’avantage de qualité inhérente au logiciel libre, et surtout empêche la communauté de s’emparer de l’évolution du logiciel, l’empêchant par la même de grandir et de se renforcer. C’est totalement contre-productif et cela amène un risque réel.
En effet, certains projets libres basés sur un éditeur donnent naissance a des forks à ce stade si l’éditeur a ce comportement et deviennent des projets basés sur une communauté (gaffe à Tryton notamment…). Certes c’est mieux pour le logiciel en terme de qualité mais dans ce cas l’éditeur a tout perdu et encore une fois ce n’est pas ce que je veux pour l’éditeur d’OpenERP

Une autre erreur, bien moins importante car elle porte surtout sur la bonne utilisation des ressources de l’éditeur, consiste aujourd’hui à se concentrer sur le marketing alors que le produit pourrait encore devenir bien meilleur et que la communauté est insatisfaisante. OpenERP, et donc son éditeur, aurait gros à gagner à faire du lobbying, et notamment dans les écoles et les associations professionnelles qui sont stratégiques pour le bouche à oreille qui, rappelons-le, porte OpenERP depuis le tout début. Cela rapporterai à la fois des clients et des contributeurs.

La communauté qui s’est formée autour de ce contexte est une communauté intéressée, c’est à dire principalement constituée des employés de l’éditeur et les partenaires intégrateurs, soit uniquement des personnes qui gagnent leur vie avec OpenERP. La communauté manque donc cruellement de personnes qui développeraient des modules géniaux par goût du challenge, de contributeurs qui aideraient rien que pour que le libre envahisse également ce secteur de l’informatique (et avec lui probablement l’un des derniers bastions du propriétaire dans les entreprises), d’étudiants qui chercheraient à se spécialiser dans cette technologie et apporteront un regard neuf sur la manière dont un ERP doit fonctionner, et enfin et surtout les experts métiers qui savent ce dont ils ont besoin et pourront orienter les développeurs vers la bonne manière d’implémenter une fonctionnalité. Toutes ces personnes sont aujourd’hui absentes, ou trop peu représentées, dans la communauté OpenERP et c’est clairement l’un des plus importants rendez-vous manqués du logiciel libre en ce moment.

Sans cela, OpenERP reste d’une qualité équivalente au propriétaire, ce qui déjà bien il est vrai. Mais il est possible de faire infiniment plus grâce aux qualités que peut apporter le logiciel libre quand une communauté est suffisamment organisée. Ceci d’autant plus que le secteur des ERPs, qui est en évolution perpétuelle et réclame des avis nombreux pour implémenter une fonctionnalité de la meilleure façon, est probablement le secteur qui peut le plus profiter des avantages inhérents aux communautés libres.

Ceci étant dit, créer une communauté autour d’un logiciel ERP est quelque chose d’extrêmement difficile. En effet, il s’agit de logiciels complexes, dont ne serait-ce qu’une seule partie nécessite des mois de recherche pour se familiariser et des années d’expérience pour maîtriser totalement tous les enjeux. C’est probablement la raison principale qui limite actuellement la communauté à des personnes ayant un intérêt financier et limite le nombre de contributeurs désintéressés.

Rajoutons également le problème suivant : étant donné que les ERPs supportent les processus de l’entreprise, chaque personne a sa propre vision des choses sur le processus idéal et comment l’implanter dans l’ERP. Cela implique des débats intenses avant d’arriver à trouver le processus qui contentera la majorité. De plus l’élaboration ou l’amélioration d’une fonctionnalité doit impérativement être appuyé par des schémas, documentation technique, processus BPMN, etc… Actuellement soit l’éditeur décide soit dans le meilleur des cas les discussions prennent la forme d’un sujet sur Launchpad, mais sans l’appui de réelles spécifications il est difficile de comprendre pleinement les suggestions des précédents intervenants…
L’éditeur et la communauté actuelle (dont je ne m’exempte pas bien sûr) manquent clairement de rigueur sur les spécifications de développement alors que le moindre changement dans le mauvais sens peut provoquer des bugs ou des régressions en cascade dans tout le logiciel.

Pour qu’une communauté arrive à développer correctement une nouvelle fonctionnalité, il faut dans un premier temps que les experts métiers testent l’existant et émettent des critiques ou des suggestions. Le reste de la communauté peut alors s’employer à rédiger les spécifications de développement et une fois que tout le monde est d’accord on peut transmettre et faire pression sur l’éditeur pour que celles-ci soient suivi, ou laisser quelques développeurs développer un module à part et en faire la promotion. A ce moment là, les experts métiers peuvent à nouveau tester, proposer de nouvelles choses, expérimenter de nouveau processus, et c’est reparti pour un tour.
C’est uniquement de cette façon qu’il sera je pense possible de mettre en place une organisation suffisante pour faire atteindre au développement d’OpenERP sa vitesse et sa qualité optimale.

Bien sûr ce genre d’organisation va nécessiter un support adapté, et la problématique est tellement spécifique qu’il est illusoire de compter sur les forges habituelles comme Launchpad ou Sourceforge. Tout simplement car la communauté qu’on vise à créer n’est pas une communauté de développeurs mais une communauté hétérogène comprenant des personnes ayant des métiers extérieurs à l’informatique (les experts métiers notamment).

La partie la plus importante du processus de développement consiste en les débats qui permettent de définir la meilleure manière d’implémenter ou d’améliorer une fonctionnalité.
Mais avant de pouvoir améliorer, il faut déjà connaître l’existant. Comme je le disais l’un des principaux problèmes de la communauté est la barrière à l’entrée, qui rend difficile à une simple personne intéressée de se familiariser avec les fonctionnalités existantes.
Ainsi sur OpenERP-Universe la partie la plus importante est très probablement la partie “Fonctionnalités”. C’est ici que le nouveau venu pourra parcourir la liste des fonctionnalités classées par département de l’entreprise. Il pourra savoir si telle ou telle fonctionnalité est déjà implémenté, comment elle est implémentée, quel module l’implémente, etc…
C’est ici également que les experts métiers pourront emmètre des critiques sur une fonctionnalité déjà existante ou en suggérer une nouvelle, et que les autres contributeurs pourront joindre à la fonctionnalité en construction les spécifications techniques de celle-ci. J’ai mis sur le site les spécifications que nous-même utilisons dans ma société, à savoir des spécifications à base d’un document sous forme de tableur spécialement adapté pour les développements sous OpenERP et de schémas BPMN. Bien sûr ces modèles eux-mêmes attendent vos améliorations.

Il faudra notamment dans un premier temps répertorier les fonctionnalités implémentées par les modules certifiés et surtout les décrire.
La précision des mots dans la description des fonctionnalités est capitale pour les suggestions qui suivront. Par exemple une phrase “Renseignement automatique de l’adresse de facturation du partenaire quand le partenaire est renseigné dans la facture” pourrait avoir comme phrase de suggestion “Renseignement automatique de l’adresse de facturation du partenaire quand le partenaire est renseigné dans la facture. Si l’on veut tout de même changer cette adresse, seules les adresses appartenant au partenaire déjà sélectionné seront proposée.”

Je me suis d’ores et déjà occupé de lister les fonctionnalités des modules certifiés mais les descriptions sont vides, à l’exception de la fonctionnalité de facturation et de certaines fonctionnalité du framework OpenObject qui sont là pour montrer ce que je propose comme description.
Renseigner les descriptions sera un travail très long et qui va demander beaucoup de contributeurs, mais une fois ceci fait il sera d’autant plus facile de proposer les améliorations et je ne doute pas que la qualité d’OpenERP fera un bond en avant. Je suis convaincu qu’une communauté avec suffisamment d’experts métiers, soutenu par une description et donc une connaissance précise de l’existant, est exactement ce dont OpenERP a besoin.

Ceci est le point principal, mais c’est loin d’être la seule fonction du site. Chaque fonctionnalité est notamment liée au module qui l’implémente. Les modules peuvent être classés par critère d’intérêt, de fiabilité et de support ce qui permet de déterminer si un module doit être mis en avant ou au contraire oublié.
Précisons qu’à terme, j’aimerai mettre en place sur le site un OpenERP de démonstration qui téléchargerai les dernières versions stables des modules chaque nuit. Ceci permettrait ainsi de tester le logiciel en permanence pour chasser les bugs, et proposer aux visiteurs un OpenERP rempli avec des bases de démonstration pour chaque secteur d’activité et chaque type d’employé.

Le site aura bien sûr une partie documentation, sous forme de wiki. Toutefois, pour éviter de faire doublon avec la documentation officielle de l’éditeur ou même la partie Fonctionnalité du site, je propose de rédiger la documentation sous forme de cours. Par exemple un cours sur comment être un bon commercial, un autre pour être un bon responsable commercial, avec des cas concrets et pratiques sur OpenERP. De cette façon nous éviterons les doublons, cela fera une documentation avec des informations supplémentaires (Pas seulement le “Comment l’utiliser” mais aussi le “Pourquoi l’utiliser”) et ces cours pourrait certainement intéresser les écoles supérieures… Je crois dur comme fer que nous aurons gagné quand les étudiants utiliseront OpenERP dans leurs travaux pratiques.

Je désire éviter les forks d’OpenERP afin de récompenser l’éditeur pour ses efforts, mais dans ce cas il faut une communauté puissante pour le protéger de lui-même. Mon objectif n’est ni de rester sur un écosystème basé sur un éditeur ni de partir vers un écosystème basé sur une communauté qui évincerai l’éditeur, mais de partir sur un écosystème qui serait un mélange des deux, avec l’éditeur et la communauté ayant une puissance égale et travaillant ensemble pour améliorer toujours plus le logiciel.
De plus, une communauté totalement indépendante de l’éditeur, qui possédera ses propres outils (et donc qui ne repose pas sur le forum de l’éditeur ou Launchpad) pourra certainement apporter une autre vision des choses qui pourrait permettre de résister à l’éditeur quand celui-ci fait des mauvais choix.
Si des responsables de chez l’éditeur passent par ici, j’espère que vous comprendrez mon raisonnement.

Concernant les intégrateurs, certains outils sont quand même prévus pour eux sur le site.
Ils peuvent notamment inscrire librement leur société sur le site, qu’ils soient une grande société ou un simple auto-entrepreneur. C’est de la publicité gratuite et sans contrainte, l’objectif étant de dresse une liste exhaustive des intégrateurs en France, même les plus petits.
Vous pouvez également, et c’est très important, renseigner vos clients avec leur accord, ainsi que leur secteur d’activité et les fonctionnalités installées. Cela permettra ainsi de créer une liste de référence pour OpenERP dont le logiciel a bien besoin et qui n’existe nulle part ailleurs. Bien entendu c’est également un moyen pour vous de montrer l’étendu de vos compétences, et inversement cela permettra à vos prospects de consulter vos expériences précédentes.
De plus, les sociétés intéressées par OpenERP peuvent déposer une demande de devis sur le site. Pas d’inquiétude, je certifie que tous les intégrateurs enregistrés sur le site ont et auront un accès sans limite à ces demandes. L’objectif est que la société en question puisse recevoir plusieurs offres, notamment des intégrateurs de sa région et expérimentés dans son secteur d’activité.
Enfin, vous trouverez bien entendu un forum tout ce qu’il y a de plus classique.

Derniers points, qui ont toutefois leurs importances.
Dans un premier temps, je tiens à le dire haut et fort : D’ores et déjà, le site OpenERP-Universe appartient à sa communauté. Les directions que prendra le site seront décidés par les modérateurs qui eux-même écouteront les souhaits des contributeurs, je considère que le site ne m’appartient déjà plus. Je vous serait néanmoins reconnaissant de tolérer la petite phrase en bas du site qui indique la société à l’origine du projet.
Le deuxième point, l’ensemble des ressources publiées sur le site sera sous licence Creative Common by-sa, avec l’attribution à la “Communauté OpenERP-Universe”. Il n’y a pas de coup fourré, c’est uniquement pour protéger le travail de la communauté. En publiant sur le site, vous acceptez donc que votre travail soit publié sous ces termes.
Enfin dernier point, que j’ai déjà dit mais que je tiens à redire : Il y a aura déjà beaucoup trop de travail pour qu’on se disperse sur d’autres logiciels, aussi le site est dédié à OpenERP. Si vous souhaitez parler d’un autre logiciel, n’hésitez pas à copier cette initiative sur un autre site.

Dans l’immédiat je vais avoir besoin de trouver très rapidement des personnes souhaitant assurer la modération du site. En effet, même si j’ai trouvé le temps de mettre mes idées en ordre, de développer le site et de poster les premières contributions je doute fort, en tant que gérant de ma société, pouvoir trouver assez de temps dans les prochains mois pour assurer la modération d’un site aussi ambitieux que celui-ci.
Il est donc urgent de former aussi vite que possible un groupe de modérateurs qui s’emparera de ce projet et le fera vivre. Pour postuler je ne demanderai pas grand chose si ce n’est de s’investir véritablement dans ce projet dans les prochains mois.

J’aurai également besoin de quelques personnes ayant des compétences sous Drupal et souhaitant m’aider avec l’administration du site. J’ai eu la main assez lourde et je m’attend à ce que quelques problèmes apparaissent ici et là, de plus j’aurai besoin d’aide pour implémenter sur le sites quelques autres idées par la suite.

J’invite toutes les personnes intéressée à aller s’enregistrer sur le site et à contribuer. Les personnes souhaitant participer à la modération ou juste savoir comment elle peuvent aider peuvent me contacter via le formulaire de contact du site.

Je vous remercie de m’avoir lu, et je vous remercie d’avance pour l’aide que vous apporterez à ce projet. Espérons sincèrement que celui-ci marchera comme nous pouvons l’espérer.