整理 | 郑丽媛、出品 | CSDN(ID:CSDNnews)

谈及电脑必装软件有哪些时,压缩软件绝对算一个。由于各人需求不同,其选择的压缩软件也不尽相同,如 WinRAR、360 压缩、7-Zip、BandiZip、快压等,其中完全免费且开源的 7-Zip 就深受许多用户青睐。

作为一款开源压缩软件,7-Zip 发布于 1999 年,大多数源代码都基于 GNU LGPL 许可协议下发布,使用了 LZMA 与 LZMA2 算法使其拥有极高的压缩比,小巧的体积也是一大优势。

(图片来自7-Zip中文官网)

然而,近日一位名为 Paul 的开发者却发表了一篇呼吁抵制 7-Zip 的文章,其标题给出的理由是:“有限”的开源 & 安全问题

我们创建了一个高质量的技术交流群,与优秀的人在一起,自己也会优秀起来,赶紧点击加群,享受一起成长的快乐。另外,如果你最近想跳槽的话,年前我花了2周时间收集了一波大厂面经,节后准备跳槽的可以点击这里领取!

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

推荐阅读

  • 淘宝上的GitHub“爱国套餐”?服务内容碎了...

  • 一个优秀程序员可抵五个普通程序员!

  • 新一代云原生数据库的设计与实践

··································

你好,我是程序猿DD,10年开发老司机、阿里云MVP、腾讯云TVP、出过书创过业、国企4年互联网6年。从普通开发到架构师、再到合伙人。一路过来,给我最深的感受就是一定要不断学习并关注前沿。只要你能坚持下来,多思考、少抱怨、勤动手,就很容易实现弯道超车!所以,不要问我现在干什么是否来得及。如果你看好一个事情,一定是坚持了才能看到希望,而不是看到希望才去坚持。相信我,只要坚持下来,你一定比现在更好!如果你还没什么方向,可以先关注我,这里会经常分享一些前沿资讯,帮你积累弯道超车的资本。

点击领取2022最新10000T学习资料

为抵制 7-Zip,列出 “三宗罪” ?网友:“第3个才是重点吧?”相关推荐

  1. 淡季开战!列出“三宗罪”优信死磕瓜子

    来源:北京青年报 每年春节前夕本来都是二手车交易的淡季,但今年的这个时候行业内却没有消停,一场新的口水战在行业两大巨头优信和瓜子之间爆发. 昨日凌晨,优信突然针对瓜子率先发难,发表声明直指后者&quo ...

  2. 3D Slicer画病灶可能产生的问题+核磁共振影像数据处理-14-3d slicer画病灶“三宗罪”|常见bug(错误)汇总

    3D Slicer画病灶可能产生的问题+核磁共振影像数据处理-14-3d slicer画病灶"三宗罪"|常见bug(错误)汇总 讲解视频内容请移步Bilibili: https:/ ...

  3. 3.15曝光“山寨”杀毒软件“杀毒三宗罪”

    "山寨"版杀毒软件,不同于其他山寨手机等产品.对于山寨手机,除了需要用户忍受哇哇叫的刺耳铃声,最起码山寨手机在通讯及其他娱乐商务功能上,都可以满足用户需求,不会在产品功效上严重侵犯 ...

  4. FreeMarker三宗罪!

    FreeMarker三宗罪! 3 推荐 FreeMarker是Quake Wang推荐我使用的.刚学FreeMarker的时候,发现freemarker真的很棒!简单易用,功能强大.但是用它做了几个项 ...

  5. 想说爱你不容易——细数迅雷软件“三宗罪”

    经历过网络蚂蚁.网际快车和QQ旋风的洗礼,不知不觉迅雷成了我们计算机中长久驻扎的下载软件,很多人甚至连"目标另存为"都不知道为何物了.当然,也正是因为普及率不断上升,尽管不知能否用 ...

  6. [转载]陌陌上市前夜遭网易声明三宗罪:求丁磊放过唐岩

    原文地址:陌陌上市前夜遭网易声明三宗罪:求丁磊放过唐岩 作者:互联网信徒王冠雄 就在广大中国屌丝熟悉和羡慕的移动交友软件陌陌即将赴美上市前一天,陌陌CEO老东家网易来了一记神补刀----这是直取首级的 ...

  7. 【C++】巨坑-VC++的localtime_s的三宗罪

    (点击上方公众号,可快速关注) 前几天在运行一段代码的时候,发现localtime执行失败,由于代码没有判断返回值,后续对空指针操作导致段错误.所以,需要对该段代码增加保护判断,避免程序崩溃.由于后面 ...

  8. FreeMarker三宗罪之优缺点

    FreeMarker是Quake Wang推荐我使用的.刚学FreeMarker的时候,发现freemarker真的很棒!简单易用,功能强大.但是用它做了几个项目以后开始不爽了. 一宗罪:freema ...

  9. 计算机学习三宗罪3——计算机达人成长之路(25)

    6.论道(四)计算机学习三宗罪之偏科 上文说道木鹏飞声明计算机学习的第二宗罪是学习浮躁,只流于表面而不肯深入底层学习,并指出了编程的三重境界.木鸿飞则继续咨询第三宗罪. "第三宗罪就是偏科. ...

最新文章

  1. 大型网站技术架构(七)网站的可扩展性架构
  2. 《现代操作系统》(第4版)文件系统 课后习题解答
  3. linux 打包 tar
  4. boost::detail::conversion::try_lexical_convert用法的测试程序
  5. 【最新合集】编译原理习题(含答案)_答案全集_MOOC慕课 哈工大陈鄞
  6. 工业以太网交换机几点常见故障解析
  7. Keras-10 模型可视化
  8. matplotlib.pyplot.subplot
  9. cad 打开硬件加速卡_CAD:“你的图纸缺少shx字体!”“不存在的!”
  10. 如何实现USB自动挂载?
  11. 计算机存储成本,仓储成本
  12. 如何做好谷牛期权短线交易
  13. char在mysql中的意思_mysql中char表示什么意思
  14. 区块链项目——区块链网上安全商铺(合约代码、前端、后台)
  15. 谈谈能带来高薪报酬的软件技术有哪些?
  16. 如何实现一个脚本语言?
  17. Java编程随机发红包,红包随机算法Java实现
  18. 制造业企业招工难,怎么从根本上解决?
  19. html5手机截屏,手机的这6种截屏方法,你用过几种?
  20. Dialupass v3.20 汉化绿色版 显示查看拨号上网密码

热门文章

  1. 滴滴在测试环境上的探索与实践
  2. 楼市拐点能否在新一轮限购中到来
  3. UBER-AVS-XVIZ-OverView
  4. 大白菜、老毛桃win10装机分区错误,重启不了的解决方法
  5. Cakewalk Sonar X3e Producer For Windows 老牌音乐制作软件汉化版
  6. android qq 圆形头像,Android仿QQ圆形头像个性名片
  7. 怎么把Mesh转为SDF
  8. 纪念下我的第一款游戏——《剑盾勇者》
  9. 成佩涛—三种主流上传组件的对比
  10. 用CDC::StretchBlt()复制位图时,如何保证位图显示“不失真”?