Mold 1.7 现已发布。Mold 是现有 Unix 链接器的快速替代品,它比 LLVM lld 链接器快几倍。
开发人员 Rui Ueyama 称,一直以来他都在全职从事该项目,并已持续了两年。原本以为随着项目的流行,或许可以获得一定的金钱收益,但事实却是一直在赔钱。因此他认为,需要采取行动使该项目长期可持续。所以想通知用户,除非之后获得大笔资金,否则他正在认真考虑将项目的许可证从 AGPL 更改为 source-available license,即个人可以免费使用但企业用户必须付费的模式。
Rui 还在他的 Google Doc 中指出:
甚至有点讽刺的是,有几家大公司曾问我,mold/macOS 什么时候可用,因为他们想把它用于他们价值数十亿美元的业务。但他们都没有给我资金支持。
获得财政支持的一个主要障碍是大多数公司没有一个内部程序来开始资助一个开源项目。如果他们需要为 license 付费,这很好,这是他们日常业务的一部分。但支持(或捐钱给)"自由"软件几乎是不可能的。它在各个管理级别提出了太多问题。它应该被归入什么财政项目?是否有任何法律上的影响?谁能首先批准它?最后但并非最不重要的是,如果它可以免费使用,他们为什么要这样做?
我一直在努力建立一个基于销售支持和获得财政支持的业务。但我需要承认,它并没有像我希望的那样做得很好。
Mold 1.7 的更新内容包括:
新功能
- [m68k] mold 现在支持摩托罗拉 68000 系列微处理器。它是 80 年代原始 Mac 或 Sun 工作站中的处理器。这项工作由 m68k 爱好者社区赞助。
错误修复和兼容性改进
- 修复了 Facebook/Meta 的 BOLT 优化器 的一些问题 (#789)。从下一个 LLVM 版本开始(需要 llvm/llvm-project@ 20204db),BOLT 应该可以开箱即用地处理 mold-generated 的可执行文件。
- 修复了一个长期存在的符号解析问题,该问题涉及 GNU UNIQUE 符号,导致一些程序的链接失败。(730e970)
- 以前,如果版本脚本包含“C++”指令,并且符号匹配 non-C++ 版本模式和 C++ 版本模式,则可能会为该符号分配错误的版本。已修复此问题,以便 mold 的行为与 GNU ld 匹配。(9875150)
更新说明:https://github.com/rui314/mold/releases/tag/v1.7.0