person rock climbing

开源、社区与商业

前两天“开源商业模式是不是伪命题”这个话题,又引起了开源圈与软件创业者的讨论。看着大家观点不断碰撞,我突然想起我的上一篇推送还是在 2 月底的时候。原先计划中的 2 篇长文在草稿箱里依旧只是开了个头。这次不能再拖了……

一些背景

说起开源和商业这个话题,我有很多感触与想法。先简单和大家介绍一下我的历程:

  1. 2004-2018,数据库工程师,既在乙方做过售前工程师,又在甲方做过一线生产环境下的数据库专家。
  2. 2019-2022,作为合伙人加入创业团队。发起 milvus 开源项目,在向量数据库领域算是全球第一个广为人知的开源项目。milvus 项目小有起色,当时的公司因为这个项目获得了两轮超过 1 亿美元的融资。不过这些钱和我没啥关系,因此我不必站在既得利益者的角度尬吹开源有多好。
  3. 2022 年 9 月,我离开了之前的团队,开始尝试寻找资源启动自己的项目。我恰好赶上了宏观环境最冷的这一段,贼无奈。
  4. 2023 年 3 月,我加入了一家创业公司(EMQ),继续做开源与社区相关的事情。

总结一下,我是一个工程师,在开源项目上有过一点小成绩,没有因此靠融资发财,现在继续做开源与社区的事情。这四重 buff 叠完,我觉得我观点的说服力已经拉满了。

开源商业模式是不是伪命题

这个问题本身就很有问题。我们先看看什么是商业模式?上网搜个 BP 模板跟着写完,你就会明白一个商业模式中包含的主要元素通常有:

  • 你想解决什么问题(产品定位)
  • 谁有这样的问题(目标用户画像,是个人消费者、开发者、企业,还是其他)
  • 用户的行为模式与消费习惯(产品形态与定价)
  • 如何触达目标用户
  • 如何交付你的产品
  • 如何构建团队以完成上述任务
  • 财务测算

单纯”开源”这两个字显然不能够覆盖上面这些元素。因此,开源或闭源与商业模式并不是一个层面的东西,不能放在一起做是非题。同样道理,云计算与商业模式也不是一个层面的东西。云计算只是产品的一种形态,以及产品交付的一种方式。

在我看来,认为”开源商业模式是伪命题”的人,实际上想表达的是开源无益于商业化。

开源对商业化没有帮助吗?

持这种观点的人通常会从两个角度去进行论证:

  1. 美国的开源软件上市公司持续亏损
  2. 中国尚没有成功的开源软件公司

上面两个观察似乎很有说服力,因此迷惑了不少人。但很遗憾,过去十多年的海外市场是不正常的,而过去三年的国内市场也不正常。

高成长公司亏损是常态

净利润 (earnings) 并不是评价上市公司的可靠指标,只看净利润往往会踩坑。A 股上市公司如果连续几年亏损就要面临被摘牌的风险。当 A 股公司主营业务亏损时,往往会选择变现一部分资产来做高业绩。因此看 A 股公司你需要关注扣非以后的净利润情况。

而美股市场并不强制要求企业”盈利”,只要企业的现金流健康就能一直苟下去。美股上市的高成长公司在过去十年会选择持续亏损的运营策略。这种亏损非但不代表它的经营有问题,反而是成长性的体现。这样的做法有 3 个前提条件:第一是美股并不强制要求企业”盈利”;第二是宽松的宏观环境;第三是企业本身需处于高速成长阶段。

美股的高成长企业为什么选择不盈利呢?首先,盈利部分需要按 21%的税率缴纳企业所得税。其次,盈利部分有分红的压力。税和分红会削弱企业的现金流,高成长企业通常相对于处于早期,所处的行业也有较大的发展机会,对现金流的需求更迫切。因此选择不盈利是可以改善现金流压力的。怎么才能在业务健康发展的情况下依然保持不盈利呢?

比较简单的方法是进行超前的投资,比如一次采购更多的生产资料与设备,然后逐年进行折旧与摊销。利用高额的折旧与摊销来把自己的业绩做成负数。有兴趣的可以研究一下早年 Salesforce 的财报。当市场上大多数成长性企业都采用这个策略时,就触发了索罗斯提出的“反身性”。市场会因为企业的投资行为得到强化,我认为这是美国企业服务市场环境比中国好的一个非常重要的原因。

2008 年次贷危机之后,伯南克领导的美联储开始进行长期而坚定的放水。倒不是因为伯南克受到了美国政府的影响。实际上伯南克是研究二十世纪”大萧条”的专家,他笃信放水是避免重蹈大萧条恶果的良方。因此美国的利率长期走低,美股走出了超过十年的大牛市。资金充裕,且借贷成本低,这便满足了第二个前提条件。

最后,打铁还需自身硬。虽然美股不强制要求企业盈利,过去十多年的货币环境也非常宽松,但企业本身如果没有较高的成长性,二级市场的洋韭菜也不会允许一家企业过于激进的去投资未来。没有太大成长空间的企业,还是老实分红给股东们比较好。

因此,美国的开源软件上市公司持续亏损并不是一件坏事。虽然这种故意亏损的经营方式依赖于宽松的宏观环境,但二级市场还是认可了这些公司的成长性。这是一个积极的信号。换一个角度来思考,如果他们的产品不开源,他们更本就没有和大公司竞争的机会,也不可能成功上市。

开源给了基础软件领域的挑战者们一个机会,一个上场竞技的机会,但它并不保证你一定会获得成功。

“只要我们融到足够多的钱,投资人就不能要求我们做商业化”

终于来到了这里,该讨论一下过去三年国内的开源融资热潮了。说是三年,但主要是 2020~2021,2022 融资环境已转入极冷。

