新功能被批评导致 Simh 维护者“摆烂”,随意修改开源许可证
Simh 是一个开源历史计算机模拟器,可以仿真历史上出现过的一些计算机硬件或软件,比如 IBM 1401、惠普 2114 等。该仿真工具的原作者是 Bob Supnik ,但他没有选择开源,而是 Fork 了一个开源版本。该开源版本在 GitHub 上基于 BSD 协议开源,由 Mark Pizzolato(注意这个马克老哥,他拥有 Simh 开源仓库的管理权,也是本文主人公) 、 Richard Cornwell 、Paul Koning 等核心维护者进行维护,社区的成员都可以为之开发新模块。
该项目已有近三十年的社区协作开发历史,但近期 Mark Pizzolato 向 Simh 添加了一项有争议的功能:在加载时修改磁盘映像文件以添加元数据。该功能随即遭到社区其他开发者的批评,因为马克的新功能导致 simH 可以在用户不知情的情况下修改磁盘容器,这显然是不合常理的。操作系统项目通常有“不破坏任何事物”的默认原则,比如 FreeBSD 的“最小惊讶原则”,以及 Linus 的口头禅“不要破坏 Linux 的用户空间”。也就是说,除非用户主动要求元数据,否则磁盘容器不应被操作系统修改。
然而,在被社区成员批评后,马克完全没有修改或完善功该功能的想法,反而直接“开摆”,在 5 月 16 号、18 号的提交中修改了 simH 主仓库的 BSD 开源许可证:
这改动写得非常绕,咱们来简单总结一下马克的意思:
如果你用 simH 的时候改动或者删除了我的 AUTOSIZE scp.c 和 sim_disk.c 功能,那我写的代码就不对你开源。
在许可证中加入禁止改动代码的限制,这个想法非常美好。然而从马克修改许可证的那一刻起,这个许可证就已经失效了,因为 BSD 规定 “……包括但不限于使用、复制、修改……软件的副本……” 而马克添加的禁止修改条件与前半段的 BSD 主许可冲突,一个自相矛盾的许可证是不被认可的,即使它只针对项目的部分代码。
而 simH 社区更是围绕 Mark 修改开源许可证一事展开了激烈讨论,相关帖子在社区首页已接近屠版。
同为核心开发者的 Richard Cornwell 直言自己大失所望,不想玩了,要求马克从仓库中移除自己开发的模块。
而另一位开发者 Paul Koning 对马克的行为作了非常中肯、一阵见血的评价:
- 开源许可证适用于整个软件,不适用于任何人编写的代码行。
- 爷都理解不了你添加的许可证内容,不知道你想表达什么
(小编默默 +1 ,马克写的话真的很绕)。- 你尝试添加的限制直接与前面的 BSD 许可证冲突。产生的集合根本不是合法有效的许可证,这意味着突然之间没有人有权使用,更不用说修改 simH 的代码了。
- SIMH 不是你马克的私人玩具。如果你想拥有一个私人的 SIMH 变体,请自行分支。我不想按照你强加的条款将我的工作贡献给 SIMH。
面对众人的质疑,马克在一一反驳之后终于词穷了,最终表达了他的真实想法:
我不会更改许可,也不会回滚版本。
如果你们希望拥有一个完全开源的项目,可以 Fork 我更改许可证之前的版本,自己去发展。
也就是说,这个标记为“历史计算机模拟器”的社区项目,或许将在 Mark 的一番骚操作之后分崩离析 —— 即使事情最终得到解决,也无法回到社区齐心的状态了。
随着事态一发不可收拾,已离开 simH 社区的原作者 Bob Supnik 出来收拾烂摊子。他在帖子中表示已与马克进行了沟通,马克仍坚持自己的许可证没问题,并决定将 simH 闭源。因此 simH 项目需要立即 Fork ,并在原始的 BSD 许可下进入一个新的存储库重新运作开源事宜。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
-
上一篇
Mozi.Network 1.4.3 发布,验证跨平台可行性
Mozi.Network 是基于.Net 开发的网络应用协议基础组件。包含HTTP服务器,IoT服务端和客户端项目等网络通讯协议。 此版本验证了项目组件在Linux(CentOS8)环境运行的可行性,同时新版本中有如下更新: 1,HttpClient增加了PUT,DELETE方法和超时时间 2,HttpRequest中增加Content-Encoding,Content-Type的解析 3,HttpEmbedded中增加了Digest摘要认证,提高安全性 4,SSDPHost中改变事件的实现方式 5,IoT.CoAP中命令调用超时,使用SemaphoreSlim(信号量)代替Action.BegionInvoke
-
下一篇
PyTorch 官宣适配 Apple M1,支持 GPU 加速,训练速度提升 7 倍
PyTorch 宣布,通过与 Apple 的 Metal 工程团队合作,目前已实现在搭载 Apple M1 芯片的 Mac 上使用 GPU 加速训练。在这之前,在 Mac 上进行 PyTorch 训练只能使用 CPU,但随着 PyTorch v1.12 即将发布,开发者和研究者可以利用 Apple M1 GPU 的强大性能,从而显著提升模型训练速度。 对于 Mac 来说,此功能极大丰富了在 Mac 上执行机器学习工作流程的能力,例如在本地进行原型设计和微调。 根据 PyTorch 官方博客的介绍,PyTorch 通过使用 Apple 的 Metal Performance Shaders (MPS) 作为 PyTorch 的后端来启用 GPU 加速训练。MPS 后端扩展了 PyTorch 框架,提供了在 Mac 上设置和运行操作的脚本和功能。MPS 使用针对每个 Metal GPU 系列的独特特性进行微调的内核来优化计算性能。新设备将机器学习计算图和原语映射到 MPS Graph 框架和 MPS 提供的调整内核上。 此外,由于搭载 Apple M1 芯片的 Mac 具有统一的内存结构,...
相关文章
文章评论
共有0条评论来说两句吧...