InfoQ 推荐 ( ) • 2022-01-20 17:54

又一个大佬要从自己亲生并一手养大的项目“退休”了。当地时间1月18日,Nginx公司副总裁兼总经理Rob Whiteley在Nginx官网发布了一篇告别信",正式宣告 Nginx 的作者和 Nginx Inc. 的联合创始人Igor Sysoev 退出 Nginx 和 F5 Networks。

此事很快登上Hacker News的热搜榜",有网友留言道:

我看过Igor参加某个会议的视频,他一说:“你好,我是Nginx的创建者 Igor Sysoev ”,观众席就会‘爆发’绵延不绝的掌声。他甚至不得不告诉他们“Come on guys,你们还没听我的讲演呢。”。

不少开发者对 Igor 所做出的贡献表达了崇敬和感谢,也有网友感慨“巅峰一代落幕”。从2002年发展至今日,Nginx 已经成为全球最受欢迎的Web服务器。据 W3Techs 统计,截至 2022 年 1 月上旬,Nginx 占据了全球 Web 服务器市场 33% 的份额。排在第二位的是 Apache,份额为 31%。

一直以来,Nginx 常被拿来跟Apache对比,也有观点认为,Nginx和Apache不算真正意义上的竞争者,很多地方会同时使用两者。但无论如何,Igor和Nginx的成功确实鼓舞了不少开源人。

作为一名开源开发者和商业 OSS 初创公司创始人,Nginx 给了我很大的挑战现状的信心。Apache 是如此受人尊敬,以至于你会认为可以改进它的想法是很疯狂的,但他( Igor )做到了,这对我产生了真正的影响。——yesimahuman

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

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

Nginx如今归属于 F5 Networks。2019 年 3 月,F5 Networks宣布将以6.7亿美元收购Nginx,根据交易条款,Nginx 品牌被保留,而 Igor 和 合伙人 Konovalov 作为 F5 的一部分继续致力于该项目。但这笔交易很快就触发了利益纷争,同年12月,Igor 陷入版权纠纷",前东家 Rambler 集团对 NGINX Inc. 提出了侵犯版权的诉讼,声称拥有 Nginx Web服务器代码的全部所有权,但 Igor 辩称是在业余时间开发了 Nginx。

此事随即引发热议,业余项目究竟属于开发者个人、还是属于开发者所在的企业,目前没有明确的统一的法律来判定。2020年4月,Rambler 驳回针对 Nginx 的刑事诉讼。但Rambler并未就此停下,只是不再是以刑事诉讼的方式,而是通过民事法院,并于2020年6月初宣布授权旗下Lynwood Investments在美国对F5 Networks、Igor本人发起民事诉讼,要求索赔7.5亿美元。6月末,俄罗斯内政部因缺乏犯罪记录证据,结案了有关Nginx版权的案件。

Rob Whiteley在文中有提到 Igor 从 Nginx 离职后将从事个人项目,目前我们尚不清楚他具体会涉及哪些项目。

以下是「告别信」全文:

挥别Igor:感谢你为Nginx付出的一切

怀着深深的感激之情,我们今天宣布,Nginx的作者和Nginx公司联合创始人 Igor Sysoev 选择退出 Nginx 和 F5,以便花更多的时间与他的朋友和家人在一起,并追求个人项目。

2002年的春天,Igor Sysoev开始开发Nginx。互联网的早期飞速发展让他萌生出一个念头:用一套全新架构改进网络流量的处理方式,帮助高流量网站从容应对数万个并发连接,并将照片、视频等各类可能严重拖慢页面加载速度的内容统统塞进缓存。

二十年过去,Igor写下的代码已经在为世界上大部分网站提供支持。除了直接使用外,也被作为Cloudflare、OpenResty、Tengine等流行服务器的底层软件。很多人认为,Igor最初的梦想就是把Web塑造成如今的样貌。Igor所秉持的意志与价值观则汇聚成Nginx公司,结合开源与技术社区之力成就高透明度、质量卓越的代码,最终转化为客户喜闻乐见的商业产品。

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

Igor的成长与Nginx的诞生

Igor的人生起点不高。他出生于苏联时期的一个哈萨克斯坦小镇,父亲是一名军官。一岁时,他们全家迁往首都阿拉木图。Igor从小痴迷计算机,1980年代中期就在Yamaha MSX上写下了人生第一行代码。而伴随着早期互联网产业的快速发展,Igor也从著名的鲍曼莫斯科国立技术大学计算机科学系顺利毕业。

