谈开源软件的商业博弈,以 kubernetes 为例

没有人是傻瓜,这一切都是博弈的结果。 - 语自 Taoge

免费的午餐: 开源软件的便车

当我们使用 kubernetes 等开源软件时,似乎不需要花钱,这真的是免费的午餐。
所以,那些投身于开源软件的那帮人都是傻瓜吗?让我们薅羊毛。
这个结论似乎显而易见,我们在搭开源软件的便车。
比如最经典的 智猪博弈:
假设猪圈里有两头猪,一头大猪,一头小猪。
猪圈很长,一头有一踏板,另一头是饲料的出口和食槽。猪每踩一下踏板,另一边就会有相当于10份的猪食进槽,
但是踩踏板以后跑到食槽所需要付出的“劳动”,加起来要消耗相当于2份的猪食。

如果两只猪同时踩踏板,同时跑向食槽,大猪吃进7份,得益5份,小猪吃进3份,实得1份;
如果大猪踩踏板后跑向食槽,这时小猪抢先,吃进4份,实得4份,大猪吃进6份,付出2份,得益4份;
如果大猪等待,小猪踩踏板,大猪先吃,吃进9份,得益9份,小猪吃进1份,但是付出了2份,实得-1份;
如果双方都懒得动,所得都是0。
如上所述,作为一只聪明的小猪,必然选择等待。大猪在推测出小猪的选择后,只能踩踏板。最终达到均衡。
比如大公司花大成本去研发出一个新产品, 小公司等待市场开拓后选择跟进,也就是一种典型的搭便车模式。

开源软件的背后是怎么赚钱的

熙熙攘攘,皆为利往。
一方面,对 IT 公司来讲,理论上也可以自己造轮子,但是技术栈的选择是存在风险的,软件开发和维护也是需要大量心血。
尤其是开发复杂程度极高又是分布式系统 如 kubernetes 一类的软件,则更加困难。所以搭便车是最好的选择。
另一方面,开源软件的使用者越来越多,也就是消费者的聚集之后必然形成一个市场。
这个时候,借助开源软件兜售自己的产品和服务的生产者也就趋之若鹜。
看 kubernetes 的代码我们便知,几乎所有的资源相关的 API 都是通过定义好通用的接口。
比如存储相关,比如网络相关,比如负载均衡相关。
这样,各大厂商也就乐意在 kubernetes 添加一些代码作为钩子钓消费者。
这个商业圈内层有各大厂商参与,第二层有培训和定制化的小厂商。
这些厂商为了兜售产品,会招聘对应的岗位,全球各地的开发者也就 Roll In 了。
随后,生态形成。
所以,羊毛出在羊身上。

存在即合理

大家都知道,成为亿万富翁最简单的办法就是 “让每个中国人都付给你一块钱。”
开源软件成功的关键也是如此,重要的是生态。一个好的生态会滚雪球,一个不好的生态自然会消失。
比如 Andorid,比如 Linux,比如 Git。
这对开发者也是好事,但是如果只有一个操作系统则会被绑架,如果有过多的操作系统又让人头疼【软件的移植性谁试谁知道】。
市场只有一个选择时是资源最优的,但不合理,有过多选择则导致资源过度浪费。
所以,我鼓励每个开发者都参与开源,因为让自己的 Bug 跑满全世界听起来就很酷。

Published by 戴眼镜的 PenguinPG on 2019-02-22 00:00:00