起家于俄罗斯的NGINX开源项目宣布禁俄

近日,F5 公司(F5 Networks) CEO François Locoh-Donou 发布公开信表示,已暂停在俄罗斯的所有销售活动,并将客户支持相关工作转至其他地点。同时,移除俄罗斯对 F5 网络的访问权限以及停止俄罗斯对 NGINX 开源项目做贡献。不管是商业代码还是开源代码,都不会放在俄罗斯境内。

俄乌冲突发生后,F5 并不是唯一一家用实际行动来表态的科技企业,也不会是最后一家。值得一提的是,虽然 NGINX 起源于俄罗斯,其作者也是个俄罗斯人,但在 2019 年 3 月 11 日,NGINX 背后的企业主体 NGINX Inc 被 F5 以 6.7 亿美元收购。而 F5 是一家专门从事应用层服务和应用交付网络的美国公司,其总部位於华盛顿州西雅图。此外,NGINX 的创始人 Igor Sysoev 已经于今年 1 月宣布离职。

NGINX 的历史

NGINX 是一款轻量级的 Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在 BSD-like 协议下发行。

在 2000 年左右,42 岁的俄罗斯系统管理员 Igor Sysoev 启动了这一项目。2002 年十月 Sysoev 发布了第一段公共简码,该项目在 2004 年正式开源。当时他正任职于俄罗斯一家快速发展的门户网站——Rambler。最初,NGINX 的开发是为了解决 C10k 问题,并满足包括 Rambler 搜索引擎和门户网站在内的多个网站的需求,该网站每天服务 5 亿个请求。

2009 年,他创建了 NGINX Inc. (这是在美国注册的公司),为 NGINX 部署提供邻近的工具和支持服务。NGINX 公司总部设在旧金山,但在世界各地都设有办事处,包括莫斯科。NGINX 服务器的源代码仍然是免费的,并且通过开源模式来管理,不过项目的主要贡献者中有很大一部分是 NGINX 公司的员工,他们掌握着项目的管理权。

2011 年,Sysoev 辞去了在 Rambler 的工作,全职作为新公司的首席技术官,向企业用户推销加强版的 NGINX。Sysoev 从未否认在 Rambler 工作期间创建了 NGINX。在 2012 年的一次采访中,Sysoev 声称他在业余时间开发了 NGINX,而 Rambler 甚至多年都没有意识到这一点。

2018 年 6 月,Nginx Inc.在由高盛(Goldman Sachs)牵头的一轮融资中筹集了 4300 万美元的 C 轮融资,以“加速企业的应用程序现代化和数字转换”。

2019 年 3 月,NGINX 被 F5 公司以 6.7 亿美元收购。

时至今日,NGINX 已经成为全球最受欢迎的 Web 服务器。据 W3Techs 统计,截至 2022 年 3 月,NGINX 占据了全球 Web 服务器市场 33.1% 的份额。排在第二位的是 Apache,份额为 31.2%。

NGINX 之父离职

今年 1 月 18 日,NGINX 公司副总裁兼总经理 Rob Whiteley 在官网发布了一篇告别信,正式宣告 Igor Sysoev 退出 NGINX 和 F5 公司。此事在圈内迅速引发热议,不少开发者对 Igor 所做出的贡献表达了崇敬和感谢。

毕竟,Igor 和 NGINX 的成功确实鼓舞了不少开源人。Igor 早期曾在采访中分享对于开源和商业产品找平衡的观点,他表示不想创建单独的商业产品,而是希望对 NGINX 的主要开源产品进行商业扩展,社区想要的新功能将出现在其中。商业扩展更多的是有助于处理数千个实例、添加扩展性能监控、托管、云和 CDN 基础设施的附加功能等。

很多客户会说愿意付钱让 Igor 增加他们所需要的新功能,而 Igor 等人收集此类请求后会将其与从用户社区收到的需求进行比较,并寻找交叉点——“如果我们意识到每个人都需要某些功能,而不仅仅是某些公司,我们会将这些功能包含在开源版本中。我们从中了解我们可以销售什么,而不会惹恼开源产品的支持者,也不会损害整个项目的信誉。”

2011 年的时候,以专有模块的形式向商业版本中添加新功能的想法还属于开时代之先河。但如今,很多开源后起之秀已经可以站在巨人的肩膀上享受这种商业模式。

或许正如 Rob Whiteley 所讲,(开源与商业)其中的平衡往往很难把握。Igor 之所以受到开发者、企业客户以及 NGINX 工程师们的高度赞扬,依靠的正是他谦逊的内心、不断探索的激情以及在开发工作中勇攀高峰的意志。

二十年过去,Igor 写下的代码已经在为世界上大部分网站提供支持。除了直接使用外,也被作为 Cloudflare、OpenResty、Tengine 等流行服务器的底层软件。虽然 Igor 已离职,但他的精神和他一路塑造的文化不会消失。

开源界的卷入

对于开源界卷入战争,业内争议不断。除了 NGINX 表态之外,针对此次俄乌冲突,前有 Node.js 、React、PyTorch 等官网声明支援乌克兰,后有个人开发者以反战为名进行供应链“投毒”。

作为全球最大的开源代码托管服务平台,GitHub 也难以置身事外,虽然官方日前表示致力于维护平台与公司的完整性,会确保全球开发者都可使用免费的开源服务,其中就包括身处俄罗斯地区的开发者们。但同时,GitHub 法务团队会对相关规定开展彻底的审查,且会遵从出口管制与贸易法规的动向。

因为战争,开源界成员或“主动”或“被迫”站队。但正如我们此前发出过的疑问,若开源代码都不可避免卷入其中并开始“站队”,开发者该如何自处?

进入 InfoQ 官网,了解一线软件开发及相关领域知识~