- Tangled est une plateforme de collaboration Git avec des fonctionnalités sociales basée sur l’AT Protocol, conçue pour permettre aux développeurs de conserver une propriété totale de leur code tout en laissant les communautés open source s’auto-organiser
- Elle adopte une architecture de collaboration de code distribuée qui combine les avantages du modèle fédéré centré sur ActivityPub (Forgejo) et du modèle entièrement P2P de Radicle
- Le concept central, « Knot », est un serveur Git headless léger, compatible à la fois avec le self-hosting individuel et les environnements multitenant à l’échelle d’une communauté
- App View (tangled.sh) fournit une vue unifiée des dépôts sur l’ensemble du réseau, permettant d’explorer, cloner et contribuer facilement à des dépôts hébergés sur différents Knot
- Actuellement en bêta, la plateforme s’appuie sur les principes clés de propriété des données, de faible barrière à l’entrée et de préservation de l’expérience utilisateur, avec pour ambition de construire à terme un écosystème Git distribué totalement ouvert
Présentation de Tangled
- Tangled est une nouvelle plateforme qui offre aux développeurs un environnement de collaboration Git avec interactions sociales, tout en leur permettant de conserver la propriété de leur code et de leur identité
- Basée sur l’AT Protocol, elle applique une architecture d’application sociale décentralisée à la collaboration Git
- Son objectif est de redonner à la collaboration sur le code un caractère ouvert et agréable
Modèle distribué et AT Protocol
- Les modèles existants de collaboration de code distribuée reposent notamment sur les approches suivantes
- Forgejo (ActivityPub) : collaboration via la fédération entre serveurs
- Radicle : architecture entièrement P2P (peer-to-peer)
- Tangled combine les atouts de ces deux modèles et adopte atproto, qui permet une gestion centralisée de l’identité
- Les utilisateurs peuvent ainsi conserver une structure cohérente d’identifiants et d’authentification même au sein d’un réseau distribué
Architecture de Knot
- Knot est le composant central de Tangled, un serveur léger qui permet aux utilisateurs d’héberger eux-mêmes des dépôts Git
- Il prend en charge les configurations single-tenant comme multitenant
- Il peut être auto-hébergé sur de petits équipements comme un Raspberry Pi
- Tangled propose par défaut un service Knot managé gratuit
- Grâce à cette architecture, les serveurs personnels des utilisateurs et les serveurs communautaires peuvent se relier naturellement pour former un réseau Git distribué
App View et réseau unifié
- L’App View proposée sur tangled.sh sert à afficher les dépôts de tout le réseau dans une vue unifiée
- Les utilisateurs peuvent facilement cloner et contribuer à des dépôts, même lorsqu’ils sont hébergés sur d’autres Knot
- Cette conception conserve le workflow habituel de Git tout en supprimant les barrières propres aux environnements distribués
Principes de développement
- L’équipe Tangled a défini les trois principes suivants pour guider le développement
- 1. Propriété des données — chaque utilisateur possède directement le code et les métadonnées qu’il crée
- 2. Faible barrière à l’entrée — une structure et une interface simples pour permettre à chacun de participer facilement
- 3. Cohérence de l’expérience utilisateur — garantir un niveau d’UX comparable à celui des services centralisés malgré l’architecture distribuée
- Ces principes se reflètent dans les choix techniques de Tangled ainsi que dans l’ensemble de la conception UI/UX
Accès et communauté
- Au départ, l’accès était sur invitation uniquement (invite-only), et les développeurs pouvaient participer via le canal IRC
#tangled (libera.chat)
- L’accès est désormais ouvert avec connexion publique, et tout le monde peut utiliser le service sur tangled.sh/login
- Tangled en est encore à ses débuts, mais le projet continue de grandir en validant ses fonctionnalités par un usage interne (dogfooding)
Conclusion
- Tangled cherche à étendre la collaboration Git vers une expérience connectée, proche d’un réseau social
- Il attire l’attention comme un nouvel écosystème de plateforme Git distribuée combinant autonomie, accessibilité et culture de développement conviviale
2 commentaires
Comme il n’y avait pas de conteneur officiel, la configuration initiale était un peu fastidieuse.
Commentaires sur Hacker News
knotet auspindlepar défaut (notre serveur d’hébergement git interne et notre runner CI) ; un correctif vient d’être appliqué, donc après déconnexion puis reconnexion, la création de dépôts devrait de nouveau fonctionner normalement. Je peux répondre aux questions à tout moment.sshet cela fonctionne. Au fond, le véritable enjeu me semble être lelock-in(dépendance à un service). Pourquoi GitHub et d’autres se concentrent-ils davantage sur lelock-inque sur le service lui-même ? Derrière cela, il y a le financement et le modèle économique. Le cycle centralisation →lock-in→ revenus réapparaît sans cesse dans de nombreux services. Si un service n’a pas de structure permettant de générer des revenus par lui-même, ce phénomène semble difficile à éviter.