Ghostty / 博客文章

访谈 Mitchell Hashimoto:终端、Zig与开源哲学

约 2 小时前发布

原文链接https://alexalejandre.com/programming/interview-with-mitchell-hashimoto/
原文作者:Alex Alejandre
访谈对象:Mitchell Hashimoto(Vagrant、Terraform、Ghostty等知名工具的作者)
发布日期:2026年7月9日


核心价值观点提炼

1. 关于终端(Terminal)与Ghostty的愿景

  • Ghostty的诞生:源于Hashimoto想在离开HashiCorp后重拾技术敏锐度,同时满足三个目标——AI前的GPU编程、桌面/单机系统编程、学习Zig语言。最初只是个人学习项目,目标是能运行vim和编译器即可,后因朋友实际使用而转为公开项目。
  • 终端不应被推向极端:终端、浏览器、桌面各有其擅长领域。终端应用的优势在于组合性(composition)和可脚本化,比GUI应用更适合自动化。
  • 终端需要的基础改进
    • 引入 "n-screen" API:支持创建多个后台屏幕,可叠加、独立窗口化,解决当前仅主/备两屏的限制。
    • 推出 "按钮协议"(button protocol):让历史滚动中的可点击元素(如链接)依然能触发事件,解决当前鼠标协议无法作用于历史内容的问题。
  • 拒绝重建整个用户空间:曾实验用Wayland替换PTY协议,但最终放弃。认为终端缺乏的是有品味的标准化机构,而非全新协议。

2. 关于Zig与编程语言

  • Zig的现状与未来:Hashimoto认为Zig在持续变好,即使尚未达到1.0,其编译速度、API设计都在进步。他接受变更带来的痛苦,甚至通过参与编译器补丁来深度融入社区。
  • AI缓解语言变迁之痛:尽管Zig有严格的反AI政策,但Hashimoto认为AI能帮助自动完成大量代码迁移工作,降低下游用户的升级成本。
  • 语言只是手段:他建议学习者先理解计算机底层原理(CPU调度、内存、缓存、文件系统),再选择语言(C、Zig、Rust)作为工具。阅读高级语言标准库的实现是很好的学习方式。

3. 开源哲学与维护者心态

  • 开源是权利,非义务:Hashimoto强调,开源许可证的核心是"按原样提供,无任何保证"。维护者对用户零义务。用户若不满,应自行fork并维护,而非要求维护者迁就。
  • 平衡愿景与现实:维护者需要定期抽离,专注于个人愿景和重大改进,而非终日处理用户问题。否则软件会稳定但停滞。
  • 合并非所有PR:接受所有贡献会导致代码库失去方向。有远见的维护者能用一个优雅功能解决多个用户诉求,这比逐个实现需求更高效。
  • 反对"产品化"开源:风投支持的开源项目让一代人误以为开源等于有保障的产品。真正的开源生态应鼓励更多个人分支,这既赋予用户权力,也培养对构建者的共情。

4. 设计原则与社区文化

  • 原则应源于自身:无论是HashiCorp的原则还是Ghostty的定位(跨平台核心+原生GUI),都只是Hashimoto个人价值观的反映。设定与自己不符的宏大原则往往难以坚持。
  • 拥抱"部落"差异:他不喜欢Rust社区的文化,但尊重其技术和人。他认为不同语言、社区应有独特个性,没必要迎合所有人。缺少某些特征的语言反而能激发创造力。
  • 抱怨文化 vs. 行动文化:Hashimoto批评互联网上非黑即白的站队思维,以及用户"乞求"维护者改变而非自己动手的失能心态。他呼吁更多实质性的fork行动。

5. 质量、速度与AI辅助

  • 用"整体理解"替代"点状解决":要真正解决用户问题,需理解问题产生的完整上下文,而非仅响应表面诉求。这需要维护者深度使用自己的产品
  • AI作为快速原型工具:Hashimoto用AI生成"草稿级"代码,验证方向是否正确。若可行,再亲手重写高质量实现。他强调必须读懂、理解并共情最终交付的每一行代码。
  • 孩子与时间管理:作为新生儿父亲,他每天仅3小时电脑时间,AI帮他高效"将想法交付给自己",为后续精心打磨节省时间。

中文摘要

Mitchell Hashimoto(HashiCorp联合创始人,Vagrant、Terraform、Ghostty等工具作者)在这次深度访谈中,分享了他对终端生态系统的革新构想、选择Zig的技术考量,以及他鲜明的开源维护哲学。

关于终端,他认为不应将终端推向无所不能的极端,而应强化其在组合性与可脚本化方面的独特优势。他正为Ghostty设计两项核心协议改进:支持多屏幕的"n-screen API"和作用于历史内容的"按钮协议",旨在解决当前PTY协议的先天不足。

关于语言与学习,他高度评价Zig的编译速度和API设计,接受其未达1.0的变动成本,并认为AI能辅助迁移。但他强调,理解计算机底层原理比掌握某种语言更重要,建议学习者深入标准库实现。

关于开源与维护,他立场鲜明:开源是权利,维护者无义务满足用户。用户应主动fork项目而非要求迁就。他批评风投支持的开源项目滋生了"用户即客户"的错误预期,并主张维护者应平衡"处理现实问题"与"推进宏大愿景",拒绝无方向地合并所有PR。

关于设计与社区,他认为设计原则应内化于自身,而非外在强加。他尊重不同技术社区的"古怪"文化,反对互联网上非黑即白的二元评判。在质量与速度上,他借助AI快速验证想法,但坚持亲手重写高质量代码,并强调深度使用自身产品是保持判断力的关键。

整篇访谈展现了Hashimoto作为资深工具构建者的技术洞察、对开源本质的深刻理解,以及一种"自主、负责、尊重差异"的工程文化观。

加入开源交流群

请加站长微信,免费进入交流群,和开源爱好者一起讨论。

站长微信二维码