谈及电脑必装软件有哪些时,压缩软件绝对算一个。由于各人需求不同,其选择的压缩软件也不尽相同,如 WinRAR、360 压缩、7-Zip、BandiZip、快压等,其中完全免费且开源的 7-Zip 就深受许多用户青睐。
作为一款开源压缩软件,7-Zip 发布于 1999 年,大多数源代码都基于 GNU LGPL 许可协议下发布,使用了 LZMA 与 LZMA2 算法使其拥有极高的压缩比,小巧的体积也是一大优势。
然而,近日一位名为 Paul 的开发者却发表了一篇呼吁抵制 7-Zip 的文章,其标题给出的理由是:“有限”的开源 & 安全问题。
一、Paul 给 7-Zip 定下“三宗罪”
然而,在整体看过这篇文章后便可发现,Paul 给 7-Zip 定下的是“三宗罪”。
第一宗罪:“有限”的开源
正如开头所说,大多 7-Zip 的源码均基于 GNU LGPL 许可协议发布,其开源属性理应毋庸置疑。
而 Paul 认为 7-Zip 开源“有限”的点在于:7-Zip 的代码没有托管在 Github、Gitlab 或其他任何公共代码托管平台上,只能在其官方 Sourceforge 页面的 src.7z 中找到,而且“没有历史、没有提交者、没有名字、没有文档,只是一个存档”。
关于这个唯一托管了 7-Zip 源码的 Sourceforge 平台,Paul 直言其声誉不好:“Sourceforge 曾被指控在 Windows.exe 文件和自解压文件中包含间谍软件和恶意软件。”
而对于“没有历史、没有提交者、没有名字、没有文档”这点,Paul 也揣测道,这可能是因为 7-Zip 的作者不希望开发者通过源码构建应用,有了提交历史将更容易跟踪任何更改和恢复任何错误的部分,同时也更容易运输一些“隐藏的黑暗元素”,如隐藏的遥测或后门。
第二宗罪:存在安全问题
在 Paul 看来,7-Zip 不仅过去存在许多漏洞,此前曝出的提权漏洞 CVE-2022-29072 至今也仍未修复,明显存在安全隐患。Paul 还引用了 2012 年作者回应用户建议的言论:“现在没有时间做这些事情,也许以后我会看看。”
除此之外,Paul 还指出 7-Zip 的安装程序似乎从未设置签名——“签名可验证供应商并防止坏人安装软件”。
第三宗罪:软件作者是俄罗斯开发者
抵制 7-Zip 的第三个理由 Paul 没有在标题中体现:7-Zip 是由俄罗斯开发者 Igor Pavlov 所开发的,“当前局势下为了声援乌克兰,最好不要使用俄罗斯软件”。
在举出以上“三宗罪”后,Paul 最后还推荐了一些 7-Zip 的替代品,如 PeaZip、NanaZip,还有与 7-Zip 相当的 Zstd(Zstandard)等。
二、网友:“一些阴谋论罢了”
Paul 这番抵制 7-Zip 的言论在 reddit 论坛上引起了不少讨论,但从评论情况来看,Paul 的目的没有达成:大多数人都认为 Paul 的理由站不住脚,并抨击 Paul 的“阴谋论”。
讨论帖中,点赞数最高的是一位名为 qvop 网友的评论:
即便 7-Zip 源码没有在 Github、Gitlab 等平台上托管,那又怎样?它仍然是开源的,没有任何规定要求开源就一定要在某些特定平台上托管代码,我看是 Paul 自己的认知有问题。
实际上,7-Zip 在 Sourceforge 上的源码是有一些(相对较少的)文档的,包括变更日志和关于如何编译程序及其一些内部工作的描述。而且,如果开发者只想单独开发、不想寻求贡献,那么这些不必需的东西开源也没用。
Paul 认为 7-Zip 作者故意不让开发者通过源码构建应用的说法也几乎是“阴谋论”,因为目前没有任何证据支持这一说法,相反 7-Zip 方面有超过 20 年的开发和维护记录。
此外,因为 7-Zip 作者的国籍而放弃使用开源软件更是愚蠢至极,尤其目前没有任何迹象表明其作者有何相关冲突立场。
总而言之,对我来说,这篇文章就是一个大杂烩,其中还掺杂着一些权利和阴谋论。
除此之外,许多网友也对 Paul 发表的这篇博文予以讽刺:“一句话总结就是,发帖者不喜欢 7-Zip 的作者名字”、“不为这篇文章辩护,作者就是个白痴”、“我会继续使用它的,谢谢,我没有看到任何停止使用它的理由”。
“开源无国界”一直是开源界所呼吁的口号,然而在当前国际形势下,这句口号似乎已有些站不住脚了:GitHub 封禁俄罗斯开发者账户、起家于俄罗斯的 NGINX 开源项目宣布禁俄……这些事件本就令众多开源爱好者对“开源”的本质提出质疑,Paul 呼吁抵制 7-Zip 的第三个理由更是令许多人无法理解:“难道说以后我们在选择使用开源软件时要考虑作者国籍吗?这真的很奇怪。”
那么,你对于 Paul 的言论有何看法?你平时常用的压缩软件又是什么呢?
参考链接:
https://nixsanctuary.com/boycott-7-zip-limited-open-source-security-issues/
https://www.reddit.com/r/opensource/comments/vkjl80/boycott_7zip_limited_open_source_security_issues/