直观上我们认为,软件开发费时费力,背后一定少不了公司的财力支持,凭借热情和爱心的开源项目是很难做大的。但是,当我们去看 Linux 这样的开源项目的时候,却发现开源,而且不受任何单一利益圈子控制的项目,也真的可以做到很大。Linux [1]是世界上最大的软件项目之一,也是世界上最优秀的软件之一。通常我们会说,真好的东西不会免费,那么 Linux 是如何做到又好用又免费的呢?Linux 开发者们是如何获得收入,维持开发的呢?Web3.0 的很多软件都应该是不被任何单一方把持的,所以 Linux 的模式对 Web3.0 是非常有启发的。
清晰的全球愿景
Linux 从1991年诞生到现在,得到了全球开发者的支持,因为它的出现填补了一个全球愿景,那么这个愿景是什么呢?
答案是,人们需要一个不被任何单一公司把持的互联网服务器操作系统。Linux 项目是1991年,由当时还在芬兰赫尔辛基大学上大二的 Linus 发起的。一直到 Linux 实现腾飞之后,Linus 演讲的时候还在说,Linux 对他自己而言从来不说服务器,而是个人工作站。后来,Linux 的一个版本 Ubuntu 确实在个人工作站领域发展的还不错,在超级计算机和手机平台上,Linux 更是取得了决定性的胜利。但是实际上 Linux 之所以腾飞,是因为1981年 Web 诞生,民用互联网开始腾飞。互联网是全人类公有和自由开放的,所以互联网的载体也应该是不被任何人所把持的,Linux 正好满足了这个要求。Apache 是世界上最大的 Web 服务器软件之一,也伴随着 Linux 一起腾飞了。
困扰很多开源领域的人多年的一个问题是,为何有些同样有全球愿景的软件没有成功呢?举两个例子,一个是办公软件,也就是微软的 Office 套装,另外一个是修图软件,也就是 Photoshop ,这两个软件也都是全球都会用到的软件,为何没有对应的开源免费的版本替代他们呢?
以前的一个说法是,开源模式不适合做追求用户体验的项目。因为开源项目参与者众多,大家品味也不一致,最终组合出来的东西就很难一致的顺滑的用户体验,而类似于苹果这样的公司之所以能把用户体验做的一流,就是因为公司是有严格的管理的。但是实际上这个说法是不对的,苹果的产品好,不是因为苹果的人想法都一致,而是因为乔布斯的独裁。而开源项目其实也都是有独裁者[2]的,Linux 项目支撑世界上几乎全部的超级计算机的运算能力,维护着大部分互联网服务器的安全,不能不说是精品中的精品。Linux 的成功,背后很大程度上也是因为 Linus 的独裁。
所以真正的原因是,替代 Office 和 Photoshop 的开源软件,没有形成真的的全球愿景。OpenOffice 和 Gimp 也都是发展多年的开源项目,但是为何最终没有成功呢?就是因为大家发现没有必要。Office 和 Photoshop 只是工具型软件,一个企业不会因为使用了他们就被微软和 Adobe 扼住咽喉。但是,如何我是谷歌,亚马逊,IBM ,甲骨文,那么公司的服务器基本上不敢去使用其他公司的服务器系统,例如微软的 Window Server 。因为服务器上存的可是大量的用户数据,一旦服务器安全除了问题,被微软控制,后果不堪设想。总之,开源项目不是做不了用户体验型的项目,只不过没有公司的效率高,同时追求用户体验的项目一般都是偏上层的工具型的软件,大家是可以接收的,所以很难形成开发开源替代品的全球愿景。
总之,Linux 之所以腾飞,是因为它满足了大家需要互联网服务器的全球愿景。这里 Linux 成功的最宏观也最根本的原因。
开发者的经济来源
但是微观上,每一个 Linux 开发者,都是如何生存的呢?大家开发 Linux 的动力是什么呢?
先说 Linus 本人。大二的时候,Linus 创建 Linux 项目是因为个人爱好,后来毕业后,Linus 到美国发展,在一家名为 Transmeta 的硬件公司工作了七年。所以说 Linux 的初期,Linus 本人是自给自足的,做 Linux 本身没有收入。但是后来 Linux 腾飞,Linux 基金会成立,Linus 作为基金会的员工,可以得到百万美金级别的工资。另外,Redhat 是一家基于 Linux 开展业务的软件公司,它一次性的捐助了 Linus 价值几千万美金的股票。所以,Linus 本身已经衣食无忧了。
但是其他的数以万计的 Linux 开发者,并不是从 Linux 基金会领工资的。大家基本上都有自己的工作,兼职做 Linux 。很多人就是因为在 Linux 项目上知名,而很多公司都需要 Linux 专业人才,所以会雇佣他们,并且支持他们继续为 Linux 贡献代码。
社区驱动
深入一些来聊,开源软件也分为两类:公司主导型和社区主导型。那么这两类有什么区别?对于 Web3.0 那种模式更适合呢?
先来介绍一下这两个类型。公司主导型,指的是开源软件背后主要是由一个公司主导,例如 编程语言 Java 和数据库 MySQL 背后是甲骨文,前端框架 Reactjs 背后是 Facebook 。社区驱动型,指的并不是背后没有公司支持,而是资助来自多方面,不被单一利益圈子所控制,例如操作系统 Linux ,前端框架 Vuejs 。
公司主导型的开源软件可能是定时炸弹。最近比较知名的事件是 Facebook 修改 Reactjs 的开源发布协议风波,导致很多使用 Reactjs 进行开发的公司极大的担忧,尽管 Facebook 最终没有修改,但是还是导致很多公司切换到了 Reactjs 的一款替代品 Vuejs ,因为 Vuejs 的开发是社区主导型。另外一个影响更大的事件是甲骨文对谷歌公司的诉讼,理由是安卓系统中使用了很多 Java 的代码,最终谷歌败诉被处以大额罚款。所以,并不是软件开源了,就真的是属于每个人了,要具体看发布协议。
总之,如果软件背后被单一利益体所控制,就有可能存在危险。真正公开的,透明的游戏规则,需要社区的共同建设,作为游戏规则的软件,也应该是多方共建的。
结论
Linux 的故事给了 Web3.0 很大的启发,软件不一定需要被单一利益体主导才能开发出来。Web3.0 是开放协议支撑的互联网,公开的游戏规则需要更多的真正的开源软件去承载。Linux 的商业模式,值得更多的去研究。
参考
- [1] 这里的 Linux 指是 Linux Kernel ,是一个单体软件。通常我们提到的 Linux ,指的是一个操作系统,指的是 Kernel 加上很多其他上层软件共同组成。
- [2] 开源领域把这样的独裁者叫做”善意独裁者“