面对真实的开源世界,丢掉幻想,但也不必恐慌
缘起
最近因为俄乌战争,整个世界纷纷扰扰,发生了太多的事情。工信部电子知识产权中心有一篇不错的信息汇总,各位可以大致了解一下。《俄乌冲突涉及开源领域事件》
在这篇文章中,一共收录了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 不再接受来自俄罗斯(整个国度的人民)的贡献。”
那么,到底他们在恐慌什么呢?恐慌之后,到底想做些什么呢?这背后是一个什么样的推理过程呢?
- 俄罗斯现在在打乌克兰
- 西方国家(以美国为首),都在制裁俄罗斯
- 无论是硬件还是软件、闭源还是开源,都已经(可能)禁止俄罗斯使用
- 中国是俄罗斯的盟友,西方(尤其是美国)也对我们虎视眈眈
- 我们将来肯定是要收复台湾的
- 欧美大国,将来也会像今天制裁俄罗斯一样,制裁我们
- 我们要提前作好准备
- 在开源领域,我们要有自己的GitHub、GitLab,还要有自己的各种“自主可控的”开源软件
问题在于,即使是俄罗斯现在的情况,开源也没有对俄罗斯关上大门。在这样的因果链条中,存在着诸多脆弱的推理过程,事实上是无法推论出最后这一步的。
我们需要了解真实的开源世界
在今天我们几个朋友聊天,正好在讨论“后真相世界”的事情。我在其中谈到了一个观点:“如果是我感兴趣的事情,比如开源领域的热点事件,我会一层一层的往上追溯,一直找到新闻的源头。然后再努力解读内容,尝试了解真相。”
当然,在整个讨论过程中,我们还聊到了如何提升自身的事实查证能力。比如:英文阅读理解能力、搜索引擎的熟练掌握、搜集可信的信息源、牢靠的基础知识体系、还有学会存疑、具备批判性思维的能力。
面对真实的开源世界,我们既不需要报之以幻想,也不需要莫名恐慌。因为真实的世界总是复杂的,所以我们需要对之有更加深入的理解。只有建立在真实信息基础上的理解,才能够帮助我们,做出正确的抉择。
如何面对真实的开源世界?
这其实是一个“姿态”问题。在之前分享关于“礼物”的理解时,我说过:“我们可以在国家层面,理解礼物的含义。美国向这个世界贡献了那么多好的技术、理念、文化,因此才能成为世界的领导者。”而中国如果想要崛起,想要成为多极世界中的一极,同样需要贡献足够多的“礼物”。
同样的,当我们在说:“要关起门来,开发自主可控的开源软件”时,这其实是一种荒谬的态度。除了引起更多的猜忌和提防,没有任何意义。我们在做的事情,无论是另一个代码托管平台,还是另一种操作系统,开源创新也好,重复造轮子也好,都是繁荣生态的努力,本质上都是在为这个世界,提供更多的选择。
真实的世界,不是一个“人人良善的美好世界”,也不是一个“弱肉强食的黑暗森林”,我们需要慎重选择一条艰难的,同时也是一条开放式的道路。正如我以前说过的:“复杂的世界,没有简单的答案”。