面对真实的开源世界,丢掉幻想,但也不必恐慌

庄表伟 开源社KAIYUANSHE


| 作者:庄表伟

| 编辑:金心悦

| 设计:苏子馨

| 责编:王玥敏




   缘起


最近因为俄乌战争,整个世界纷纷扰扰,发生了太多的事情。工信部电子知识产权中心有一篇不错的信息汇总,各位可以大致了解一下。《俄乌冲突涉及开源领域事件
在这篇文章中,一共收录了13条信息,但是在我看来,有好几条都跟开源的关系不大。而第 12 条,全球第二大开源代码托管平台 GitLab,又不仅仅介绍了 GitLab 的事情,还介绍了关于 F5 的一条消息。
总结下来,可以说以下几点:
  • GitHub 发表博客,表面自己的态度,在《开源世界里的法律与政治》里,我已经有所评价
  • React 刷版事件,【同上】
  • PHP、Node.js、KDE、Rust 等社区,纷纷讨论是否应该,或者说如何支援乌克兰
  • GitLab 的创始人 Sid Sijbrandij 发文谴责俄罗斯
  • F5 声称退出俄罗斯,并停止了在俄罗斯对 NGINX 开源项目的贡献。
  • “node-ipc” 投毒事件,OSI 已经于 3 月 24 日发文谴责


   为何要丢掉幻想?



最近发生的一系列事件,在国内的开源界,引发了众多的讨论。当然,有很多篇公众号文章的下面,都会有人留言:“说好的开源无国界呢?” 或者是“说好的技术无国界呢?” 或者是 “说好的科学无国界呢?”
还是丢掉幻想吧!从来没有谁承诺过“ XX 无国界”。事实上,在现在这个世界,几乎一切都是有国界的。这也是《Code 2.0》这本书希望传递的核心观点:随着互联网不断发展壮大,法律一定会介入。Code 的力量,也一定会被各个国家的法律所规制。所以,在上一次的播客节目里,我就说了:“开源不是伊甸园、不是乌托邦,这个幻想要早早的醒过来了。要尽早的从理想主义的状态中醒过来,然后去做一些事情。”


   需要丢掉哪些幻想?


  • 开源无国界的幻想。
  • 开源就是开源代码,仅仅与技术有关的幻想。
  • 开源与法律无关的幻想。
  • 开源与政治无关的幻想。
  • 开源的世界里,都是好人,都是来赠送礼物的幻想。
  • 开源世界里的那些公司,都是在为世界发展做出自己贡献的幻想。
总之,开源是生长在我们这个现实世界里的,因此现实世界里的一切,都可能会对开源产生影响。


   何事惊慌?


最近在中文社区里,看到了好多篇文章,不加链接了,列一下标题吧:
  • 《GitHub CEO 发文:严格限制俄罗斯获取侵略性军事能力所需要的技术》
  • 《“开源截流”!软件科技巨头围剿俄罗斯》
  • 《开源软件“围剿”俄罗斯》
  • 《F5 禁止俄罗斯为 NGINX 开源项目作贡献,并暂停了在俄业务》
  • 《以反战为名,百万周下载量 node-ipc 包作者进行供应链投毒》
  • 《开源无国界?你开源出去的代码, 可能有一天你自己都不能用了!》
  • 《俄罗斯开发人员或因制裁而无法使用开源软件》
  • 《欧美制裁俄罗斯,限制使用开源软件,以及尖端软件,细思极恐》
  • 《国际科技巨头极限制裁俄罗斯,开源与科技还无国界吗?》
  • 《俄罗斯担忧开发者无法访问开源代码,为什么开源如此重要?》
  • 《开源社区考虑放弃支持俄罗斯 CPU》
  • 《红帽、Docker、SUSE 在俄罗斯停服,开源软件还安全吗?》
如果你只看这些文章,真的会被“吓死”。


   为何又不必惊慌?


