7-Zip 遭抵制?呼吁者定下“三宗罪”:伪开源、不安全、作者来自俄罗斯
off999 2025-10-02 06:03 20 浏览 0 评论
整理 | 郑丽媛
出品 | CSDN(ID:CSDNnews)
谈及电脑必装软件有哪些时,压缩软件绝对算一个。由于各人需求不同,其选择的压缩软件也不尽相同,如 WinRAR、360 压缩、7-Zip、BandiZip、快压等,其中完全免费且开源的 7-Zip 就深受许多用户青睐。
作为一款开源压缩软件,7-Zip 发布于 1999 年,大多数源代码都基于 GNU LGPL 许可协议下发布,使用了 LZMA 与 LZMA2 算法使其拥有极高的压缩比,小巧的体积也是一大优势。
(图片来自7-Zip中文官网)
然而,近日一位名为 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/
成就一亿技术人
相关推荐
- Kubernetes 核心概念全景图:Pod、Node、Cluster、Control Plane 等
-
想真正读懂Kubernetes的底层运作,你必须理解它的“权力架构”。Pod是什么?Node是什么?ControlPlane又是做什么的?它们之间有什么关系?怎么协同工作?本篇带你构建一个...
- Helm 实战:用 Helm 部署一个 Nginx 应用
-
这一篇,我们将动手实战:用Helm从零部署一个Nginx应用,并掌握HelmChart的结构和参数化技巧。一、准备环境在开始之前,你需要确保环境中具备以下工具:已部署的Kubernet...
- 从零开始:如何在 Linux 上搭建 Nginx + Node.js 高性能 Web 服务
-
在现代互联网服务架构中,Nginx+Node.js已成为轻量级、高性能网站的首选组合。本文将带你从零开始,一步步搭建一个高并发、高可用的Web服务平台,让新手也能轻松掌握生产级部署思路。一、...
- NetBox 最新版 4.4.1 完整安装指南
-
NetBox最新版4.4.1完整安装指南(修正版)by大牛蛙1.系统准备#关闭SELinux和防火墙(仅测试环境)systemctldisable--nowfirewalldse...
- Termux 安装 linux 宝塔面板,搭建 Nginx+PHP+Mysql web 网站环境
-
Termux安装linux宝塔面板,搭建Nginx+PHP+Mysqlweb服务环境,解决启动故障奶妈级教程1.到宝塔面板官网:https://www.bt.cn/new/download...
- OpenEuler系统安装Nginx安装配置_openwrt安装nginx
-
NginxWEB安装时可以指定很多的模块,默认需要安装Rewrite模块,也即是需要系统有PCRE库,安装Pcre支持Rewrite功能。如下为安装NginxWEB服务器方法:源码的路径,而不是编...
- 多级缓存架构实战:从OpenResty到Redis,打造毫秒级响应系统
-
在传统的Web架构中,当用户发起请求时,应用通常会直接查询数据库。这种模式在低并发场景下尚可工作,但当流量激增时,数据库很容易成为性能瓶颈。多级缓存通过在数据路径的不同层级设置缓存,可以显著降低数据库...
- 如何使用 Nginx 缓存提高网站性能 ?
-
快速加载的站点提供了更好的用户体验并且可以拥有更高的搜索引擎排名。通过Nginx缓存提高你的网站性能是一个有效的方法。Nginx是一个流行的开源web服务器,也可以作为web服务器反向代...
- 如何构建企业级Docker Registry Server
-
很多人问我,虚拟机镜像和docker镜像的区别是什么?其实区别非常明显,我们可以通过阅读Dockerfile文件就可以知道这个镜像都做了哪些操作,能提供什么服务;但通过虚拟机镜像,你能一眼看出来虚拟机...
- 如何解决局域网SSL证书问题?使用mkcert证书生成工具轻松搞定
-
“局域网里弹出‘不安全’红锁,老板就在身后盯着演示,那一刻只想原地消失。”别笑,九成前端都经历过。自签证书被Chrome标红,客户以为网站被黑,其实只是缺一张被信任的证。mkcert把这事从半小时缩到...
- Docker 安全与权限控制:别让你的容器变成“漏洞盒子”
-
在享受容器带来的轻量与灵活的同时,我们也必须面对一个现实问题:安全隐患。容器并不是天然安全,错误配置甚至可能让攻击者“越狱”入侵主机!本篇将带你从多个层面强化Docker的安全防护,构建真正可放心...
- Kubernetes生产级管理指南(2025版)
-
在云原生技术持续演进的2025年,Kubernetes已成为企业数字化转型的核心引擎。然而,生产环境中的集群管理仍面临基础设施配置、安全漏洞、运维复杂度攀升等挑战。本文将结合最新行业实践,从基础设施即...
- 云原生工程师日常使用最多的工具和100条高频命令
-
在云原生时代,工程师不仅要熟悉容器化、编排和服务网格,还要掌握大量工具和命令来进行日常运维与开发。本文将从工具篇和命令篇两个角度,详细介绍云原生工程师每天都会用到的核心技能。一、云原生工程师常...
- 用 Jenkins 实现自动化 CI/CD_jenkins api自动执行
-
场景设定(可替换为你的技术栈)语言:Node.js(示例简单,任何语言思路一致)制品:Docker镜像(推送到DockerHub/Harbor)运行环境:Kubernetes(staging...
- 5款好用开源云笔记虚拟主机部署项目推荐
-
在个人数据管理与协同办公场景中,开源云笔记项目凭借可自主部署、数据可控的优势,成为众多用户的首选。以下推荐5款适配虚拟主机部署、功能完善的开源项目,附核心特性与部署要点,助力快速搭建专属云笔记系统。...
你 发表评论:
欢迎- 一周热门
- 最近发表
-
- Kubernetes 核心概念全景图:Pod、Node、Cluster、Control Plane 等
- Helm 实战:用 Helm 部署一个 Nginx 应用
- 从零开始:如何在 Linux 上搭建 Nginx + Node.js 高性能 Web 服务
- NetBox 最新版 4.4.1 完整安装指南
- Termux 安装 linux 宝塔面板,搭建 Nginx+PHP+Mysql web 网站环境
- OpenEuler系统安装Nginx安装配置_openwrt安装nginx
- 多级缓存架构实战:从OpenResty到Redis,打造毫秒级响应系统
- 如何使用 Nginx 缓存提高网站性能 ?
- 如何构建企业级Docker Registry Server
- 如何解决局域网SSL证书问题?使用mkcert证书生成工具轻松搞定
- 标签列表
-
- python计时 (73)
- python安装路径 (56)
- python类型转换 (93)
- python进度条 (67)
- python吧 (67)
- python的for循环 (65)
- python格式化字符串 (61)
- python静态方法 (57)
- python列表切片 (59)
- python面向对象编程 (60)
- python 代码加密 (65)
- python串口编程 (77)
- python封装 (57)
- python写入txt (66)
- python读取文件夹下所有文件 (59)
- python操作mysql数据库 (66)
- python获取列表的长度 (64)
- python接口 (63)
- python调用函数 (57)
- python多态 (60)
- python匿名函数 (59)
- python打印九九乘法表 (65)
- python赋值 (62)
- python异常 (69)
- python元祖 (57)