第一次开始留意这个问题是去年看到的这条新闻:
数据库制造商 Redis Labs 将公司开发的 Redis 模块从 AGPL 迁移到将 Apache v2.0 与 Commons Clause 相结合的许可证,并对销售许可证涵盖软件做出限制。然而,近日传出消息称 Redis Labs 正在放弃其 Commons Clause 许可,转而使用新的“available-source”许可证:Redis Source Available License (RSAL),这不是针对开源的许可证。
当然这也不代表大家日常用的 Redis 就不再开源了。个中曲折大家可以自行去了解,这不是这篇文章要说的重点。
Redis Labs 作为 Redis 背后的商业公司,做出这样的决定,很显然是出于商业上的考虑。
开源版本提供基本功能 + 商业版本提供高级功能,这个模式也是软件服务业被广泛证明过的成功模式。
包括通用软件类的 Redhat、 Nginx、Redis Labs,大数据领域的 Cloudera、Databricks 等等,都走出了自己的路。
但是最近几年,这些厂商的日子却没以前好过了,好的被收购,差的就直接死了。
很大程度上,是因为云厂商的崛起。
客户们都上云了,享受低成本、高伸缩性以及丰富的外围功能,即使是开源版也够好用了,还有多少人愿意买这些开源软件的商业版呢。
于是,有声音开始喊:
「开源软件已死!」
「大数据已死!」
...
云厂商要么置之不理,要么跳出来回应一句:
「大数据没死,它在云上永生!」
口号固然好听,但从危机公关的角度来看,却并不是多么切中要害的回应。
云厂商和开源软件之间的紧张关系,更准确的说,是云厂商和开源软件背后的商业公司之间的紧张关系,成了近些年来浮现出的一个新现象。
所谓「天下熙熙,皆为利来」。这些开源软件背后的商业公司,固然是因为云厂商抢了他们的饭碗,为了求生存才开始呐喊。
但他们利用自己特殊的身份,站在了道德的制高点。
「这软件是我们辛辛苦苦做出来的,你倒好,贡献没多少,钱都被你赚了!」
云厂商若非要较真,当然可以说:
「虽然这软件一开始是你们做的,但后来不是开源了吗,license 里写了大家都可以用啊。并且后面持续的迭代,是整个社区的成果,不只你们一家。」
甚至你可以耍赖:
「Tensorflow 最大的用户是 AWS,Google 自己也不靠这个赚钱,人家也没追着 Amazon 骂啊?」
但站在道德制高点的优势就是,不一定需要多么有道理,就能引导舆论给对方施压。
你固然可以只管闷头赚钱,但谁还不要点面子呢,且不说总有不理智的客户,会因为这个不再给你送银子。
所以还是得有些行动上的回应。
既然喷点是「赚了最多的钱,却没做足够的贡献」,那就把贡献补起来呗。
云厂商确实需要更多参与到社区建设中去,多贡献代码,多参加各种会。
这些事并不难,因为能做到一定规模的云厂商,都是巨型集团公司的一部分,像亚马逊、微软、阿里巴巴、腾讯,都有云之外的其他盈利点和产研业务线。
所以,云在这些集团下并不孤单,可以和其他业务线一起,作为整体去为开源社区做贡献,ROI 会更高。
这样就直接回应和解决了所谓道德制高点的问题。
当然,还有另一种直接回应和解决问题的办法:说不过你或者懒得跟你说,我直接买了你。
阿里买下了 Flink 背后的商业公司 Data Artisans,就没有这个后顾之忧了(当然,收购的主要原因不是这个)。
这个办法可能会让人觉得野蛮粗暴,但从商业上说,是个双赢的局面,也确实解决了我们这里提到的问题。
第三种破局的办法,是合作共赢。
开源软件背后的商业公司,把自己商业版的功能改造移植到云上环境,作为独立产品售卖,或者整合到已有的云产品中,双方再按照一定模式做营收分成。
当然,这个模式需要云厂商有一定的胸怀,作为平台,不能想着垄断通吃,而是要共生共赢。
例如上图,阿里云和 Spark 背后的商业公司联合推出的云上产品 Databricks,就是个非常正面的例子。
也期待未来会有更多这样的尝试,真正在商业上和社区健康上做到比较好的平衡。
上面提的三种办法,更多是站在云厂商的立场去应对,因为在这个紧张关系中,云厂商确实是受益和掌握主动权的一方。
另一方面,开源软件背后的商业公司,更多需要考虑的,可能是自己商业模式上的进化。时代已经变了,不再是以前那个靠卖 license 就能躺赚的年代了。
时代的洪流在变革发生的时候会格外强大,如果你的力量没到逆天改流的地步,那最好学着去逐波驰骋。
(近几年注册的微信公众号都没有留言功能,现在官方总算推出了「读者讨论」这个新功能,也勉强算得上替代品了,不至于总感觉一个人在自娱自乐了,有兴趣的也来发表下观点吧~)