如果我们认真查看以上所有的消息,并且愿意追本溯源,找到新闻的源头。就会发现:真正值得关注的只有两个事情:1)有人在开源软件里“投毒”,虽然并没有造成真正的损害。2)F5 疑似禁止俄罗斯的开源贡献。其他的消息,都与开源没有直接的关系。
投毒的事情,现在的后续是:整个开源世界,几乎是同声谴责,node-ipc 的作者被人肉、网暴、彻底社死。(PS. 我并不认同这样的网络暴力)可以乐观的估计,在很长一段时间,开源社区里,应该不会有人,敢于冒身败名裂的风险,来做这种投毒的事情。虽然风险依然存在。
F5 的事情,卫Sir写了一篇文章《Nginx不接受俄罗斯的贡献,违背开源协议和定义吗?我们冤枉F5了吗?》,分析的结论是:“F5 在俄罗斯的员工不再能访问其内网也不再能贡献 Nginx”,而不是“F5 不再接受来自俄罗斯(整个国度的人民)的贡献。”
那么,到底他们在恐慌什么呢?恐慌之后,到底想做些什么呢?这背后是一个什么样的推理过程呢?
  1. 俄罗斯现在在打乌克兰
  2. 西方国家(以美国为首),都在制裁俄罗斯
  3. 无论是硬件还是软件、闭源还是开源,都已经(可能)禁止俄罗斯使用
  4. 中国是俄罗斯的盟友,西方(尤其是美国)也对我们虎视眈眈
  5. 我们将来肯定是要收复台湾的
  6. 欧美大国,将来也会像今天制裁俄罗斯一样,制裁我们
  7. 我们要提前作好准备
  8. 在开源领域,我们要有自己的GitHub、GitLab,还要有自己的各种“自主可控的”开源软件
问题在于,即使是俄罗斯现在的情况,开源也没有对俄罗斯关上大门。在这样的因果链条中,存在着诸多脆弱的推理过程,事实上是无法推论出最后这一步的。


   我们需要了解真实的开源世界


在今天我们几个朋友聊天,正好在讨论“后真相世界”的事情。我在其中谈到了一个观点:“如果是我感兴趣的事情,比如开源领域的热点事件,我会一层一层的往上追溯,一直找到新闻的源头。然后再努力解读内容,尝试了解真相。”
当然,在整个讨论过程中,我们还聊到了如何提升自身的事实查证能力。比如:英文阅读理解能力、搜索引擎的熟练掌握、搜集可信的信息源、牢靠的基础知识体系、还有学会存疑、具备批判性思维的能力。
面对真实的开源世界,我们既不需要报之以幻想,也不需要莫名恐慌。因为真实的世界总是复杂的,所以我们需要对之有更加深入的理解。只有建立在真实信息基础上的理解,才能够帮助我们,做出正确的抉择。


   如何面对真实的开源世界?


这其实是一个“姿态”问题。在之前分享关于“礼物”的理解时,我说过:“我们可以在国家层面,理解礼物的含义。美国向这个世界贡献了那么多好的技术、理念、文化,因此才能成为世界的领导者。”而中国如果想要崛起,想要成为多极世界中的一极,同样需要贡献足够多的“礼物”。
同样的,当我们在说:“要关起门来,开发自主可控的开源软件”时,这其实是一种荒谬的态度。除了引起更多的猜忌和提防,没有任何意义。我们在做的事情,无论是另一个代码托管平台,还是另一种操作系统,开源创新也好,重复造轮子也好,都是繁荣生态的努力,本质上都是在为这个世界,提供更多的选择
真实的世界,不是一个“人人良善的美好世界”,也不是一个“弱肉强食的黑暗森林”,我们需要慎重选择一条艰难的,同时也是一条开放式的道路。正如我以前说过的:“复杂的世界,没有简单的答案”


相关阅读 | Related Reading


开源促进会没有赢得 Neo4j 诉 PureThink 案的胜利


“源”来是你-Vol.32 | 知名图数据平台 Neo4j 招聘中国社区经理


诺奖模型下的开源代码溢出


开源社成立于 2014 年,是由志愿贡献于开源事业的个人成员,依 “贡献、共识、共治” 原则所组成,始终维持厂商中立、公益、非营利的特点,是最早以 “开源治理、国际接轨、社区发展、开源项目” 为使命的开源社区联合体。开源社积极与支持开源的社区、企业以及政府相关单位紧密合作,以 “立足中国、贡献全球” 为愿景,旨在共创健康可持续发展的开源生态,推动中国开源社区成为全球开源体系的积极参与及贡献者。


2017 年,开源社转型为完全由个人成员组成,参照 ASF 等国际顶级开源基金会的治理模式运作。近七年来,链接了数万名开源人,集聚了上千名社区成员及志愿者、海内外数百位讲师,合作了近百家赞助、媒体、社区伙伴。