Dolibarr "LTS" le bilan de notre première équipe de mainteneurs pour 2025

Salut à toutes et tous,
comme promis nous avons pris le temps de faire un coup d’œil dans le rétroviseur pour vous livrer une sorte de note synthétique de l’année 2025 pour le premier tandem de nouveaux mainteneur de dolibarr.

C’est publié sur le wiki du projet : LTS 18 ACTIVITY 2025 — Dolibarr ERP CRM Wiki

Je vous laisse lire et ce fil du forum ouvert pour tout échange que j’espère positif, sympa et dans la bonne humeur tout en restant focus sur le sujet :slight_smile:

Idéalement ça serait super de faire tourner cet article autour de vous. Merci d’avance.

Bien Amicalement,
Éric

9 « J'aime »

Merci à Eric et Lionel pour leur persévérance dans cette démarche et de nous avoir donné des release LTS !

Effectivement comment rendre cela pérenne sur le long terme (financièrement, humainement, etc.) ? Est-ce que c’est la même équipe qui prends le relai lors de la prochaine LTS ? ou un autre binôme ? ou une équipe élargie : 3, 4 personnes ?

Quel système financier serait juste pour faire valoir ce travail ? Ou c’est du bénévolat pure dénué de rémunération ? Une contrepartie semblerait juste mais sous quel forme ? La gloire ne sera pas suffisante à long terme.

En tout cas, merci encore. Vous avez au moins le badge de merger maintenant !

1 « J'aime »

Génial ce REX !

Merci à Eric et Lionel.

Bonjour :slightly_smiling_face:
@erics tres bon article merci à vous !

Très chouette et très éclairant, merci.

Hello,

Article publié : Dolibarr ERP CRM V18 LTS - Rapport d'activité 2025

Excellente journée,

4 « J'aime »

@erics, merci pour ce retour documenté !

Le principe de la LTS en 2023, décidé au DevCamp, a été validé, et encadré par un processus de validation, mais quand même avec un gout de “on verra si ça marche”.

C’était une demande forte de la communauté des intégrateurs, permettant d’assurer un service stable à leurs clients.

L’expérience a montré que c’était possible. Avec du temps, tout est possible, mais du côté des mergeurs LTS, comme du côté d’@eldy, cela a impliqué une charge de travail importante, qui n’était pas facilement estimable au démarrage de l’initiative, elle a été absorbée, mais pas couverte () directement.

À partir d’un moment (on est en 2026), réussir à merger la 18 dans 19 puis 20 et etc, sur 5 versions, ça commence à en faire des conflits de code à traiter.

Dans d’autre projet open source (dont le kernel linux, mais aussi d’autre ERP Open source), on corrige dans la branche “develop” (si le bug existe toujours) et si nécessaire ont fait d’autres PR pour transposer (cherry pick) là où c’est possible dans les versions d’avant. Ce n’est pas la stratégie du projet Dolibarr. Tant mieux, ou pas, mais au moins la 18.0 est une version qui a eu la plus longue vie en support communautaire.

Retour d’expérience :

Je découvre que les 3 PR citées dans la page Wiki sont des PR de Scopen.

Des clients nous ont remonté ces “anomalies”, dans une version 20 (peut-être même 21), mais nous avons joué le jeu de la LTS: si le bug existe en LTS (18.0), il faut proposer un fix en LTS (18.0).

Même si les 2 PR en attentes ne seront probablement jamais mergées dans leurs formes actuelles, les cas décrits sont des cas réels et reproductibles. Si Scopen avait pris le parti de faire les PR en develop, il y a plus chances qu’elles auraient été mergées, donc que les anomalies détectées auraient été corrigées. Le constat est mitigé pour ces exemples… Ici aussi, c’est une histoire d’investissement, du temps à prendre pour tous les acteurs de la chaine.

Bonjour

C’est un des points sur lesquels il serait intéressant de travailler sur le prochain devcamp.

J’avais eu il y 2 ans une discussion passionnante avec un de nos cousins québécois du projet Tiki Wiki qui intègre une LTS dans leur cycle de vie.

Je vais voir si pour le prochain devcamp on peut avoir un retour d’expérience de leur part et échanger sur ce genre de question.

J’ai cependant une autre question qui me taraude…

Qui prend la suite pour la v22 ?

Hello, c

Ce sera pas la v24 la prochaine LTS car autant lié le cycle de 3 ans de certification non ?

Salut à tous
Effectivement ce serait judicieux si la version certifiée est maintenant passée à v24.

