开源 和 Meritocracy

前几天跟人闲聊到国际纠纷和就业形势,聊到各行各业疲惫,然后转进到为啥互联网和软件行业比较和国际接轨。大家基本意见都是开源运动和 Open-source Software 在这里面功不可没。毕竟Linux没来之前 WPS 就被 MS Office 干了下去,民族软件面对几亿美刀研发费用的商业软件研发集团究竟是独木难支。

突然想到一个架空场景,如果某一天,老美突然发功,使得大陆大陆无法可靠获得某一版本号之后的所有开源软件,会发生什么?

当然,有人马上会说,国内大神会跟上进度的。比如国家可以安排一系列课题让一堆博士维护开源项目。的确,中国人和中国公司参与了很多open source project,国内也有 工信部支持的gitee 和 极狐Gitlab,资金方面也有 木兰协议开放原子基金会(民政部注册),有人说如果都到了撕破脸禁用开源软件了,那么就真脱钩了,也不用管那么多直接拿来用就是了。

甚至有人说,其实开源都留了后手,比如Facebook 的 React,协议里也埋坑说,有权禁止竞争对手使用,最终解释权归他们。其实说起 Facebook(现称meta),最新的消息是:

他知道带有专利条款的许可迟早会在开源社区引爆负面讨论,他跟法务部门负责开源项目许可的律师沟通,但对方就是坚持为了保护公司利益必须要这样做。等到开源社区开始重视这件事情的时候,他找基础架构部门的副总裁也就是他顶上的大老板寻求帮助,结果副总裁跟双方开了个会之后选择站在律师那边,「你看人家律师的专业建议是这样子,你就照着做吧」。过了几个月,这个律师离职了,法务部门指派了另一个律师负责这件事情。前端平台部门的总监又跑去跟新的律师说要换 MIT 协议,结果新的律师完全没有尝试拒绝,「你们爱换就换吧,我觉得没问题」。然后就变成 MIT 协议了……

回到开源本身这个话题,假设一个场景,如果在某个时刻,比如Chromium V20的时候,国内不能继续跟进最新版本,假设需要独立改进,需要花多少力气才能把H.264、CSS3、H5、WebRTC 等等一大堆新玩意补齐?如果你只能拿到 2.6 的 Kernel 代码,那么你如何才能魔改出来一个 5.10 的内核?

就算天降猛人,把这个事儿做到了,但是如果天降了3个猛人,小米搞了一套,华为搞了另一套,Oppo 搞了第三套,相互不兼容,又怎么办?比如苏联也有自己的一套完整的基于电子管的软硬件系统一样。

国内独立搞出来的项目,其实也有,比如 统一推送联盟

huxiuzhihu 的键盘分析师的观点来看,凉凉。。。甚至连官网都没了

再比如,腾讯自己搞一套小程序,阿里也搞一套,各个银行都有自己小程序,各个安卓ROM厂家也搞了个「快应用 quickapp.cn」,再比如广电花了48+20亿搞了地面波 DTMB+CMMB,其中就有一项对口 MPEG-4 的AVS1 视频编码格式,如果每个手机厂家相机app拍摄出来的格式互不兼容,快手抖音的视频上传和CDN转码会不会搞得巨复杂?

其实开源项目世界里,各个 contributor 各怀鬼胎把项目往不同的方向上拉扯,国外的例子也很多,比如最近 CMGS 写的《How k8s Fucked

写到这里,我突然想明白,开源软件的利害之处,除了技术可以不断被人推动进步,还有一个重要的就是「社区」和「方向」

这个是个很主观的东西,Firefox 也开源,比 Google 更标准,但是就是玩不过 Chromium。Linux为啥就能比BSD更流行?pg各方面都更先进,但是MySQL占有率就是更高。这里面的确有各种机缘巧合,以及金钱的因素,但是社区氛围和恰当的目标才是最重要的。个人觉得,如果国内独立做开源,问题可能不在于技术,而是朝一个方向齐心协力推动的氛围。

这个推演结论,突然让我想起了之前看到 princeton.edu 的一篇雄文:A belief in meritocracy is not only false: it’s bad for you

英语单词 meritocracy 字面上看它好像是「美德主义」,经常被翻译成「精英领导」,,其实这没把内涵翻译出来,这词的本意是「谁有本事谁厉害」

government or the holding of power by people selected on the basis of their ability

从直觉上来说,能者上有啥问题?在开源软件来说,很多都是项目发起人,或者技术最厉害的人主导一个项目。我觉得这就是很典型的 meritocracy。这篇文章其实点明了几个 meritocracy 的问题:

  1. 一个人的成就或者成功,往往是运气。所谓风口来了,吹起来了一堆猪
  2. 天份,和努力程度,往往是运气选中了那颗喜欢努力的精子,所以由遗传和抚养环境决定。
  3. meritocracy 最终会导致一个人自私,或者说自负。

当然这文章也藏了私货。meritocracy不好?gratitude 才好。要感恩!嗯最后估计说人人都有 sin 了。。。2333。其实 meritocracy 这矛盾在中国哲学看来很容易破解,侠之大者,为国为民。最高的能力,就是帮助他人的能力。

开源运动也是这样,最高的能力,就是他利用欧美成熟而刚性的版权制度,传染性的去传播自由。这是他超越软件工程能力最伟大的地方。

(完)


后记:最近才了解的知识,GPL是允许修改、使用源码并且不公开源码的。前提是你不公开。

GPL不要求你发布你的修改版或者任何一部分修改版。你有自由修改并自用,而不必发布。这个规则也适用于机构(包括公司);机构可以做出修改版并在内部使用而不向其他外部组织发布。
但是如果你以某种方式把修改版向公众发布,GPL就要求你向用户提供修改版的源代码。
在公司内部使用只是公司为自己制作拷贝。因此,公司或组织可以开发自己的修改版并在内部部署,其员工也无权对外发布。
然而,当公司把拷贝发送给其他组织或个人时,就是发布。具体来说,为合同商提供拷贝来离岸使用就是发布。

Comments