很兴奋的告诉大家,Sealos 自从 6 月份上线以来,仅半年时间注册用户已经突破 7万,月收入超过 30w,本文来向大家介绍我们是怎么做开源商业化的。每月平均增速超过 40%,而且这些收入大部分来自用户充值,或者是通过开源社区主动找到我们付费。

商业化的重要性

作为一家创业公司做开源,我们除了融资那点钱,没有别的收入来源,不像大厂可以有其它现金流来补开源这块,我们不考虑商业化那就会死,死了项目就无法维护和加大投入,最终就是用户和我们双输。

而有了能走通的商业模式,我们就能创造营收,有了营收就可以招更多的人,融更多的钱,加大更多的投入,发展更大的市场,客户多了边际成本就可以下降,每个用户也就能得到价格更便宜,质量更好的产品,是个良性循环,资金像血液一样驱动整个项目蓬勃向前发展,最终用户和我们都受益,双赢。

fake.js 作者因为没有好的商业模式而关停项目就实属可惜。

当然我也非常敬重那些非常有情怀只做免费开源视金钱如粪土的人,不过在我看来钱是工具,是杠杆,有这个可以让项目几十上百倍速度发展。

那为什么不闭源

既然要收钱干嘛还要开源?来搞伪开源嘛?

首先,我自己乃至我们整个团队都觉得开源是一件很酷的事情,你的代码是需要给很多人看的,要求自然就高,开源确实是在写代码鄙视链的顶端,热爱是内驱因素,看到 Star 涨就是开心,看到上榜就是欢乐

第二,确实因为开源是非常好的协作模式,你的客户更容易提需求,更容易定制自己需要的东西,更容易给社区贡献一起共建。我们能发展这么好社区力量至少占了 30%。

第三,本着尽可能对用户负责,我希望哪怕我这家公司挂了,我们项目还在,用户还能继续用我们的东西,而不用提心掉胆一个小公司死了我的业务怎么办,最坏情况是自己还可以搭一套。

当然,开源确实会带来更大的客户流量,我们公司 0 销售人员,靠的全是客户主动找上我们,不开源几乎很难做到。而且开源是一个试金石,你技术不行产品力不行就是做不起来,开发者都挑剔的很,东西不好不管是平台背书还是使劲宣传都没啥卵用。

开源做太好,大家就不付钱了?

其实有些时候确实是这样,你做差了用户不会用,你做太好了用户不掏钱,所以现在很多开源项目会区分企业版和开源版,我是不喜欢这种方式的,因为维护两个版本是很累的事,每次都需要考虑哪些东西合并企业版,哪些东西不合并,时间一久两个版本就直接分叉了,后面直接索性开源版不投入了,这种方式很别扭,不高级。

还有一种就是服务收费,大客户愿意掏钱买平安,找最专业的团队维护他们的系统,官方团队肯定最专业,是个不错的方式。但是这种有两个问题,首先项目团队得撑到那一天,大客户通常比较认你的市场地位,发展到一定知名度的时候可能才有这个机会,很多人没到这一天自己就挂了。其次,这种模式也挑项目,通常重要性比较高的东西,像网关,数据库,安全这些关乎企业生死的东西愿意掏钱。

然后就是云服务,这是一种很香的商业模式,用户看了开源确实想用的时候,通过云服务是最快能用起来的方式。

我们的商业模式

Sealos 是做云操作系统的,所以云服务就是就是我们天生不二之选,所以我们几乎从创业第一天开始就在做云服务

Sealos 特别有意思,在诞生第一天起就是收费的,最早期时是卖安装包,代码开源但是安装包收费,如果用户自己根据源码去构建安装包可能需要一周时间,而拿 168元就可以立马下载,所以卖了很多。而对于我而言早就写好了机器人去做这些事,完全实现了睡后收入,这样有更多精力来做新功能。

即便 Sealos 的开源做的非常完美,用户还是有非常大可能性用云服务,因为云服务提供了额外的附加值:

  • 使用上更简单可以打开浏览器直接用。
  • 我们维护肯定比你自己维护专业。
  • 用户一多每个用户成本会下降。
  • 持续升级更新。

