导语:2021 年,开源首次被列入「十四五规划」,代码托管平台 Gitlab 上市、OpenHarmony 开源、CentOS 8 停止维护……从国家到个人,从商业到生活,开源愈发深刻地改变着我们的世界。2021年,开源圈发生了一些值得回顾和思考、意义重大的开源事件,本文将对其进行细数盘点。
PART ONELog4Shell,有史以来最大的安全漏洞
安全向来都是开源领域讨论的重点,2021 年也不例外。要论 2021 年开源圈最大的安全漏洞,一定是 Log4j 日志框架中的 Log4Shell 漏洞。国内外大批 To C 和 To B 的公司,如苹果、腾讯、京东、网易、AWS、IBM、深信服等都在使用 Log4j,因而也都在本次漏洞事件中受到了 Log4Shell 的影响。Log4Shell 漏洞早在 2013 年就已存在,直到去年 11 月底才被阿里巴巴的安全人员发现,并在两周后公开漏洞细节。Log4Shell 漏洞支持远程操控,并允许访问敏感数据, 因此它被 Apache 软件基金会认定为严重等级最高的 10 级,网络安全公司 Tenable 将其描述为「有史以来最大、最严重的漏洞」。2021 年 12 月 6 日,Apache 团队发布了 Log4Shell 漏洞的修复程序,但由于 Log4j 在云服务、软件基础及各行各业中的广泛使用,不少公司无法在第一时间更新系统,甚至不知道他们的软件使用了 Log4j。于是,黑客利用 Log4Shell 攻击这些小公司,并以勒索软件的方式不断扩大影响范围。Log4Shell 漏洞事件给了技术圈上了重要的一课,正如 Reblaze 的开源项目经理 Justin Dorfman所说:「这件事暴露了一点:在基础设施代码中,看起来毫不起眼的漏洞,足以威胁银行、科技公司、政府和任何组织的安全。」在 Log4Shell 漏洞事件后,不少人认为,安全问题是社区驱动型软件的天然缺陷,这也是大家对开源的固有印象。反驳的声音则认为,技术公司从开源中受益,蓬勃发展,但却不回馈给开源任何贡献,只是在出现问题后将矛头指向开源。暂且不论这两种观点的对错,一个更值得我们思考的信息是:作为 Log4j 项目的核心维护者之一,也是修复此次漏洞的工程师——Ralph Goers,有着一份软件架构师的全职工作,只是在业余时间从事「Log4j 和其他开源项目」。PART TWO谜之许可:
Elastic 起诉亚马逊,SFC 起诉 Vizio
另一个重要话题发生在 2021 年年初,开源社区 Elastic 宣布,未来会将其数据库搜索引擎 Elasticsearch 从开源 Apache 2.0 许可证改为采用 SSPL 和 Elastic License 的双重许可。此举目的是限制云服务提供商在没有回馈的情况下,将 Elasticsearch 作为一项服务提供给他人使用,这背后正是 Elastic 与亚马逊多年的交锋。作为一个完全开源的项目,任何公司都可以在各种地方自由使用 Elasticsearch。2015 年,亚马逊推出自家的 Elasticsearch 服务,并将其定名为 Amazon Elasticsearch Service,这引发了一系列连锁反应,最终导致 Elastic 将 Elasticsearch(以及 Kibana可视化仪表板)转移到新的许可证上。在 Elastic 看来,亚马逊擅自在自家的托管服务名中使用「Elasticsearch」一词,属于明显的商标侵权,并在市面上引发了关于 Elasticsearch 归属权的混乱,于是 Elastic 在 2019 年起诉亚马逊。但因为诉讼进程缓慢,Elastic 主动更改许可证,加快亚马逊远离 Elasticsearch 品牌的步伐。这一行动奏效了,在 2021 年 9 月,Amazon Elasticsearch Service 更名为 Amazon OpenSearch Service。亚马逊高管也表示,将加紧建立并维护开源 Elasticsearch 与 Kibana 的 ALv2 许可分支。许可证混乱的情况在开源领域随处可见。2021 年 10 月,软件自由保护协会 SFC 起诉 Vizio,称 Vizio 电视使用的 SmartCast OS 是基于 Linux 开发而来的,而 Linux 受到了 GPLv2 的保护。根据公共许可证 GPL 协议,任何开发者对源码的任何修改都需要开源,所以 Vizio 应该公开 SmartCast OS 的源代码。但是 Vizio 拒绝遵守该协议要求,并在向加州法院申请撤回案件时表示,消费者在 Copyleft 协议下没有第三方受益权,也就意味着消费者将丧失软件的修复权,无法在软件出现问题或 Vizio 停止维护时修复它。SFC 执行董事凯伦·桑德勒(Karen Sandler)表示:这次诉讼突显了维护消费者权利方面所具有的独特性和历史性。在过去的诉讼中,原告一直是特定 GPL 代码的版权所有者,SFC 希望通过此次诉讼证明,不仅是版权所有人具有权利,消费者也同样享有该权利。PART THREE商标纠纷:
PrestoSQL 更名,OBS 名称风波
商标纠纷并不只存在亚马逊与 Elastic 之间。2021 年 1 月,数据查询引擎 Presto 创始团队宣布将 PrestoSQL 更名为 Trino,原因是 Facebook 注册了 Presto 商标。PrestoSQL 是最初的 Presto 创建者在离开 Facebook 时创建的一个分支,因此 PrestoSQL 不能再使用原有的名字。2012 年 Presto 创始人 Dain、David 和 Martin 加入 Facebook 数据基础设施团队,并创建了 Presto,以解决 Facebook 海量 Hadoop 数据仓库的低延迟交互分析问题,并于 2013 年将 Presto 开源。2018 年,Facebook 与 Presto 创始团队产生了分歧,Presto 创始团队离开 Facebook ,成立了 Presto 软件基金会 PSF。Presto 也因此分裂为两个分支:Facebook 主导的 Presto 以及 Presto 软件基金会主导的 PrestoSQL。2019年9月,Facebook 开始申请注册 Presto 的商标。Presto 创始团队也试图与 Facebook 进行交涉,希望在继续使用 PrestoSQL 名字的前提下不会对双方社区产生负面的影响。遗憾的是,最后他们无法形成一致的意见,因此 PrestoSQL 只能更名。同样的事情也发生在了著名的开源视频软件 Streamlabs OBS 上。2021 年 11 月,OBS 开源项目组在社交平台表示:「在 Streamlabs OBS 发布之际,Streamlabs 联系我们说要用 『OBS』这个名字,我们善意请求他们不要这样做,但他们还是继续用了『OBS』的名字,还偷偷申请注册了一个商标。我们一直私下联系 Streamlabs 想解决这个问题,但是他们一直不理我们。因为 Streamlabs 的产品一直带着『OBS』的字样,连他们的用户都以为『Streamlabs OBS』和我们的 OBS Studio 是同一个软件,所以经常有困惑的 Streamlabs 的用户找我们退款。」就在上个月,网友在抖音海外版 TikTok 新上线的 Live Studio 的桌面流媒体软件中,发现了 OBS 的源代码,而 Live Studio 没有遵守相关的开源许可条款,违反了 GPL 协议。PART FOUR开源吞噬火星,Linux 三十而立
因为开源的运用如此广泛,以至于人们常说「开源吞噬世界」。但在火星上首次飞起直升机之后,这句话变成了「开源正在吞噬太阳系」。2021 年 2 月,机智号无人直升机乘坐火星探测器毅力号登陆火星,成为有史以来第一架在地球之外的星球飞行的直升机。这一历史性成的背后,是一个来自世界各地的「隐形开源团队」。GitHub 前首席执行官 Nat Friedman 透露,有大约 12,000 名开发者为机智号搭载的 Linux 系统做出了贡献,而且这些开发者中,大多数都不知道他们的代码,帮助了人类完成第一次火星无人机飞行。为了纪念这一时刻,GitHub 在每一位贡献了代码的开发者的个人资料上放置了一个「Mars 2020 Helicopter Mission」徽章。机智号搭载的操作系统——Linux,于1991 年 9 月 17 日首次发布,这个无处不在的开源操作系统在 2021 年迎来了 30 岁的生日。Linux 在整个技术领域的重要性怎么强调都不为过。世界上使用最广泛的移动操作系统——Android,正是基于 Linux 内核的修改版本。从陆上的汽车,到天上的航空交通管制,从医疗设备到 Web 服务器,都有 Linux 的身影。可以说,过去 30 年来信息世界的发展,很大程度上是由 Linux 和类似的开源软件推动的。如《时代》周刊所说:Linux 成为了带领一代人走进编程世界的明灯。
有成长也有挫折,有收获也有告别,这是 2021 年的开源领域发生的事,也是我们所处的世界正在经历的事。能见证历史是一种幸运,更有幸的是参与历史,创造自己的价值。
2022年,我们相信开源圈将会更加精彩——资本的关注;开源治理、许可规范得到更系统化的重视;开源实践的经验传递得更加快速……这些或将让开源的局中人开启更大的世界。参考链接:
[2021: A year in open source](https://venturebeat.com/2021/12/27/2021-a-year-in-open-source/)
[Log4Shell - Wikipedia](https://en.wikipedia.org/wiki/Log4Shell)
[Elastic vs. AWS highlights open source monetization dilemma](https://searchcloudcomputing.techtarget.com/opinion/Elastic-vs-AWS-highlights-open-source-monetization-dilemma)
[Open-source Vizio lawsuit takes an ugly turn | ZDNet](https://www.zdnet.com/article/open-source-vizio-lawsuit-takes-an-ugly-turn/)
[Trino | We’re rebranding PrestoSQL as Trino](https://trino.io/blog/2020/12/27/announcing-trino.html)
[OBS Project Twitter](https://twitter.com/OBSProject/status/1460783134295969794)
腾源会(WeOpen)是腾讯云成立的汇聚开源项目、开源爱好者、开源领导者的开放社区,致力于帮助开源项目健康成长、开源爱好者能交流协助、开源领导者能发挥领袖价值,让全球开源生态变得更加繁荣。