Igor毕业后先找了份系统管理员工作,但写代码的好习惯一直没有丢下。1999年,他用汇编语言开发出自己的第一个程序,这款反病毒软件能抵御当时最常见的十种计算机病毒。Igor免费开放了程序的二进制文件,这款工具也在俄罗斯国内风靡一时。之后,敏感的他发觉Apache HTTP服务器的连接处理方式过于原始,根本无法满足不断发展的万维网需求。于是他决定开展相关研究,这也正是后来Nginx项目的雏形。

彼时,Igor将目光投向了C10k问题,即如何在单一服务器上处理10000个并发连接。此外,他还希望让自己的Web服务器更快、更高效地处理照片或者音乐文件等极占传输带宽的元素。在获得俄罗斯国内外多家公司的肯定和采用之后,Igor于2004年10月4日(即苏联发射全球首颗人造卫星「斯普特尼克」号的四十七周年纪念日)对这个名为Nginx的项目进行了许可开源。

七年来,Igor一直是唯一的开发者。他独力写下数十万行代码,并把Nginx从简单的Web服务器加反向代理工具,扩展成一把能满足各类Web应用与服务需求的“瑞士军刀”。随着项目发展,负载均衡、缓存、安全和内容加速等关键功能也在他的指尖一一成形。

没有队伍的Igor当时自然没精力宣传项目,甚至连说明文档也不够完备。但Nginx仍然凭借着出色的表现迅速占领了市场。更神奇的是,新用户发现就算没有全面的使用指南、自己仍然能轻松玩转Nginx,于是项目就在口口相传之下普及开来。越来越多的开发者和系统管理员利用Nginx解决自己面对的现实问题,提升网站响应速度。对于Igor的贡献,我们已经不需要刻意赞美或者宣扬,他的代码已经说明了一切。

Nginx开启商业化之路,但开源定位永不动摇

2011年,Igor与Maxim Konovalov、Andrew Alexeev两位联合创始人共同成立了Nginx公司,希望借众人之力加快项目开发速度。但Igor也很清楚,从这一刻起他和团队得想办法赚钱了。不过他们坚持发布Nginx完整开源版本、恪守开源许可的承诺不会动摇。君子一诺值千金,自公司成立以来,Igor引领Nginx通过140多个版本不断完善自我,始终以开源姿态为全球数亿网站提供支持。

奔波在为Nginx公司筹集风险投资的路上——(右起)Igor、公司CEO Gus Robertson、联合创始人Andrew Alexeev以及Maxim Konovalov

2011年的时候,以专有模块的形式向商业版本中添加新功能的想法还属于开时代之先河。但如今,很多开源后起之秀已经可以站在巨人的肩膀上享受这种商业模式。在商业版Nginx Plus于2013年首次推出时,市场立刻抱以热烈欢迎。四年之后,Nginx已经拥有超过1000家付费客户和数千万收入,Nginx开源项目与技术社区的规模也在同步发展壮大。截至2019年底,Nginx已经在为全球超过4.75亿个网站提供支持;到2021年,Nginx正式成为世界上应用范围最广的Web服务器方案。

着眼于未来需求,Igor还一路打造出多个Nginx相关项目,包括Nginx JavaScript(njs)与Nginx Unit。他还为sendfile(2)系统调用设计了全新实现,将其整合到开源FreeBSD操作系统当中。随着Nginx工程师队伍的壮大和Nginx公司正式加入F5,Igor一直是团队背后稳健的领导者,保证Nginx始终方向明确、斗志坚定。

接过Igor手中的旗帜

今天,Igor希望退居幕后享受生活,独余我们继续前行,但Igor的精神和他一路塑造的文化不会消失。伟大的企业、产品和项目中,创始人的 DNA 是永恒不变的。我们对于产品、社区、透明度、开源和创新的态度皆继承自Igor,我们也将继续在Maxim和Nginx领导团队的指引下接过这面旗帜、发挥这份传统。

Igor在Nginx与F5时代的奋斗与付出凝结成了我们今天所看到的项目代码,多年以来一直默默支撑起整个互联网世界。时间会考验我们、鞭策我们,证明我们能否像Igor那样创造出历久弥新、影响深远的产品。这当然是一条极高的标准,但Igor也用实际行动为我们指明了达成目标的方法。感恩多年来的指引与教导,Igor,祝你在人生的新阶段写下新的传奇故事。

参考链接:

https://www.nginx.com/blog/do-svidaniya-igor-thank-you-for-nginx/"

https://hackmag.com/devops/nginx-interview/"