Ghostty is leaving GitHub
Ghostty is leaving GitHub
Ghostty 即将离开 GitHub
Mitchell Hashimoto | April 28, 2026 Mitchell Hashimoto | 2026年4月28日
Writing this makes me irrationally sad, but Ghostty will be leaving GitHub. I’m GitHub user 1299, joined Feb 2008. Since then, I’ve opened GitHub every single day. Every day, multiple times per day, for over 18 years. Over half my life. A handful of exceptions in there (I’d love to see the data), but I can’t imagine more than a week per year. 写下这些文字让我感到一种莫名的悲伤,但 Ghostty 即将离开 GitHub。我是 GitHub 的第 1299 号用户,于 2008 年 2 月加入。从那时起,我每天都会打开 GitHub。在过去的 18 年里,我每天都会打开它,而且每天不止一次。这占据了我人生的一半以上。期间虽然有极少数例外(我很想看看具体数据),但我无法想象一年中会有超过一周的时间不使用它。
GitHub is the place that has made me the most happy. I always made time for it. When I went through tough breakups? I lost myself in open source… on GitHub. During college at 4 AM when everyone is passed out? Let me get one commit in. During my honeymoon while my wife is still asleep? Yeah, GitHub. It’s where I’ve historically been happiest and wanted to be. GitHub 是让我感到最快乐的地方。我总是为它留出时间。当我经历痛苦的分手时?我沉浸在开源世界中……在 GitHub 上。大学里凌晨 4 点,当所有人都睡着时?让我提交一次代码。蜜月期间,当妻子还在睡觉时?没错,还是 GitHub。一直以来,这里都是我最快乐、最想待的地方。
Even the annoying stuff! Some people doom scroll social media. I’ve been doom scrolling GitHub issues since before that was a word. On vacations I’d have bookmarks of different projects on GitHub I wanted to study. Not just source code, but OSS processes, how other maintainers react to difficult situations. Etc. Believe it or not, I like this. Some might call this sick, but my hobby and work and passion all align and for most of my life they got to also live in one place on the internet: GitHub. 即使是那些烦人的事情!有些人喜欢在社交媒体上“末日刷屏”(doom scroll),而我在这个词出现之前,就已经在 GitHub 上“末日刷屏”各种 Issue 了。度假时,我会收藏各种想研究的 GitHub 项目。不仅是源代码,还有开源流程、其他维护者如何应对棘手情况等等。信不信由你,我喜欢这样。有些人可能会觉得这很病态,但我的爱好、工作和热情都在这里交汇,在我生命的大部分时间里,它们都可以在互联网上的同一个地方共存:GitHub。
Did you know I started Vagrant (my first successful open source project) in large part because I hoped it would get me a job at GitHub? It’s no secret, I’ve said this repeatedly, and in my first public talk about Vagrant, when I was a mere 20 years old, I joked “maybe GitHub will hire me if it’s good!” GitHub was my dream job. I didn’t ever get to work there (not their fault). But it was the perfect place I wanted to be. The engineers were incredible, the product was incredible, and it was something I lived and breathed every day. I still do and consistently have… for these 18 years. Enough time for an entire human to become an adult, all on GitHub. 你知道吗?我启动 Vagrant(我第一个成功的开源项目)很大程度上是因为我希望它能帮我获得一份 GitHub 的工作。这不是什么秘密,我多次提到过。在我 20 岁时关于 Vagrant 的第一次公开演讲中,我还开玩笑说:“如果它做得好,也许 GitHub 会雇佣我!”GitHub 是我梦寐以求的工作场所。我从未在那里工作过(这不是他们的错),但它是我心目中最完美的地方。那里的工程师非常出色,产品也非常棒,它是我每天生活和呼吸的一部分。这 18 年来,我一直如此。这足以让一个人从出生长到成年,而这一切都发生在 GitHub 上。
Lately, I’ve been very publicly critical of GitHub. I’ve been mean about it. I’ve been angry about it. I’ve hurt people’s feelings. I’ve been lashing out. Because GitHub is failing me, every single day, and it is personal. It is irrationally personal. I love GitHub more than a person should love a thing, and I’m mad at it. I’m sorry about the hurt feelings to the people working on it. 最近,我公开批评了 GitHub。我的言辞很刻薄,我很愤怒,我伤害了别人的感情,我一直在发泄。因为 GitHub 每天都在让我失望,这让我感到很个人化。这是一种非理性的个人情感。我爱 GitHub 超过了一个人对事物的正常喜爱程度,所以我才对它如此愤怒。对于那些在 GitHub 工作的人,我为伤害了你们的感情感到抱歉。
I’ve felt this way for a long time, but for the past month I’ve kept a journal where I put an “X” next to every date where a GitHub outage has negatively impacted my ability to work. Almost every day has an X. On the day I am writing this post, I’ve been unable to do any PR review for ~2 hours because there is a GitHub Actions outage. This is no longer a place for serious work if it just blocks you out for hours per day, every day. It’s not a fun place for me to be anymore. 这种感觉已经持续很久了,但在过去的一个月里,我开始写日记,每当 GitHub 的故障影响到我的工作时,我就会在日期旁打一个“X”。几乎每一天都有一个 X。在我写这篇文章的当天,因为 GitHub Actions 的故障,我无法进行任何 PR 审查,持续了大约 2 个小时。如果一个平台每天都要阻碍你工作几个小时,那它就不再是一个适合严肃工作的地方了。对我来说,这里不再是一个有趣的地方。
I want to be there but it doesn’t want me to be there. I want to get work done and it doesn’t want me to get work done. I want to ship software and it doesn’t want me to ship software. I want it to be better, but I also want to code. And I can’t code with GitHub anymore. I’m sorry. After 18 years, I’ve got to go. I’d love to come back one day, but this will have to be predicated on real results and improvements, not words and promises. 我想留在这里,但它似乎并不欢迎我。我想完成工作,但它不让我完成。我想发布软件,但它不让我发布。我希望它变得更好,但我也想写代码。而现在,我无法再在 GitHub 上写代码了。我很抱歉。18 年后,我必须离开了。我希望有一天能回来,但这必须建立在实际成果和改进的基础上,而不是空谈和承诺。
I’ll share more details about where the Ghostty project will be moving to in the coming months. We have a plan but I’m also very much still in discussions with multiple providers (both commercial and FOSS). It’ll take us time to remove all of our dependencies on GitHub and we have a plan in place to do it as incrementally as possible. We plan on keeping a read-only mirror available on GitHub at the current URL. My personal projects and other work will remain on GitHub for now. Ghostty is where I, our maintainers, and our open source community are most impacted so that is the focus of this change. We’ll see where it goes after that. 在接下来的几个月里,我会分享更多关于 Ghostty 项目将迁移到哪里的细节。我们已经有了计划,但我仍在与多家提供商(包括商业和开源提供商)进行讨论。我们需要时间来移除对 GitHub 的所有依赖,我们已经制定了尽可能逐步完成的计划。我们计划在 GitHub 上保留一个只读镜像,地址保持不变。我个人的项目和其他工作目前仍将保留在 GitHub 上。Ghostty 是我和我们的维护者以及开源社区受影响最严重的地方,因此这是此次变更的重点。之后的情况我们再看。
Footnotes / 脚注
-
The timing of this is coincidental with the large outage on April 27, 2026. We’ve been discussing and putting together a plan to leave GitHub for months, and this blog post was written over a week ago. We only made the final decision this week. 此次发布的时间与 2026 年 4 月 27 日的大规模故障纯属巧合。我们讨论并制定离开 GitHub 的计划已经好几个月了,这篇博文也是一周前写的。我们直到本周才做出最终决定。
-
To the “Git is distributed!” crowd: the issue isn’t Git, it’s the infrastructure we rely on around it: issues, PRs, Actions, etc. 对于那些高喊“Git 是分布式的!”的人:问题不在于 Git,而在于我们依赖的周边基础设施:Issues、PRs、Actions 等。
-
This is not the large Elasticsearch outage they had on April 27, 2026. This blog post was written a week before that, so this was a different outage. 这并非 2026 年 4 月 27 日发生的大规模 Elasticsearch 故障。这篇博文写于那次故障的一周前,所以这是另一次不同的故障。