Pourquoi un fork plutôt qu'une application?

Bonjour,
Depuis peu, je prends connaissance de l’éco-système ERPNext et j’ai une question concernant Dokos.

Quelles sont les raisons qui vous ont motivés à créer un fork plutôt que créer une application complémentaire à Erpnext ?
Comme par exemple, Libracore qui a créé une application pour adapter l’ERP à la réglementation suisse : https://github.com/libracore/erpnextswiss

1 Like

Bonjour @mayjo79,

Nous avions besoin de modifier le “framework” applicatif Frappe en profondeur pour plusieurs raisons principales (liste non exhaustive):

  • Modification des logiques sous-jacentes à certains types de documents pour permettre la mise au norme comptable et fiscale (factures, grand livre, etc… notamment pour la loi de finance 2016) ou adaptation à des scénarios qui ne sont pas possible via des applications personnalisées (réservations de salles/machines sur le site e-commerce)
  • Modification de l’interface utilisateur
  • Modification du système de traductions
  • Ajouts de nouveaux types de vues (vue en carte notamment)
  • Refonte complète de certains documents (Abonnements, paiements, rapprochement bancaire, …)

La création d’une application permet de faire un grand nombre d’adapation, mais reste contrainte par le “framework” et les logiques standards de l’application qu’on souhaite modifier.
En l’occurence, nous avions besoin de modifier beaucoup trop d’éléments du “framework” (Frappe) lui-même ainsi que d’ERPNext.

L’application erpnextswiss fournit des fonctionnalités supplémentaires et en modifie certaines à la marge tout en restant contrainte par les fonctionnalités standards de Frappe et ERPNext. Cela répond parfaitement à la problématique que Libracore cherche à résoudre, qui est différente de la notre.
D’ailleurs vous pouvez aussi installer erpnextswiss sur Dokos.

1 Like

Et cela n’aurait pas été possible de faire ces évolutions en tant que contributions (Pull Request) au “core” de Frappe/ERPNext ?

Oui tout à fait et c’est ce que j’ai commencé par faire pendant plus de 2 ans en plus de développer des applications personnalisées. Vous pouvez trouver le détail de toutes les PR proposées pour Frappe et ERPNext sur Github.

Simplement comme dans tout projet, l’intégration de modifications est à la discrétion des responsables du projet (ce qui est normal) et certains changements proposés ont mis 6 mois à être intégrés dans le projet (1ère version du rapprochement bancaire par exemple, qui n’a donc jamais pu être terminé) ou n’ont jamais pu être intégré complètement (adaptation pour la loi de finance 2016 par exemple). Ceci pour des questions de ressources tout à fait compréhensibles, mais également de choix plus discutables.

Enfin l’aspect réglementaire n’est, à ce jour, pas une préoccupation importante pour les développeurs d’ERPNext qui refusent d’intégrer des changements s’ils ont un impact quelconque sur la performance de l’application ou suppriment des fonctionnalités pour certains utilisateurs qui n’ont pas les même contraintes. Certains changements nécessaires que nous sommes en train de faire dans Dokos n’auraient jamais été acceptés dans ces conditions.
Je ne remet pas en cause leur travail ou leur jugement, adapté aux besoins de leurs clients (qui ne sont pas encore beaucoup en France). Leurs objectifs sont simplement différents des notres.

Un fork nous permet donc de faire des changements plus rapides et de prendre des décisions différentes de celles de Frappe Technologies.

Avez vous complètement divergé de ERPNext ou êtes vous en capacité d’importer (“merge”) périodiquement les commits faits sur Frappe/Erpnext ?

Au fur et à mesure certaines fonctionnalités divergent complètement (Rapprochement bancaire, abonnements, etc…) mais pour le reste nous importons les commits faits sur Frappe/ERPNext.

Nous revenons parfois en arrière sur certaines divergences lorsque les développements faits sur Frappe/ERPNext vont dans la même direction que nous. Par exemple le bureau de la v2 sera basé en majeure partie sur la v13 de Frappe, alors qu’il était complètement pour la v1.
De même pour l’outil de traduction qui était différent en v1 mais reprendra les évolutions faites sur Frappe dans la v13. Etc…

1 Like

Merci pour vos réponses.