本来很多人预测美联储会在 2020 年开始加息,但谁能想到因为口罩的原因,主要经济体纷纷放水。硬生生的又把资金牛市给延续了两年。这是发财的大好机会。当时移动互联网公司已经明显过了高速增长期,曾经红极一时的移动互联网赛道暂时淡出了 VC 的视野。一级市场迫切需要一个热点。

正巧,大洋彼岸传来了好消息。2019 年 Databricks 在 8 个月里接连完成了 2 轮融资,合计融资 6.5 亿美元。中国的 VC 们先是震惊与迷惑,略微研究了一下后,便是狂喜了吧。开源基础软件公司,周期长,投入大,简直是完美的下一个投资热点。

盈利呢?这个因素可以先放一放。一级市场投资短期看风口,中期看宏观,长期才会看价值。凯恩斯那句名言怎么说来着?“长期是对当前的误导,因为在长期我们都已经死了。”

彼时彼刻正是 fomo 开源软件的时刻。于是乎这一场光怪陆离的大秀开始了……

  • 投资人问项目 maintainer 如果离开公司自立门户怎么办?简单,把他 pua 一通再开掉。逢人就说,你看看我这团队升级的决心,没人可以躺在过往的功劳簿上。
  • 国内软件市场天花板太低?我们要走全球化路线,中文文档赶紧撤了。看不懂英文的都不配做我的社区用户。假洋鬼子,好歹带个“洋”?
  • 一分钱营收没有,就想冲独角兽?我才要个独角兽的估值,已经要看营收了吗?这位投资人格局要打开呀。
  • 中层的打工狗想开始做商业化。那不行,一旦开始商业化就要看数字了,后面的故事还怎么讲?赶紧把小成期的产品推翻重构,新架构要多复杂有多复杂,就是要突出一个“先进性”。反正融资到账了,再折腾个 3 年又何妨?“只要我们融到足够多的钱,投资人就不能要求我们做商业化。”Orz
  • 紧追热点,赛道里啥新概念火,咱就立刻整个开源项目出来。公司名下那些玲琅满目的 repo,有种来到大学生黑客松的即视感。烂尾是常态。(当然我没有不尊重大学生的意思,也没有不尊重黑客松的意思。)

热衷搞这些骚操作的公司在商业上不成功,才是合理的。

下面这段有点个人情绪,不喜欢的可以跳过『』里的文字,不影响本文观点的表达。

更可怕的是随着风口出现了价值观极其扭曲的人。用技术忽悠投资人,用梦想忽悠合伙人,用“期权”忽悠打工人,极致压榨每一个合作方,而自己早就变现了。要是闷声发财也就算了,还非要对外到处炫耀新买的法拉利,同时对内大肆鼓吹 996 创业精神。活脱脱现实版的“锦衣夜行”与“沐猴而冠”。

这里也给打工人提个醒,对那些早期团队都被洗光的创业公司,要格外谨慎。老人被洗的一个常见原因是——不好忽悠。创业初期的时候,大家不能说对创始人知根知底,但也了解个七七八八。大规模融资以后“继续艰苦奋斗”和“新买的法拉利”,这俩不兼容的事物怎么向这帮老人解释呢?

解释不了,就不解释了。直接换血,在换血的同时立个富二代人设。祖上就有钱,财富自由才出来创的业,多有理想与情怀。别觉得扯。新来的合伙人眼中已经露出了崇拜的光芒,鸡血打满。究竟是程序员比较好骗,还是想有样学样,谁知道呢?心累了。

这些是开源的锅吗?!这是那一小撮人自己本身的问题。坑我们的不是开源,而是具体的人。

虽然市场上有很多恶心的事情,但并不是所有开源软件公司都在瞎搞,有一些是认认真真在做事的。基础软件、企业服务赛道公司的成熟期相对较长,没有那么快能结出果实。我相信基本面良好的公司,接下来会逐渐脱颖而出。

而作恶的公司和创始人,也许依然能忽悠到下一批接盘侠。但我觉得没啥好羡慕的,畸形秀持续上演无非贡献更多笑料而已。

美好背后的残酷

以下章节特指商业开源的场景。个人的休闲开源,还是可以玩得很欢乐。

我相信我们一定能打造出世界级的开源项目与开发者社区。

这个美好的愿望背后是冷峻的现实。

在以大客户(KA)为核心的业务场景下,赛道第一的市场份额通常比赛道第二高出 2~3 倍,甚至 5 倍。但在以中小企业及开发者群体为核心的 SaaS 云服务场景下,赛道第一的市场份额比赛道第二能高出一个数量级。开发者社区的争夺,是一场谁都输不起的较量。

认清楚这个现实以后,我们可以放下一些关于开源的纠结。

纠结 1:不开源也可以做社区。

是的,没错,不开源也可以做社区。但是黑暗森林的逻辑了解一下。如果你的对手开源,他是不是在社区上比你有了更多的优势?在一场输不起的竞争中,你不得从一开始就拼尽全力吗?

纠结 2:可以用免费的云服务(free tier)来和开源做竞争。

免费的云服务和开源冲突吗?他们并不是两者只能居其一的关系。从开源出发,然后构建免费云服务以进一步磨练团队,这两件事情其实是递进关系。

纠结 3:开源与商业的边界。

不用在开源版与商业版的功能上过多的纠结。开发者社区的变现方式主要是 SaaS 云服务,尤其是 API 型的服务。开源版本的实现针对的是 X86 硬件平台,而云服务的实现则针对的是公有云环境,两个版本最后一定是分叉的。所以不用担心开源版本会降低竞争优势,因为开源版本在云上一定不是最优的。我觉得这其实是开源软件最大的挑战——计算环境变了。

暂且罗列这三条,其它问题可以在评论区交流。