但凡用户是可以用公有云的大概率还是会用,而不会去自己吭哧吭哧搭建。

这里有非常需要注意的一点,就是开源提供了核心能力,商业化提供了附加值,而附加价值通常是让用户更方便了,但是用户通常愿意为附加值付出的价格是非常有限的,一旦你太贵就会导致用户拿开源自己搭建。这就造成一个非常尴尬的境地,收少了养不活自己,收多了用户自己搭。

所以云服务还有一个非常重要的逻辑,就是成本转移,以前用户需要付给别的厂商的钱现在付给你了,这样用户付给你的钱就多了,用户需要支出的总成本还可能降低了,你的商业模式中让用户总成本降低是非常核心关键的部分。比如用户自建,还是得买服务器吧,而用我们服务就可以把买服务器的钱花在我们这,享受更便捷成本更低的服务。

私有云情况就不一样了,用户必须要自己搭建,这个时候我们就延续了 Sealos 一开始的商业模式,但是更牛逼了,而不是收安装包的下载费用了,我们在 Sealos 内部实现了计量系统,用户可以通过 Licence 充值,即便私有云也是有账户余额,按量计费,用完了就得续 Licence,拿着一个加密文件到集群中 apply 额度就充进去了。这是个绝妙的构想:

  • 很多私有软件的授权过程很恶心,需要采集硬件信息什么的,Sealos 不需要。
  • 实现了公有云和私有云计费方式的完全统一,顺便一起解决了企业内部人员配额问题。
  • 针对大小不同的客户都有合理的价格,不会出现小客用不起,大客不敢用的情况。

这样收费会不会让用户反感?

我还是觉得提供价值合理收费天经地义,原则也是尽可能找到让客户与项目整体利益最大化的点,收费贵了伤害了用户利益,收费便宜了我们没法快速前进,要平衡好这中间的利益关系,是个矛盾统一体。

私有云技术上也得有很强的实力才行,我们推崇“自助式私有云”,也就是大部分用户是有能力自己完成整个交付过程的,几乎不用我们干预,这也是能把价格降低的核心因素,比如 512 元的私有云集群你敢想?任何一家企业做这种生意都会亏死吧? 但是这个价格 Sealos 能做,因为我们可以标准化,自助式,规模化,这样小的集群未来我们可以卖 10 万套。

总结

开源商业化是个非常有意思的过程,比单纯做开源有趣的多,而且能真的把雪球滚起来,形成良性循环,最终固定成本提高,边际成本极速下降,用户就能享受到优质的便宜的产品,项目方也可以盆满钵满。

开源不挣钱?这个项目上线半年月入超 30w的更多相关文章

  1. 利用Visual Studio 2017的扩展开发(VSIX、ItemTemplate) 快速实现项目的半自动化搭建

    目录 0.引言 1.什么是Visual Studio项目模板 2.IWizad接口 3.通过Visual Studio扩展开发实现领域驱动开发 3.1 使用VSIX+ProjectTemplate创建 ...

  2. Vue项目上线环境部署,项目优化策略,生成打包报告,及上线相关配置

    Node.js简介 Node.js是一个基于Chrome V8引擎的JavaScript运行环境,用来方便快速地搭建易于扩展的网络应用.Node.js使用了一个事件驱动.非阻塞式I/O的模型,使其轻量 ...

  3. 如何保证前端项目上线后的安全?webfunny已总结前端最关键的12大指标

    实时监控大屏   众所周知:实时流量大屏,是用来监控前端项目上线质量的. 如大家所知,监控系统会监控线上应用的各项指标,如:错误.白屏.耗时等等,但是仔细一想,即使有这些监控,我们也不一定能够保证线上 ...

  4. HLS直播和时移项目上线

    兄弟姐妹们: 天翼视讯的高清HLS直播和时移项目上线,测试观看地址为:http://118.85.192.228/live/,同时支持移动终端和pc终端.移动终端支持ios client和androi ...

  5. 开源OSS.Social微信项目进阶介绍

    在开源OSS.Social微信项目解析的随笔中,我简单给大家分享了进行中微信项目的概要设计,主要在讲述解决思路和过程,没有详细实现和使用介绍.本着不能马虎的态度,这篇文章我来给大家分解一下项目结构,使 ...

  6. Linux 项目上线管理 MAVEN + expect 一台机器管理所有机器的应用程序

    一.目的 在一台服务器上面管理所有机器的应用程序. 设想是通过一条命令能够知道所有应用程序是否running 如果not running 查看具体项目的log 跟踪具体原因,程序问题汇报相关负责人 二 ...

  7. django项目上线环境部署

    django项目上线环境部署 第一步 安装python虚拟环境 1 安装虚拟环境virtualenv 2 安装virtualenvwrapper工具 3 确认virtualenvwrapper.sh脚 ...

  8. 开源的服务发现项目Zookeeper,Doozer,Etcd - 木精灵的技术博客 - CSDN博客

    开源的服务发现项目Zookeeper,Doozer,Etcd - 木精灵的技术博客 - CSDN博客   http://blog.csdn.net/shlazww/article/details/38 ...

  9. Ganglia开源集群监视项目

    Ganglia是UC Berkeley发起的一个开源集群监视项目,设计用于测量数以千计的节点.Ganglia的核心包含gmond.gmetad以及一个Web前端.主要 是用来监控系统性能,如:cpu ...

  10. 项目上线后出现Bug,该如何处理?

    项目在上线之后又出现了Bug,这让很多测试人员和开发人员头痛.但很多时候线上Bug普遍地存在,不可避免. 任何项目都存在未发现 Bug  和 已发现 Bug  两种情况,不存在没有 Bug的情况. 即 ...

