一位名为 Paul 的作者发布了一篇呼吁抵制知名压缩软件 7-Zip 的文章。7-Zip 是一个由俄罗斯开发者 Igor Pavlov 开发,发布于 1999 年的老牌软件,其源码托管在 Sourceforge;大部分的源码都适用于 GNU LGPL 许可,unRAR 代码则采用的是 GNU LGPL + unRAR 限制的混合许可证。
Paul 首先抨击 7-Zip 的点在于,他认为该软件是“有限的”开源。原因则在于:7-Zip 的代码没有托管在 Github、Gitlab 或任何一个公共代码托管平台上,只有一个 Sourceforge 官方页面上的 src.7z。“没有历史、没有 committer、没有名字、也没有文档,只有一个存档”。
他还引用了一个 2010 年的讨论帖来指出,从源码构建 7-Zip 存在很大难度。“如果你需要自己编译 7-zip - 一些 tweaks 是不可避免的。那么为什么需要 tweaks 而没有 commit history 呢?只是因为作者不想让你从源代码中构建应用程序,而且有些部分可能没有包括在内,或者包含了一些 'special' bugs。有了 commit history,可以更轻松地跟踪任何更改并还原任何错误的部分;也更容易运送一些见不得光的元素,如隐藏的遥测或后门。”
且 Paul 认为,Sourceforge 的声誉并不好;因为该平台曾被指控在 Windows .exe 文件和自解压文件中包含间谍软件和恶意软件。此外,该作者还列举了一些 7-Zip 存在的安全漏洞。最后,他抵制 7-Zip 还有一个关键原因是俄乌冲突:“最好不要使用俄罗斯的软件,不仅仅是出于对乌克兰的声援,该软件还可能增加高级安全风险。”
文章指出了 7-Zip 的一些替代方案,其中包括 Nanazip(7-Zip 分支)和基于 FreePascal 的 PeaZip 等。
这一抵制博文不可避免的在 Reddit 上引起了热议,但就当下情况来看,还是与 Paul 持相反意见的人居多。其中一位名为 qvop 的网友就针对博客中的内容逐一进行了反驳。
首先,7-Zip 就是开源的(忽略 unRAR 许可部分),没有任何一项规定指出开源软件的源码必须托管在某个特定平台;有问题的是 Paul 自身。
其次,事实上是存在一些(公认的相对稀少的)文件,内容包括更新日志以及关于如何编译程序和它的一些内部工作的描述。而一些其余的内容也并不在开源发布的要求规范内,且如果开发者是单独开发而不寻求贡献的话,其作用也不大。
关于后门之类的指控,则更像是接近阴谋论的范畴了。没有任何实际证据表明开发者有意加大编译难度,或者故意包含"special bugs"。相反,开发团队在开发和维护这个软件方面有超过 20 年的记录,他们显然没有过文章作者所暗示的种种意图或行为;在不同环境下编译软件的问题是完全正常的。同理,难道开发人员现在还在与 Sourceforge 合作在提供的二进制文件中隐藏恶意软件?这一指控同样也没有实际证据。
最后关于站队。因为开发者的国籍而抵制开源软件是一个愚蠢的举措,尤其在开发团队并没有表明立场的情况下。“我不确定开发人员被迫在 7zip 中包含恶意代码的实际风险有多大,但我认为如果普京想要渗透开源软件,会有很多更简单、更隐蔽的方法。”
“总而言之,这在我看来是一个无稽之谈,掺杂着一些权利和阴谋论。”
网友 JonnyRocks:
总结:发帖人不喜欢 7-zip 创建者的名字,想 fork 它,结果被搞糊涂了。
网友 bemenaker:
nanazip 是 7zip 的一个分支。它也有 7zip 所缺少的 win11 集成。
我不是在为这篇博文辩护,只是想说那个作者是个白痴。
网友 boom_bap_bnc:
我会继续使用它,谢谢。
网友 atoponce 则感叹道“奇奇怪怪”:
并非所有的开源软件都有公开的源代码库和 commit 历史。安全问题当然令人担忧,但在 SourceForge 上托管源代码和二进制文件是完全可以的。文章中引用的恶意软件争议在 7 年前就已经结束了。
最后,因为开源软件的总部在俄罗斯而抵制它是很奇怪的,更何况 7-Zip 的作者也并没有因为你使用该软件而赚到钱。