Attention à ne pas faire trop de LTS non plus quand on voit la charge de maintenance. Un chevauchement d’un an me semble raisonnable.

En tout cas Bravo la team !
A t-on une retour sur l’utilisation de la LTS ? Les utilisateurs sont-ils nombreux, satisfaits, rassurés…

@+

Le support de la v18 a été annoncé initialement jusqu’en 2028. Est-il judicieux d’avoir plusieurs versions LTS en parallèle ?

Hello,

J’ai toujours eu du mal avec les LTS donc je me pose les questions suivantes :

  • Dolibarr 18 LTS > Support jusqu’en 2028
  • Facturation électronique obligatoire > Septembre 2026
  • Politique LTS > « On ajoute rien, NADA »

Résultat : Une LTS maintenue pour un logiciel qui ne peut plus être utilisé légalement en France après septembre 2026.

  • La LTS 18 est globale (internationale)
  • La facturation électronique est une contrainte française (et quelques autres pays)
  • Dolibarr maintient la 18 pour tous les pays, pas seulement la France

Ce qu’il faudrait :
Dolibarr 18 LTS France > Support étendu jusqu’en 2028
MAIS avec backport du module facturation électronique

Ce qu’on a :
Dolibarr 18 LTS > Support jusqu’en 2028 sans fonctionnalité critique = Maintenance d’un zombie

Qu’en pensez-vous ? Y a-t-il une logique que je n’aurais pas comprise ?

Bonjour,

Oui, il y a un élément très important que vous n’avez pas. Le module PDPconnectfr qui servira pour déployer la facturation électronique dans votre Dolibarr est premièrement un module externe et il est compatible, cela tombe bien, à partir de la v18 (LTS ou pas…).

Bonne journée

Exactement !

Core + écosystème tiers = ce n’est plus une LTS.

C’est comme si j’utilise Debian LTS, j’installe un module tiers non maintenu,
et je prétends avoir un système « LTS ». La sécurité n’est plus LTS,
la conformité non plus.

Que ce soit PDPconnectfr ou n’importe quel autre module externe,
c’est le même débat : installer un module tiers, c’est prendre un risque.

  • Qui garantit la maintenance jusqu’en 2028 ?
  • Qui garantit la sécurité sur cette durée ?
  • Qui audit le code ?

Si le développeur tiers abandonne, change de politique, ou disparaît,
ma « LTS » Dolibarr devient quoi ?

Une LTS qui repose sur un module externe pour sa fonctionnalité critique,
c’est une LTS à géométrie variable. Ce n’est pas la promesse d’une LTS classique.

D’où ma vraie question : ne serait-ce pas du temps et de l’énergie perdus
de maintenir une LTS si l’utilisateur doit forcément ajouter des modules tiers
pour rester fonctionnel ?

Le core est maintenu jusqu’en 2028, mais la valeur réelle de cette promesse
dépend d’acteurs qui n’ont pas signé ce contrat.

Bon Week

Attention à ne pas faire de rapprochement trop vite

Un module externe (au core) n’est pas specialement un module tiers.

J’ai eu la meme reflexion concerant le module Peppol
@erics Saura surement mieux defendre et expliquer son point de vue sur le sujet.

En resumer les modules de facture electronique ne seront jamais dans le core car spécifique à chaque pays.
Erics, m’a parfaitement expliquer, et je le rejoins maintenant, pourquoi imposer à tout le monde le module Peppol qui ne sera pas utile à tout le monde ? Idem pour FacturX en France ?

Le but, sauf erreur de ma part, c’est que le module Peppol de Erics devienne communautaire et donc maintenu par Dolibarr et le reste et puisse evoluer en dehors du core.
Car égelement pourquoi imposer une mise à jour de tout Dolibarr avec le risque que ca comporte “juste” pour un seul module ?

Et de ce point de vue la, je trouve dommage que tout les modules du core ne puisse pas suivre cela.
Exemple, je voudrais bien implementer le communication structurée sur mes factures.
Cela est disponible depuis la V22 ou V23 mais je suis sur la V18 LTS
Du coup ca va “m’obliger” à mettre à jour vers la V23 qui viens de sortir, qui n’est pas LTS et en plus qui n’a pas encore de retour réel en prod