随机推荐

  1. AtCoder ABC183F Confluence

    题意 \(n\)个人,每个人属于一个班级\(ci\),这些人会有些小团体(并查集) 两种操作: \(1\) \(a\) \(b\),将\(a\)所在的集体和\(b\)所在的集体合并 \(2\) \(x ...

  2. Vika and Her Friends

    Smiling & Weeping ----早知道思念那么浓烈,不分手就好了 题目链接:Problem - A - Codeforces 题目大意:有n个Vika的朋友在一个n*m的方格中去捉 ...

  3. VideoCapture

    from xgoedu import XGOEDU import time #实例化edu XGO_edu = XGOEDU() XGO_edu.lcd_text(50,50,'hello',colo ...

  4. nacos-mysql.sql

    https://github.com/alibaba/nacos/blob/master/distribution/conf/nacos-mysql.sql # Nacos安装 /home/nacos ...

  5. PostgreSQL主备库搭建

    pg主备库的搭建,首先需在2个节点安装pg软件,然后依次在2个节点配置主备. 本文采用os为CentOS7.6,pg版本使用14.2,以下为详细部署步骤. 本文两个节点的ip地址如下: [root@n ...

  6. nginx中一个请求匹配到多个location时的优先级问题,马失前蹄了

    背景 为什么讲这么小的一个问题呢?因为今天在进行系统上线的时候遇到了这个问题. 这次的上线动作还是比较大的,由于组织架构拆分,某个接入层服务需要在两个部门各自独立部署,以避免频繁的跨部门沟通,提升该接 ...

  7. 实验四报告: 熟悉Python字典、集合、字符串的使用

    实验目标 本实验的主要目标是熟悉Python中字典.集合.字符串的创建和操作,包括字典的创建.访问.修改和合并,集合的创建.访问以及各种集合运算,以及字符串的创建.格式化和常用操作. 实验要求 通过编 ...

  8. 入门篇-其之六-Java运算符(中)

    祝所有程序员,1024节日快乐!!! 一.自增/自减运算符 假设有一个变量intValue的值为10,如果想让这个值加1,有哪些方式? 首先,我们可以使用最原始的方式: int intValue = ...

  9. 采药(lgP1048)

    emmm 01 背包模板... 设 f[i] 表示背包容积为 i 时所得的最大价值. 则状态转移方程为 f[j] = f[j - w[i]] + c[i] . #include<bits/std ...

  10. 搭建LNMP

    搭建LNMP 准备(关闭防火墙,selinux)  systemctl stop firewalld  systemctl disable firewalld  setenforce 0 安装依赖包( ...