Depuis ce printemps, il est désormais possible de cloner un dépôt Git sans que celui-ci ne soit hébergé sur un serveur spécifique. En effet, le code est stocké dans Freenet, un réseau pair-à-pair qui a été relancé en mars. Cette approche décentralisée permet de garantir la disponibilité du code source, même en l’absence d’un hébergeur central. Le fonctionnement de Git, qui est décentralisé par nature, permet à chaque clone de contenir l’historique complet, ce qui facilite la synchronisation entre les clones. Cependant, jusqu’à présent, les forges telles que Github ont capitalisé sur l’hébergement de ces dépôts. Freenet-git propose une alternative en stockant les dépôts dans un contrat qui est recopié par les nœuds, et qui se publie à l’adresse freenet::99TmCayXn6Tm/freenet-git.
Le fonctionnement de Freenet-git
Freenet-git nécessite l’installation d’un nœud Freenet sur la machine locale, ainsi que du paquet freenet-git. Le clonage ou la publication de code nécessite également l’exécution d’un nœud Freenet. Cette approche permet de décentraliser l’hébergement des dépôts, mais nécessite également une certaine compréhension de la technologie sous-jacente. Les contrats et les délégués forment la couche où les applications tournent sans backend, et plusieurs applications sont déjà disponibles, notamment River pour le chat de groupe, Delta pour les sites, Atlas pour la recherche, et freenet-git pour le code. Les adresses des dépôts sont générées à partir des 12 premiers caractères de la clé publique de leur propriétaire, et à ce stade expérimental, seul le propriétaire peut pousser des modifications dans le dépôt.
Il est important de noter que Freenet-git ne propose pas les mêmes fonctionnalités que les forges traditionnelles, telles que les pull requests ou les issues. Cependant, cette approche décentralisée offre une nouvelle perspective sur la gestion de code source, et pourrait potentiellement réduire la dépendance à l’égard des hébergeurs centraux. La recherche de dépôts est cependant un défi, car sans annuaire, les nœuds doivent deviner lequel de leurs voisins mettra le moins de temps à trouver ce qu’on leur demande. Le réseau traite cela comme un problème d’apprentissage et utilise la bibliothèque Renegade pour faire ce calcul.
Installer Freenet-git
L’installation de Freenet-git nécessite une chaîne Rust, et l’ajout de ~/.cargo/bin dans le PATH. Les installeurs du nœud sont disponibles sur freenet.org/quickstart. Une fois l’installation terminée, il est possible de cloner un dépôt qui existe déjà en utilisant la commande cargo install freenet-git. Il est important de noter que Rust n’entre dans le PATH qu’au shell suivant, il est donc nécessaire d’ouvrir un nouveau terminal avant de pouvoir utiliser la commande.
La décentralisation de l’hébergement de code source est un sujet qui gagne en importance, et Freenet-git propose une approche innovante pour y parvenir. Bien que cette technologie soit encore expérimentale, elle offre une perspective intéressante sur l’avenir de la gestion de code source. Les développeurs qui souhaitent explorer cette approche décentralisée peuvent trouver des ressources supplémentaires sur le site de Freenet, et peuvent également rejoindre la communauté pour discuter de leurs expériences et de leurs idées.
Les avantages de la décentralisation
La décentralisation de l’hébergement de code source offre plusieurs avantages, notamment la réduction de la dépendance à l’égard des hébergeurs centraux, et l’amélioration de la disponibilité du code source. En effet, avec Freenet-git, les dépôts sont stockés dans un contrat qui est recopié par les nœuds, ce qui signifie que même si un nœud est hors ligne, le dépôt est toujours accessible. Cette approche décentralisée permet également de réduire les coûts associés à l’hébergement de code source, car les nœuds peuvent être exécutés sur des machines locales.
Les défis de la décentralisation
Cependant, la décentralisation de l’hébergement de code source présente également des défis, notamment la recherche de dépôts et la gestion des permissions. En effet, sans annuaire, les nœuds doivent deviner lequel de leurs voisins mettra le moins de temps à trouver ce qu’on leur demande, ce qui peut être un défi. De plus, la gestion des permissions peut être complexe, car les dépôts sont stockés dans un contrat qui est recopié par les nœuds.
Conclusion et perspectives
Freenet-git propose une approche innovante pour la décentralisation de l’hébergement de code source. Bien que cette technologie soit encore expérimentale, elle offre une perspective intéressante sur l’avenir de la gestion de code source. Les développeurs qui souhaitent explorer cette approche décentralisée peuvent trouver des ressources supplémentaires sur le site de Freenet, et peuvent également rejoindre la communauté pour discuter de leurs expériences et de leurs idées. Il est important de noter que la décentralisation de l’hébergement de code source présente des défis, mais elle offre également des avantages, notamment la réduction de la dépendance à l’égard des hébergeurs centraux, et l’amélioration de la disponibilité du code source.
