Le nuage est une prison. Le mouvement Local-First Software peut-il nous libérer ?
Il décrit le papier Shapiros comme un réveil. Dans les CRDT, Kleppmann a vu la base technique d’une nouvelle classe de logiciels que personne ne fournissait. Mais les algorithmes étaient pour la plupart inutiles pour les programmeurs professionnels. Ils étaient trop inefficaces et manquaient des outils typiques que les développeurs utilisent réellement pour créer des applications. Kleppmann s’est rendu compte qu’il devrait faciliter la vie des développeurs locaux d’abord, en faisant passer l’idée d’un ensemble de preuves mathématiques à un code prêt pour la production. Il s’est mis à coder une implémentation open source de CRDT, qu’il a appelée Automerge, que les gens pouvaient utiliser librement pour créer des applications.
J’ai vu le fruit de cet effort quelques années plus tard, peu de temps après que le premier manifeste local ait éclaté Hacker News. J’ai rencontré Peter van Hardenberg, l’un des coauteurs de Kleppmann, dans un café de San Francisco. Comme Kleppmann, il redémarrait après un long voyage dans le cloud, d’abord au sein de l’équipe fondatrice d’Heroku, qui a aidé d’autres startups à lancer leurs services cloud, puis au sein de son acquéreur, Salesforce. Il voulait me montrer une application appelée Pushpin, envisagée comme un tableau de liège numérique.
Van Hardenberg a sorti un projet vierge sur son iPad. J’ai chargé une réplique du même fichier sur mon ordinateur portable. Nous avons commencé à bricoler, à ajouter des images et des zones de texte à nos propres fichiers, puis à les fusionner. Parfois, cela fonctionnait de manière transparente; d’autres fois, les modifications ont cessé de se charger ou les pixels ont traîné avec la latence de l’ère de l’accès à distance. Pushpin ressemblait à un jouet, le genre d’application que deux étudiants de Stanford aux yeux brillants pourraient coder dans la salle commune avec des visions d’une graine ronde et plus tard mise de côté dans l’embarras.
Mais van Hardenberg était loin d’être gêné. Selon lui, les bases techniques étaient en train d’être posées pour les premières versions locales de Slack, Discord, Google Docs, Photoshop. Meilleures applications de conception, calendriers, budgets. Des programmes plus complexes aussi, s’ils pouvaient rendre Automerge beaucoup plus efficace. Il y avait la possibilité d’un cryptage privé de bout en bout pour toutes ces applications collaboratives, car aucun serveur ne gênerait. Il y avait des limites techniques aux CRDT et à de nombreuses applications que le cloud servirait bien mieux. Mais pour lui, le prototype ressemblait à une révolution. Il n’y avait pas de serveur entre nous. Pourtant, cela a fonctionné. Principalement. Nous étions deux pairs communiquant, comme le voulaient les premiers maçons d’Internet.
La vision de Van Hardenberg était un peu plus facile à voir quand nous nous sommes revus à Saint-Louis. Les géants de la technologie glissaient. L’action Metas était à son plus bas niveau depuis sept ans. Twitter était au milieu d’une prise de contrôle hostile d’Elon Musk. Kleppmann passait quelques heures chaque semaine en tant que conseiller technique de Bluesky, engendré par Twitter comme une expérience décentralisée et maintenant soudainement mis sous les projecteurs, en passe de devenir son concurrent. Sa conception fédérée promettait de donner aux gens la possibilité de quitter les serveurs et les services qui les traitaient mal. Bluesky n’utilisait pas de CRDT, ce qui serait beaucoup trop lent pour coordonner les flux de millions d’utilisateurs de médias sociaux, mais l’objectif était similaire : une meilleure relation avec l’ordinateur de quelqu’un d’autre. Les alternatives informatiques étaient à nouveau à la mode.
Parmi eux, les CRDT. Strange Loop regorgeait de premières présentations locales, une surprise pour Kleppmann et van Hardenberg, qui avaient jusqu’à récemment suivi chaque projet via Google Alerts et le bouche à oreille. Les CRDT faisaient également leur apparition dans le reste du monde. Développeurs chez Le Poste de Washington les avait utilisés pour créer un outil de classement des articles sur la page d’accueil. Les gens fouillant dans le code qui exécute l’application Apples Notes avaient remarqué les CRDT. Jupyter Notebooks, une application de science des données populaire, a restauré ses outils de collaboration à l’aide de CRDT après que Google se soit débarrassé du service cloud dont il dépendait auparavant.
Parmi les présentateurs de Strange Loop se trouvait un développeur canadien du nom de Brooklyn Zelenka, cofondateur d’une société appelée Fission. Quand elle a lu le manifeste local d’abord, elle se souvient, j’étais comme, c’est une super phrase. Avant cela, nous avions ces expressions maladroites, comme l’indépendance de l’emplacement ou les données appartenant à l’utilisateur. Zelenka s’était intéressée aux idées de Web3, le surnom adopté par les applications décentralisées qui utilisent la technologie blockchain et la crypto-monnaie, mais a trouvé sa culture agressive, qu’elle a attribuée à l’accent mis sur l’argent si clairement, tout le temps. C’était agréable d’entrer tôt dans le local d’abord. Tout est un fruit à portée de main en ce moment, m’a dit Zelenka.