Journal Forge publique et privée : centralisation ou décentralisation ?

10
5
mai
2025

Bonjour Nal,

Je te partage un communiqué de l'April intéressant qui appelle à la création d'une forge publique par l’État.

L'intention est louable : les grosses forges américaines comme github ou gitlab sont devenus tellement centrales dans le monde du logiciel qu'il est difficile de construire un produit qui n'en soit pas dépendant de façon directe (hébergement sur ces plateformes) ou indirectes (récupération de dépendances).

Toutefois je me demande si le mieux ne serait pas de multiplier les petites forges (par exemple avec des logiciels comme gitea, gogs, forgejo, sourcehut, gitlab community…) pour ne pas simplement remplacer une dépendance à un gros acteur privée par une dépendance à un gros acteur public.

Pour le secteur public, cela pourrait une forge par projet, par administration, par ministère, par région…

Dans les entreprises, la question se pose aussi souvent : une grosse forge pour tout le groupe versus des petites forges par filiales, services, voire projet ?

Et toi Nal? Tu es plutôt centralisateur ou décentralisateur ?

  • # Besoin d'interopérabilité

    Posté par  . Évalué à 9 (+7/-0).

    En fait ce qui est gênant avec les multiples forges, c'est le manque d'interopérabilité. Aujourd'hui, si je veux faire 3 petits patchs sur 3 projets hébergés par Github, Gitlab et Sourcehut, je dois me créer un compte par forge juste pour leur proposer chaque patch ou même ouvrir un ticket.

    J'aimerais bien avoir la possibilité d'avoir mon fork sur la forge de mon choix, et envoyer mes changements upstream inter-forge.
    Git propose l'envoi par email, mais franchement pour collaborer sur un patch c'est très peu ergonomique.

    Il manque donc un protocole de collaboration inter-forges pour que la décentralisation devienne une réalité. Mais même pour une même forge, je ne crois pas qu'on puisse collaborer entre les différentes instances… Ce serait déjà un bon début !

    • [^] # Re: Besoin d'interopérabilité

      Posté par  (site web personnel) . Évalué à 9 (+6/-0).

      Ce protocole existe :-)

      https://forgefed.org/

      Le post ci-dessus est une grosse connerie, ne le lisez pas sérieusement.

    • [^] # Re: Besoin d'interopérabilité

      Posté par  . Évalué à 8 (+7/-0). Dernière modification le 05 mai 2025 à 10:06.

      C'est l'idée de projets comme ForgeFed (ActivityPub) ou encore Radicle (P2P).

      EDIT: devnewton a été plus rapide ;-)

      Alcyone

    • [^] # Re: Besoin d'interopérabilité

      Posté par  (site web personnel, Mastodon) . Évalué à 5 (+3/-0).

      C'est ce que je fais avec XMPP pour mon projet Libervia depuis des années  : une forge (enfin pour le moment des tickets et un système de merge requests) décentralisée, et accessible avec tout compte XMPP. C'est basé sur Pubsub, ça veut dire que de nombreuses chouette fonctionnalités sont possibles, comme le chiffrement de bout en bout (pour faire un ticket sensible, comme un rapport de bogue sur une faille de sécurité par exemple).

      L'idée a été reprise pour ActivityPub avec ForgeFed. J'ai également une passerelle ActivityPub <=> XMPP, il est possible, si je trouve les ressources, d'ajouter une compatibilité pour ces fonctionnalités à terme.

      • [^] # Re: Besoin d'interopérabilité

        Posté par  . Évalué à 4 (+3/-0).

        Honnêtement (et je salue (à toi ;-) ) ton initiative), je pense que la compatibilité ActivityPub/XMPP est probablement le meilleur moyen pour que le projet prenne à mon sens et cela peut aussi redonner un peu de vent à XMPP : possibilité de fédération de forge avec tout l'écosystème de chat d'XMPP (voire microblogging si l'on pense à Movim).

        Alcyone

      • [^] # Re: Besoin d'interopérabilité

        Posté par  . Évalué à 4 (+2/-0).

        Oui, ActivityPub me semble être une bonne voie à explorer pour résoudre ce problème, heureux de voir que des gens se penchent déjà sur le problème :)

    • [^] # Re: Besoin d'interopérabilité

      Posté par  (site web personnel) . Évalué à 5 (+3/-0).

      Goffi avait commencé un travail dans ce sens. C'est basé sur XMPP comme c'est son protocole de prédilection et j'avais eu l'occasion de tester. C'est décrit ici sur son blog en français et dans la doc en anglais.

      https://upload.libervia.org/b/68025fd2-6cfe-462a-948c-c170c344468b?lang=fr
      https://libervia.org/__b/doc/backend/libervia-cli/merge-request.html

      Pour l'instant, ça ne fonctionne qu'avec Mercurial mais ça donne une idée de ce que ça pourrait donner. Pour l'instant les performances de Libervia, l'outil qui les affiche ne sont pas terribles mais l'outil en cli était plus rapide dans mes souvenirs.

      • [^] # Re: Besoin d'interopérabilité

        Posté par  (site web personnel, Mastodon) . Évalué à 4 (+2/-0).

        Je suis justement en plein redesign, et il est fort probable que je passe finalement à Git, de plus en plus d'outils ne prenant en compte que Git (notamment uv qui devient la référence en Python). C'est dommage, Mercurial est vraiment un bon outil, et plus intuitif que Git.

  • # fédération

    Posté par  (site web personnel, Mastodon) . Évalué à 2 (+2/-0).

    Bonjour,

    Chouette rebond sur une actualité :-)

    La question de (dé-)centralisation me paraît être celle posée du côté du pouvoir. Si le lieu de prise de décision ou le lieu de dépôt collaboratif de code en l’occurrence est petit et bien délimité, ce lieu et ce qui s'y fait sera plus facile à contrôler.

    Si l'on sort du point de vue de puissance et de contrôle et adopte le point de vue de la masse, la fédération me paraît être une gouvernance bien meilleure pour gérer ces biens communs et éviter l'accaparement par quelques-un·es.

  • # Un problème à la fois

    Posté par  (Mastodon) . Évalué à 7 (+4/-0). Dernière modification le 05 mai 2025 à 12:38.

    Je pense que la forge publique d'état, c'est déjà résoudre un soucis : proposer une alternative à GitHub (en gros).

    Ensuite tout le monde sera d'accord pour dire que une fédération c'est mieux, mais c'est facile à dire, beaucoup plus dur à faire (ça ne se décide pas).

    Donc oui, un service d'état (on pourrait même en proposer un Européen) c'est une première étape à encourager.

    En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.

Envoyer un commentaire

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.