J’approve le workflow décrit en cherry-pick également. C’est beaucoup moins automatique (donc effectivement ça demande des “maintainers”, mais avec du tooling (tickets, jujutsu, bots pour lister les MRs avant/après dans l’ordre et pas encore catégorisée, interface dédiée pour le suivi des MRs etc), ça permettrait de catégoriser les évolutions, simplifier le développement et améliorer la branche principale et la CI. Le workflow “forward merge” est un des deux points qui empêche d’assurer que develop fonctionne.

En terme de retour, je travaille sur VLC de mon côté, c’est le workflow qu’on utilise, et c’est beaucoup plus facile à gérer parce que les gens ciblent la branche principale la plupart du temps sans se poser de questions, et les backports deviennent également des merge requests qui peuvent donc être initiées par n’importe qui et review par les mainteneurs de la branche en question. Par contre, on est effectivement plus (5/6 actifs) avec le droit de merge.

Bonsoir @alexandre.janniaux et @FHenry

La question est « qui fait le cherry pick » car dans l’approche historique de dolibarr un mergeur ne fait qu’accepter (ou pas) des PR soumises par d’autres pour éviter tout risque de conflit du genre j’accepte un peu vite ce que je pense être bien…

@FHenry avec Lionel la semaine dernière nous avons eu une autre idée pour « débloquer » les PR un peu trappues comme celles sur lesquelles nous « coinçons »: faire appel au « consiglière » (mais ça n’a rien donné) ou de mettre à dispo une instance dolibarr avec un jeu d’essai sur lequel le développeur pourrait reproduire le bug pour le « montrer clé en main » aux mergeurs, c’est détaillé ici LTS 18 ACTIVITY 2026 — Dolibarr ERP CRM Wiki et @vmaury19 nous a fait une super remarque à ce sujet: ça serait bien de fournir un accès ssh et git pour que ça soit encore plus pertinent (on y bossera jeudi prochain) …

Bonsoir @Doudouvs
pourquoi « non maintenu » ? ça fera partie des modules communautaires maintenu par la communauté tout comme le coeur de dolibarr est maintenu par … la communauté …

Cette approche de modules communautaires est assez neuve et à mon avis devrait être à l’avenir considérée comme une solution à appliquer plus souvent pour les futurs nouvelles fonctionnalités du coeur : en étant sous la forme de modules externes ils peuvent avoir un cycle de vie différent du coeur, couvrir plusieurs versions et pourraient être délégués à d’autres responsables.

Je prends souvent l’exemple des langues qui a l’avantage d’être super facile à comprendre: pourquoi embarquer toutes les langues dans le coeur de dolibarr ?

il me semble que ça serait plus judicieux d’avoir 110 paquets communautaires des 110 langues (avec des locuteurs natifs ? c’est un super moyen de contribuer à un logiciel libre) des 110 langues comme responsables de leur module de traduction. Le coeur s’allègerait de beaucoup (et en plus en prod combien d’entre nous ont plus de 4 langues actives dans leur dolibarr ?), l’ajout d’une langue serait faite en 3 clics sur l’interface d’admin de dolibarr … ça complexifiera sans doutes certains aspects mais ça donnera aussi beaucoup plus de souplesses à l’essemble. Un exemple la 22.0.0 sort, on se rends compte d’une coquille dans une langue, pas la peine d’attendre la 22.0.1si le mainteneur du module de traduction est réactif il publie une sous version +1 du module de sa langue, c’est dispo pour tout le monde…

Hello

Oui tu as raison j’ai zappé ce point important. Donc attendons de savoir quelle version sera certifiée.

C’est le nerf de la guerre niveau organisation oui ! De notre côté sur VideoLAN, l’auteur peut proposer le backport une fois la MR mergée, ce qui réparti un peu la charge, et a ajouté des labels “backport candidate”.

C’est clair que le volume de MR sur dolibarr et l’absence de catégorisation sur les tickets/PR (pour à terme cibler “qui” va devoir traiter et pas juste quel est l’état) combiné avec la quantité de personne qui est disponible pour ce rôle actuellement ne permet pas de basculer vers un tel workflow actuellement. Mais les expérimentations sur la maintenance du projet vont peut être permettre d’arriver à faire les premières étapes à terme, vu que ça reste un besoin de communication in fine ! :flexed_biceps:

1 « J'aime »

Hello,

j’ai une question sur l’ordre des étapes dans la page wiki LTS DEV NOTES

Le code source étant hébergé sur github, la création de la release sur github ne devrait-elle pas précéder les étapes envoyer vers le serveur de l’association et envoyer vers le serveur sourceforge ?

Ou faut-il comprendre que ce qui est envoyé sur sourceforge ne correspond pas à la release sur github, puisque celle-ci n’existe pas encore ?