Le 28 avril 2026, Mitchell Hashimoto a annoncé que Ghostty, son émulateur de terminal open-source, quitte GitHub. Il est l'utilisateur GitHub 1299. Il a rejoint la plateforme en février 2008. Il a utilisé la plateforme presque tous les jours pendant plus de 18 ans. Rien de tout cela n'a compté le jour où il a écrit l'article ; il tenait déjà un journal des pannes "presque tous les jours il y a un X", et une défaillance de GitHub Actions le jour de l'annonce a bloqué ses révisions de PR pendant deux heures. Son verdict a été direct : "Ce n'est plus un endroit pour un travail sérieux si cela vous bloque des heures par jour, tous les jours."
Si vous créez des outils pour développeurs, c'est l'annonce à lire deux fois. Hashimoto n'est pas un utilisateur occasionnel de GitHub ; il a cofondé HashiCorp en s'appuyant sur GitHub, a livré Terraform, Vagrant, Vault, Consul et Boundary par son intermédiaire, et est l'utilisateur GitHub 1299. Lorsqu'un tel profil d'utilisateur abandonne la plateforme de développement dominante sur Terre, l'histoire est plus grande qu'un simple émulateur de terminal choisissant une nouvelle demeure. C'est un signal concernant la fiabilité, le verrouillage ("lock-in"), et le coût de la création d'un outil dont d'autres développeurs dépendent chaque jour. Cet article décortique ce que Hashimoto a dit, ce que cela signifie pour quiconque livre des outils pour développeurs, et les modèles qui protègent votre propre pile du même piège.
Pour un contexte plus large sur la façon dont les outils de développement de l'ère de l'IA transforment le flux de travail natif de GitHub, consultez comment écrire des fichiers AGENTS.md et l'utilisation et la facturation de l'API GitHub Copilot pour les équipes. Pour la perspective d'une équipe sur l'automatisation face aux lacunes de fiabilité de GitHub, consultez l'article sur le bot de triage Clawsweeper.
TL;DR
- Mitchell Hashimoto a annoncé le 28 avril 2026 que Ghostty quitterait GitHub pour une forge encore non nommée.
- Sa raison : des pannes chroniques de GitHub Actions et de la plateforme qu'il a documentées comme "presque tous les jours il y a un X" dans un journal personnel. Le jour de l'annonce a vu une panne de deux heures d'Actions qui a bloqué les révisions de PR.
- Il a maintenu un miroir Ghostty en lecture seule sur GitHub et migre le développement actif de manière incrémentale ; ses autres projets restent sur GitHub pour l'instant.
- L'histoire importe moins pour savoir où Ghostty atterrit que parce que Hashimoto, utilisateur GitHub 1299, est parti pour des raisons de fiabilité, et non pour des raisons de fonctionnalités.
- Pour les créateurs d'outils pour développeurs, la leçon est que la fiabilité prime sur les fonctionnalités une fois que votre outil se trouve sur le chemin critique de quelqu'un. Le théâtre de la page d'état et les tweets "nous enquêtons" ne vous rendent pas la confiance.
- Pour les équipes API en particulier, la stratégie est le découplage : des clients agnostiques aux fournisseurs, des dépendances mockées pendant les pannes, et des chemins de migration que vous pratiquez avant d'en avoir besoin. Apidog est construit sur ce modèle.
Ce que Hashimoto a dit dans l'article
L'article d'annonce est court, ce qui fait partie du message. Il n'y a pas de manifeste, pas de pique à Microsoft, pas de publicité pour une forge alternative. Hashimoto présente la chronologie simplement : il a commencé à tenir un journal des pannes de GitHub, le journal s'est rempli plus vite qu'il ne l'avait prévu, et le matin où il a écrit l'article, une défaillance de GitHub Actions l'a empêché de réviser les PRs pendant deux heures. Il a conclu que la plateforme n'est plus suffisamment fiable pour le type de travail qu'il effectue sur Ghostty.
Les chiffres entourant l'annonce méritent d'être précisés. Le 27 avril 2026, la veille de l'article de Hashimoto, une panne majeure de GitHub a affecté les Actions, les packages et la surface de l'API. Le journal qu'il mentionne dans l'article est antérieur à cette panne ; il suit ce modèle depuis des mois. Il présente le déménagement comme quelque chose qui a été planifié discrètement, et non comme une réaction à une seule mauvaise journée. La panne du 27 avril a précipité le moment, mais pas la décision.
Il est également explicite quant aux limites. Ghostty part ; ses autres projets restent sur GitHub pour l'instant. Le dépôt Ghostty restera un miroir en lecture seule à l'URL actuelle ; une nouvelle forge hébergera le développement actif, y compris les problèmes, les demandes de tirage (pull requests) et le CI. Il est en pourparlers avec plusieurs fournisseurs, commerciaux et FOSS, et ne s'est pas encore engagé sur une destination. La migration se fera de manière incrémentale, et non en un seul jour.
L'omission en dit autant que les mots. Hashimoto ne mentionne pas les fonctionnalités, les prix ou l'orientation du produit. La plainte est que la surface dont il dépendait cesse de répondre pendant des heures, et un projet qui livre des logiciels ne peut pas fonctionner sur un substrat qui ne fonctionne pas.
Pourquoi l'angle de la fiabilité importe plus que la migration
La plupart des couvertures de l'annonce posent la mauvaise question. La question intéressante n'est pas où Ghostty atterrit ; la question intéressante est comment une plateforme avec la profondeur d'ingénierie de GitHub en est arrivée au point où son deuxième utilisateur OG le plus éminent est parti pour des raisons de fiabilité. La deuxième question la plus intéressante est ce que cela dit sur les outils que nous construisons, nous autres.
Trois choses distinguent cette annonce des publications habituelles du type "Je quitte X".
L'utilisateur. Hashimoto n'est pas un nouveau développeur ; il a construit des outils d'infrastructure utilisés par des entreprises du Fortune 500. Lorsqu'il affirme que GitHub n'est pas fiable, l'audience qui reçoit ce message inclut les personnes qui décident où réside le code source de leur entreprise. Les listes de diffusion des CTO étaient déjà pleines de cet article le matin du 29 avril.
La raison. Il n'est pas parti à cause de Copilot, de Microsoft, de la formation à l'IA, des contrats ICE, des prix, ou de tout autre sujet de départ habituel. Il est parti parce que le service n'arrêtait pas de tomber en panne. Cela réduit la conversation à l'axe sur lequel tout le monde s'accorde : l'outil fonctionne-t-il quand vous en avez besoin ?
Le ton. Il n'y a pas de rage. L'article se lit comme un post-mortem écrit par quelqu'un qui a fait de grands efforts pour rester. Le manque de drame est ce qui le rend plus percutant que n'importe quel article plus bruyant n'aurait pu l'être. Les gens le croient.
Pour quiconque gère un outil de développement, cette combinaison est le scénario du pire. Un utilisateur de longue date, sans motif politique, sans dispute publique, seulement une accumulation silencieuse d'entrées "la chose n'a pas fonctionné aujourd'hui" jusqu'à ce que le calcul n'ait plus de sens. Il n'y a pas de réponse des relations publiques à un journal.
Ce que cela signifie si vous créez des outils pour développeurs
Si votre produit se situe sur le chemin critique d'un développeur, l'annonce de Hashimoto est un test de résistance. Appliquez-le à votre propre service.
Première question : quelle fraction de vos utilisateurs pourrait écrire le même journal à votre sujet ?
Récupérez les incidents des 90 derniers jours de votre page d'état, plus les dégradations non signalées que votre équipe connaît mais que la page d'état ne mentionne pas. Mappez-les par rapport aux heures de travail de vos 20 meilleurs clients. Comptez combien d'heures ont été perdues à vous attendre. Si la réponse est "plus de zéro par semaine par utilisateur intensif", vous êtes sur la même trajectoire.
Deuxième question : quelle est la dérivée seconde de votre fiabilité ?
Une fiabilité qui stagne est acceptable. Une fiabilité qui se dégrade silencieusement est le piège. Le journal de Hashimoto documente un modèle, pas un événement unique. Si vous n'avez pas de budget d'erreur par composant que quelqu'un lit le lundi matin, vous ne pouvez pas savoir dans quelle direction vos chiffres évoluent.
Troisième question : publiez-vous suffisamment d'informations pour que les utilisateurs n'aient pas besoin de tenir un journal ?
Les journaux existent parce que les utilisateurs ne font pas confiance au signal public. Votre page d'état devrait être active ("hot"), pas froide. Si une fonctionnalité est dégradée, signalez-le. Si une région est lente, signalez-le. Si votre file d'attente en arrière-plan a 30 minutes de retard, signalez-le. Les utilisateurs qui peuvent voir la vérité en temps réel ne commencent pas à tenir des journaux.
Quatrième question : êtes-vous fiable pour un travail sérieux ou pour la démonstration ?
Un temps de disponibilité de 99,95 % qui regroupe tous les temps d'arrêt pendant les heures de travail des développeurs est pire qu'un temps de disponibilité de 99,9 % réparti uniformément. Si votre charge de travail est une session de révision de PR de quatre heures, deux heures de panne à tout moment sont sans importance ; deux heures de panne pendant cette session représentent toute la session. Mesurez la disponibilité par rapport à la courbe d'utilisation réelle du client, pas la vôtre.
Le verrouillage et le coût du "toujours GitHub"
L'expression que Hashimoto a utilisée à son propre sujet est la phrase la plus citée de l'article : "Pour moi, il n'y a jamais eu de question quant à l'endroit où je mettrais mes projets : toujours GitHub." C'est le coût de l'habitude, et c'est le coût que la plupart des développeurs ne calculent pas correctement.
Lorsqu'une seule plateforme est la valeur par défaut pour les dépôts, les problèmes, les PR, le CI, la distribution de paquets, les releases et l'identité, la surface du "verrouillage" est bien plus grande que la surface de "l'historique Git". Vous pouvez cloner un dépôt Git n'importe où ; vous ne pouvez pas cloner un traqueur de problèmes, un historique de révision de PR, un fil de discussion, le stockage des secrets de GitHub Actions ou le workflow de révision lié aux CODEOWNERS avec une seule commande. Le coût de migration a la forme d'un iceberg.
Ce coût se compose pour les créateurs d'outils. Si votre outil de développement vit à l'intérieur d'une GitHub Action, est distribué via la Marketplace, s'authentifie via GitHub OAuth et livre des releases via GitHub Packages, la fiabilité de votre outil est un dérivé de la fiabilité de GitHub. Votre budget d'erreur est une fraction du leur. Vos clients subissent votre temps d'arrêt lorsqu'ils utilisent votre outil, mais ils subissent également votre temps d'arrêt lorsque GitHub tombe en panne et que votre outil cesse de répondre. L'attribution des responsabilités n'est pas toujours précise ; l'expérience client l'est.
Le travail de découplage n'est pas glamour, et c'est un travail. Rendez chaque dépendance remplaçable. Traitez GitHub comme un fournisseur parmi d'autres, et non comme une infrastructure. Testez le chemin alternatif trimestriellement. Migrez les parties qui s'adaptent mieux à une forge différente ; conservez celles qui ne le font pas. La ligne de conduite de Hashimoto sur la "migration incrémentale" est le bon modèle pour tout le monde, pas seulement pour lui.
Les alternatives de forge, en bref
- Forgejo. Fork "dur" de Gitea, entièrement FOSS (logiciel libre et open source), maintenu par l'association à but non lucratif Codeberg e.V. La fédération via ActivityPub est sur la feuille de route et partiellement implémentée. L'option par défaut pour les projets alignés sur le FOSS.
- Codeberg. Une instance Forgejo hébergée, gérée comme une association à but non lucratif. Gratuite pour l'open source, pas encore d'équivalent d'Actions à l'échelle de GitHub.
- GitLab. CI/CD robuste, parité fonctionnelle complète avec GitHub sur la plupart des workflows, soutien commercial. Choix controversé pour la communauté FOSS compte tenu des récentes évolutions en matière de licences.
- Sourcehut. Workflow basé sur l'e-mail, minimaliste, rapide. Audience de niche, mais l'audience qui l'utilise l'adore. La politique de Drew DeVault est une caractéristique ou un défaut selon vos préjugés.
- Forgejo ou Gitea auto-hébergé sur "bare metal". Contrôle maximal, responsabilité opérationnelle maximale. L'option "passer en mode sombre".
- Radicle. Pair-à-pair, pas d'hôte central. Précoce, mais l'argument de la fédération est le plus fort ici. Probablement trop tôt pour un projet destiné au grand public.
Hashimoto ne s'est explicitement engagé sur aucune. Le signal dans le silence est qu'aucune des options n'est un remplacement évident pour tout ce que GitHub fait, ce qui est le but : lorsqu'une plateforme absorbe toute la pile, la remplacer proprement est intrinsèquement difficile.
La leçon pour les équipes API
Si vous créez des API ou des outils API au lieu d'émulateurs de terminal, le même schéma s'applique, les noms étant modifiés. Remplacez "GitHub Actions" par "l'API en amont dont dépend votre produit". Remplacez "problèmes et PR" par "la boîte de réception où vos clients vous signalent que quelque chose ne va pas". La question structurelle est la même : quelle part du travail de votre client dépend d'un service que vous ne contrôlez pas, et comment restez-vous utile lorsque ce service tombe en panne ?
Trois schémas résistent au contact de la réalité.
Mocker tout ce dont vous dépendez. Vos clients devraient pouvoir continuer à construire lorsque l'API en amont est en panne. Cela signifie que la suite de tests, la boucle de développement locale et le pipeline CI ont tous besoin d'un serveur de mock qui renvoie des réponses réalistes sans appel réseau. Apidog propose cela comme une fonctionnalité de premier ordre ; les mêmes définitions de données que vous utilisez pour tester l'API en direct génèrent le mock. Le schéma est simple et le coût est payé une seule fois. Voir la comparaison avec l'écosystème de forme OpenAI dans comment utiliser l'API GPT-5.5 pour voir à quoi ressemble une histoire de mocking multi-fournisseurs en pratique.
Tester avec plusieurs fournisseurs. OpenAI, Anthropic, Mistral, DeepSeek, Google et xAI exposent tous des points de terminaison de complétion de chat avec des formes qui se chevauchent. Si votre produit enveloppe l'un d'entre eux, la différence entre "nous sommes en panne parce qu'OpenAI est en panne" et "nous avons transparentement redirigé vers un fournisseur de secours" représente deux jours de travail d'intégration. Exécutez votre suite de tests sur chaque fournisseur que vous supportez, pas seulement le principal. Les variables d'environnement d'Apidog font du changement une modification de configuration d'une seule ligne.
Découplez votre pipeline de publication de votre plateforme d'hébergement. Si votre CI réside entièrement sur GitHub Actions et que GitHub Actions connaît un après-midi difficile, votre publication n'aboutira à rien. La mise en miroir du CI vers un deuxième exécuteur, ou l'auto-hébergement d'au moins les chemins critiques, élimine le point de défaillance unique. Le coût est réel ; l'alternative est d'être incapable de livrer pendant que la page d'état de votre fournisseur principal change de couleur.
À quoi ressemble un workflow de type Apidog pour un travail API résilient
- Téléchargez Apidog et créez un projet par surface API en amont dont vous dépendez.
- Définissez les schémas de requête et de réponse une seule fois. Apidog génère un serveur de mock à partir du schéma afin que la boucle de développement ne soit jamais bloquée par le service en amont.
- Stockez les identifiants sous forme de secrets à portée d'environnement. La même forme de requête s'exécute contre
dev(mock),staging(bac à sable) etprod(en direct) en changeant d'environnement. - Rédigez des tests de contrat qui s'exécutent à chaque release ; les mêmes tests s'exécutent sur chaque fournisseur que vous supportez, de sorte qu'une régression sur le fournisseur A apparaît avant que les clients ne la voient.
- Lorsqu'une API en amont est dégradée, basculez l'environnement en mode mock et continuez à avancer. Le produit est toujours livré même si le service en amont ne l'est pas.
Ce schéma n'est pas spécifique à Ghostty ni à l'IA ; c'est le schéma d'API résiliente qui a porté ses fruits pour chaque équipe l'ayant adopté avant d'en avoir besoin. L'article de Hashimoto est le dernier rappel que vous l'adoptez avant d'en avoir besoin, pas après.
Ce que les développeurs retiennent de l'annonce
Les réactions des 48 premières heures se répartissent en quelques catégories.
Le camp des "tant mieux pour lui". Des utilisateurs expérimentés de GitHub, frustrés en silence depuis des mois, qui ont vu dans l'article une permission de rendre publiques leurs propres doléances. Beaucoup d'entre eux utilisent déjà un miroir vers une deuxième forge ; l'article les a poussés à faire de ce miroir leur principal dépôt.
Les sceptiques du "ce n'est qu'une panne". Des personnes soulignant que le temps de disponibilité global de GitHub est compétitif par rapport aux normes de l'industrie et que toute grande plateforme a ses mauvais jours. Ils n'ont pas tort sur le chiffre macro, mais ils passent à côté du point de la dérivée seconde : c'est la tendance, et non le chiffre absolu, qui a déclenché Hashimoto.
Les pragmatiques du "quitter la plateforme est difficile, on se voit dans six mois". Des ingénieurs qui ont déjà effectué une migration de forge et savent que le traqueur de problèmes, l'historique des PR et la surface du CI sont là où réside le coût de la migration. Ils ont raison, et le plan de Hashimoto "incrémental, avec un miroir en lecture seule" est la bonne approche pour cette contrainte.
Les inquiets du "quid de mes dépôts". Des mainteneurs plus modestes se demandant si leurs projets sont exposés au même risque. La réponse est oui en termes de forme, non en termes d'échelle ; une panne qui ferait perdre à Hashimoto une journée facturable chez HashiCorp est un inconvénient mineur pour un projet de week-end. Votre calcul de migration est différent.
Les réactions qui comptent ne sont pas sur les réseaux sociaux. Elles se trouvent au sein des organisations d'ingénierie qui ont choisi GitHub comme substrat pour tout ce qu'elles livrent. Les conversations ont lieu sur Slack en ce moment : comment réduire ce risque, à quoi ressemble notre politique interne en matière de mirroring sur une deuxième forge, et quel est le plan de sortie ?
Enseignements pratiques pour votre propre pile technologique
Une courte liste de vérification, basée sur des opinions :
- Miroitez vos dépôts actifs vers une deuxième forge chaque semaine. Forgejo et Codeberg sont gratuits pour l'open source. Le coût est un seul travail CI ; la valeur est de dormir tranquillement pendant la prochaine panne de quatre heures.
- Épinglez la dépendance. Si vous livrez un outil de développement qui appelle les API GitHub, traitez le client GitHub comme un adaptateur interchangeable, et non comme une importation "en dur". Ajoutez un adaptateur Forgejo ou GitLab derrière la même interface.
- Documentez le recours manuel. Lorsque le pipeline de publication automatisé ne peut pas s'exécuter, quel est le chemin manuel ? S'il n'est pas documenté, la réponse est "nous ne pouvons pas publier", et cette réponse est inacceptable pour tout outil ayant des clients payants.
- Auditez ce dont vous dépendez. Listez chaque service externe sur le chemin critique. Pour chacun, notez la réponse à la question "que faisons-nous si cela tombe en panne pendant quatre heures ?" Faites remonter les lacunes à la direction.
- Surveillez la dérivée seconde. Si la fréquence des incidents augmente de mois en mois, même sur un service qui respecte toujours son SLA, planifiez la migration avant qu'elle ne soit forcée.
Pour un exemple concret spécifique aux outils API, l'article sur la construction de workflows durables qui survivent aux pannes de fournisseur parcourt le même schéma avec du code, en utilisant DeepSeek et OpenAI comme exemple de double fournisseur. Les formes changent ; le principe, lui, ne change pas.
FAQ
- Où Ghostty déménage-t-il ?Hashimoto ne s'est pas engagé sur une destination dans l'article d'annonce. Il a déclaré que des discussions étaient en cours avec plusieurs fournisseurs, commerciaux et FOSS, et que la migration serait incrémentale, et non un changement unique. Le dépôt GitHub actuel de Ghostty restera un miroir en lecture seule afin que les clones, liens et références existants continuent de fonctionner.
- GitHub est-il si peu fiable ?Les chiffres de disponibilité annoncés par GitHub sont compétitifs par rapport aux plateformes homologues, mais la plateforme a connu plusieurs pannes prolongées en 2025 et 2026 qui ont affecté les Actions, les Packages et la surface de l'API. La plainte de Hashimoto est que le schéma de pannes partielles, même courtes, s'accumule en plusieurs heures de travail perdues par semaine pour les utilisateurs sur le chemin critique.
- Devrais-je déplacer mes dépôts de GitHub maintenant ?La mise en miroir en vaut presque certainement la peine. Une tâche CI hebdomadaire qui pousse vers une deuxième forge ne coûte pratiquement rien et vous offre une sauvegarde fonctionnelle la prochaine fois que GitHub Actions sera en panne pendant quelques heures. Le fait de faire de la deuxième forge la principale dépend de votre tolérance au coût de migration sur les problèmes, l'historique des PR et la configuration CI ; pour la plupart des équipes, ce coût n'est pas encore justifié par l'écart de fiabilité.
- Cela affecte-t-il mon utilisation de GitHub Copilot ou GitHub Actions ?L'article de Hashimoto ne mentionne spécifiquement aucun des deux produits, bien que la panne d'Actions le jour de l'article ait été le déclencheur immédiat. Copilot est une surface de produit distincte de la plateforme ; sa fiabilité est suivie séparément. Si votre équipe utilise GitHub Copilot, les modifications de facturation associées sont documentées dans l'utilisation et la facturation de l'API GitHub Copilot pour les équipes.
- Qu'est-ce que cela signifie pour les outils de développement de l'ère de l'IA qui dépendent des API GitHub ?Les outils qui encapsulent l'API GitHub (bots de révision, triage des problèmes, serveurs MCP) héritent du profil de fiabilité de GitHub par construction. L'atténuation est la même que pour toute dépendance tierce : mettre en cache agressivement, tolérer les pannes ("fail open") et mocker l'amont dans votre suite de tests. Le modèle de serveur de mock Apidog est un moyen peu coûteux de le faire ; l'article sur le bot de triage Clawsweeper présente un exemple fonctionnel.
- S'agit-il d'une tendance de "quitter GitHub" ou d'un cas isolé ?Probablement le début d'une tendance, mais lente. La migration de tout projet non trivial hors de GitHub est un projet de plusieurs semaines ; peu d'équipes le font pour le plaisir. Le signal dans l'article de Hashimoto est que le compromis a suffisamment évolué pour que l'un des utilisateurs les plus anciens de la plateforme ait décidé que le coût de la migration valait la peine d'être payé. D'autres projets très médiatisés sont susceptibles de suivre au cours des 12 prochains mois.
- Que signifie "créateur d'outils pour développeurs" dans ce contexte ?Toute personne qui livre des logiciels que d'autres développeurs utilisent dans le cadre de leur flux de travail quotidien. Cela inclut des cas évidents comme les terminaux, les éditeurs et les exécuteurs CI ; cela inclut également les clients API, les outils de surveillance, les registres de paquets et les assistants de codage IA. Si votre client est un développeur et que votre outil se situe entre eux et la livraison, vous êtes un créateur d'outils pour développeurs, et les leçons de fiabilité de l'article de Hashimoto s'appliquent directement.
