百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术资源 > 正文

FREENGINX: NGINX的分叉

off999 2025-02-06 16:04 21 浏览 0 评论

Freenginx Web服务器致力于重现开源开发“造福公众”的精神,摆脱企业控制。

译自 Freenginx: A Fork of Nginx,作者 Steven J. Vaughan-Nichols 也称为 sjvn,自从 CP/M-80 成为尖端的 PC 操作系统,300bps 成为快速的互联网连接,WordStar 成为最先进的文字处理器以来,他就一直撰写有关技术和技术业务的文章,而我们也很享受这一切。

一名志愿的 Nginx 开发者正在把 Nginx(发音为 EngineX,是世界上最流行的 Web 服务器分叉为 Freenginx。

根据 Netcraft 的统计,Nginx 是世界上最受欢迎的 Web 服务器。因此,当 Nginx 的顶级开发者 Maxim Dounin 宣布他要分支 Nginx 时,这可能是一个巨大的举动。

Dounin 做出这个决定是因为他对 Nginx 的企业所有者 F5 在项目管理方面的过度干预感到不满。具体来说,他讨厌管理层在安全策略方面所做的事情,以及他们现在如何在 Nginx 的实验性 HTTP/3 代码中分配常见漏洞和披露(CVE)错误。

正如 Dounin 写的:"F5 的一些新的非技术管理人员最近决定他们更了解如何运行开源项目。特别是,他们决定干预 Nginx 多年来使用的安全策略,无视策略和开发者的立场。" 具体来说,Douin 反对将这些错误视为安全问题,而是将其视为普通错误,这并不值得进行安全公布。

然而,与其说是这个具体问题,不如说是 F5 的态度,正如他在另一个说明中解释的那样。"并没有公开讨论。我所知道的唯一讨论发生在 security-alert@ 邮件列表中,共识是该错误应该作为普通错误进行修复。尽管如此,我还是在几天前收到信息,说一些无名的管理层不管政策和开发者的立场,坚持要求发布安全公告和安全版本。"

被忽视的高级程序员就是火气很大的程序员。

根据他自己的说法,自从 F5 公司因入侵乌克兰而在 2022 年退出俄罗斯以来,Dounin 就不再是 F5 的员工。相反,在过去两年中,他一直是重要的志愿贡献者。

现在,他觉得虽然由于“我不再能够控制 F5 内的 Nginx 更改,也不再将 nginx 视为为公共利益开发和维护的自由开源项目”,F5 有权随意处置这个项目,但他不会再为 Nginx 工作。相反,他将为 Freenginx 工作,“这是一个替代项目,它将由开发者而不是企业实体来运行。”

正因如此,Dounin 没有加入之前的开源 Nginx 分支 Angie。这个程序是由在 F5 退出莫斯科后遭遇困境的俄罗斯 Nginx 开发者创建的。Angie 属于俄罗斯公司 Web Server,Dounin 担心任何营利公司都可能干扰代码的适当开发和维护。

这一发展的背景复杂,涉及地缘政治紧张局势、企业收购以及在商业利益与开源理念之间寻求平衡的固有挑战。Nginx 的历史一直很动荡。F5 在 2019 年收购 Nginx 被视为一个带来财务稳定和增长的新篇章。然而,随后俄罗斯国家代理人代表俄罗斯网络公司 Rambler 突袭 Nginx 在莫斯科的办公室,声称拥有 Nginx 代码的所有权,这使该公司陷入困境。F5 关闭莫斯科办事处只增加了叙述的复杂性。

Dounin 的新创业 Freenginx 旨在重拾开源开发的精神,“为公共利益”服务,摆脱企业控制。Freenginx 的第一个代码版本 freenginx-1.25.4 已于 2022 年 2 月 20 日发布。这是一个旧代码库的克隆,只做了几项较小的更改。其中一项是修复导致分叉的错误。

那么 F5 对此作何反应呢?一位公司代表说:“F5 致力于提供成功的开源项目,这需要大量不同的贡献者社区,以及运用严格的行业标准来分配和评分已识别的漏洞。我们认为这是为客户和社区开发高度安全软件的正确方法,我们鼓励开源社区加入我们的努力。” 在我看来,他们对这个分支并不担心。

因此,至少就目前而言,Dounin 似乎可以自由地尝试在无干扰的情况下获得网络服务器的关注度。但是,根据 Freenginx 邮件列表中的低活跃度,似乎兴趣不大,但只有时间才能告诉我们这个项目是否会在用户或开发者中获得热度。

相关推荐

让 Python 代码飙升330倍:从入门到精通的四种性能优化实践

花下猫语:性能优化是每个程序员的必修课,但你是否想过,除了更换算法,还有哪些“大招”?这篇文章堪称典范,它将一个普通的函数,通过四套组合拳,硬生生把性能提升了330倍!作者不仅展示了“术”,更传授...

7 段不到 50 行的 Python 脚本,解决 7 个真实麻烦:代码、场景与可复制

“本文整理自开发者AbdurRahman在Stackademic的真实记录,所有代码均经过最小化删减,确保在50行内即可运行。每段脚本都对应一个日常场景,拿来即用,无需额外依赖。一、在朋...

Python3.14:终于摆脱了GIL的限制

前言Python中最遭人诟病的设计之一就是GIL。GIL(全局解释器锁)是CPython的一个互斥锁,确保任何时刻只有一个线程可以执行Python字节码,这样可以避免多个线程同时操作内部数据结...

Python Web开发实战:3小时从零搭建个人博客

一、为什么选Python做Web开发?Python在Web领域的优势很突出:o开发快:Django、Flask这些框架把常用功能都封装好了,不用重复写代码,能快速把想法变成能用的产品o需求多:行业...

图解Python编程:从入门到精通系列教程(附全套速查表)

引言本系列教程展开讲解Python编程语言,Python是一门开源免费、通用型的脚本编程语言,它上手简单,功能强大,它也是互联网最热门的编程语言之一。Python生态丰富,库(模块)极其丰富,这使...

Python 并发编程实战:从基础到实战应用

并发编程是提升Python程序效率的关键技能,尤其在处理多任务场景时作用显著。本文将系统介绍Python中主流的并发实现方式,帮助你根据场景选择最优方案。一、多线程编程(threading)核...

吴恩达亲自授课,适合初学者的Python编程课程上线

吴恩达教授开新课了,还是亲自授课!今天,人工智能著名学者、斯坦福大学教授吴恩达在社交平台X上发帖介绍了一门新课程——AIPythonforBeginners,旨在从头开始讲授Python...

Python GUI 编程:tkinter 初学者入门指南——Ttk 小部件

在本文中,将介绍Tkinter.ttk主题小部件,是常规Tkinter小部件的升级版本。Tkinter有两种小部件:经典小部件、主题小部件。Tkinter于1991年推出了经典小部件,...

Python turtle模块编程实践教程

一、模块概述与核心概念1.1turtle模块简介定义:turtle是Python标准库中的2D绘图模块,基于Logo语言的海龟绘图理念实现。核心原理:坐标系系统:原点(0,0)位于画布中心X轴:向右...

Python 中的asyncio 编程入门示例-1

Python的asyncio库是用于编写并发代码的,它使用async/await语法。它为编写异步程序提供了基础,通过非阻塞调用高效处理I/O密集型操作,适用于涉及网络连接、文件I/O...

30天学会Python,开启编程新世界

在当今这个数字化无处不在的时代,Python凭借其精炼的语法架构、卓越的性能以及多元化的应用领域,稳坐编程语言排行榜的前列。无论是投身于数据分析、人工智能的探索,还是Web开发的构建,亦或是自动化办公...

Python基础知识(IO编程)

1.文件读写读写文件是Python语言最常见的IO操作。通过数据盘读写文件的功能都是由操作系统提供的,读写文件就是请求操作系统打开一个文件对象(通常称为文件描述符),然后,通过操作系统提供的接口从这个...

Python零基础到精通,这8个入门技巧让你少走弯路,7天速通编程!

Python学习就像玩积木,从最基础的块开始,一步步搭建出复杂的作品。我记得刚开始学Python时也是一头雾水,走了不少弯路。现在回头看,其实掌握几个核心概念,就能快速入门这门编程语言。来聊聊怎么用最...

一文带你了解Python Socket 编程

大家好,我是皮皮。前言Socket又称为套接字,它是所有网络通信的基础。网络通信其实就是进程间的通信,Socket主要是使用IP地址,协议,端口号来标识一个进程。端口号的范围为0~65535(用户端口...

Python-面向对象编程入门

面向对象编程是一种非常流行的编程范式(programmingparadigm),所谓编程范式就是程序设计的方法论,简单的说就是程序员对程序的认知和理解以及他们编写代码的方式。类和对象面向对象编程:把...

取消回复欢迎 发表评论: