sourcehut – la forge du hacker
sourcehut est un nouveau projet initié par Drew DeVault (notamment connu pour sway). Il s’agit d’une forge composée de différents outils connectés. Sourcehut est sous licence GNU Affero General Public License. Principalement programmé en Python (avec le micro-framework Flask). L’interface Web n’utilise pas JavaScript et n’en est pas moins agréable à usiter sur différents types d’écrans.
De prime abord le service peu paraître déroutant et austère. Sourcehut est composé de mini-services interconnectés (git.sr.ht pour Git, hg.sr.ht pour Mercurial, todo.sr.ht pour gérer les tickets ou issues, man.sr.ht pour la documentation, builds.sr.ht pour l’intégration continue, lists.sr.ht pour gérer des mailing lists, etc.).
La documentation de sourcehut utilise sourcehut comme par exemple pour Git ou paste. Et les annonces à propos des évolutions régulières de la plateforme se font ici via le service de mailing lists. Bref c’est déjà vraiment très complet et super efficace. sourcehut repose sur un paradigme bien différent de GitHub ou de GitLab.
Pour moi c’est vraiment la forge du hacker. De par son pragmatisme, sa souplesse et le fait quelle repose sur des technologies ouvertes. Mais je reviendrai là-dessus plus tard. Attention, sourcehut n’est pas pour le développeur qui compte ces followers ou stars de ces projets. Et ne me faites pas dire ce que je n’ai pas dit. Je pense qu’un aspect un peu plus social pourrait aussi y être intégré. Mais de façon plus saine et pragmatique. Peut être simplement avec un mini-service de communication synchrone (contrairement aux emails) inter-équipe.
Une différence majeure entre sourcehut et GitHub réside dans lusage de Git.
Particulièrement le processus de contribution à des projets. Tout le monde connaît bien
les pull requests. Et bien avec sourcehut c’est beaucoup plus simple. Vous travaillez
localement sur votre branche de votre propre dépôt (ou fork) et vous pouvez contribuer
(en upstream) simplement en envoyant un patch par email. Oui je vous entend, mais lisez
la suite avant de réagir comme ça. Des milliers de contributeurs de Linux et d’autres
gros projets travaillent de cette manière encore aujourd’hui. En fait Git a été conçu
pour travailler de cette manière. Envoyer des patchs par email en 2019 peut paraître
old school, mais pour avoir essayé je peux vous dire que c’est vraiment simple
et même plus rapide que de passer par une interface Web. Dans mon cas j’ai utilisé
cette extension Git qui permet denvoyer un set de commits en upstream par email.
Et une fois lextension bien configurée, il suffit par exemple de taper
git send-email HEAD~2
. Qui en quelques sortes est léquivalent d’une pull request sur
GitHub. Ensuite le mainteneur peut appliquer le patch. Aussi l’avantage de l’email
pour contribuer à des projets est que vous utilisez des technologies open source. Vous
pouvez ainsi utiliser des clients comme Thunderbird ou KMail. Ou directement SMTP si
vous utilisez le module Git send-email. Et comme on peut le voir, il est naturellement
possible de discuter sur un patch soumis avant qu’une contribution soit acceptée.
Comme une discussion sur GitHub. Sauf que ces discussions je peux les suivre depuis
KMail et y prendre part sans ouvrir mon navigateur Web. Alors certes, j’aime beaucoup ce
navigateur Web qui est Firefox. Mais ces derniers temps il est beaucoup utilisé pour
interagir avec des services propriétaires. Et je trouve ceci assez ironique. Le fait
qu’une bonne veille application de bureau permette finalement de communiquer en
utilisant des standards, dans le cadre de contributions à des projets open source.
Bon, c’est un autre sujet…
Pour finir ce que je trouve assez rigolo avec le service sourcehut (sr.ht), c’est la page pricing. C’est exactement mon esprit. Je n’ai jamais dépensé un cent pour GitHub ou GitLab alors que je contribue déjà financièrement à sourcehut. Pour l’instant à hauteur de 50 euros par an. Et si nécessaire je nhésiterai pas à donner plus.