夜莺监控项目在上周突破了一万 star ,算是一个小小的里程碑。在开源领域,通常把 star 数量看作项目的繁荣指标,star 数量越多,说明愿意关注你的人越多。这个数字的背后,是一群人对你的鼓励、认可和支持,当然,还有鞭策。夜莺项目最早发起于 2020 年初,发展到现在接近四年时间,本文想借此机会聊聊我们做开源的初心,这四年的感悟,以及多方共赢的商业模式设计。
夜莺项目最初是我们在滴滴的时候开源的,后来捐赠给中国计算机学会开源发展委员会进行托管,以基金会的方式运作。其 github 地址是 https://github.com/ccfos/nightingale,其中 ccfos 就是 CCF OpenSource ,即中国计算机学会开源项目的统一地址。
项目至今,有 130 位 contributor 参与,共提交了 2600 多次 commit ,发版了 170 多次,fork 数 1400 ,docker pull 228k ,虽说我们还有很多不足,但这些数字让我们看到了持续进步的汗水。如果一个开源项目可以坚持投入 4 年,甚至 10 年,20 年,我们坚信它的社会价值会越来越大。
如果聊到项目开源的初心,那得追溯到 10 年前我们开源 open-falcon 那会了,当时确实啥都不懂,就是凭一腔热血为爱发电,当时觉得吧,我们搞了一个自认为还不错的项目,独乐乐不如众乐乐,放出来大家一起完善,项目会越发牛逼。当时的我们,也没有想过什么商业模式,只是想把这个项目做好,让更多人用,让更多人参与。
实际遇到了如下一些问题,如果你也做过开源项目,估计会很有同感:
后来发起夜莺项目,我们就在思考如下这个关键问题:
如何才能让一些人才持续全情投入?只要有人持续投入,项目一定会越来越好,不管是功能层面、性能层面,还是文档、社区支持,只要有人持续参与,一切都会越来越好。但是人家得养家糊口啊,除非给人发工资。工资从哪里来?靠项目自身去赚不就行了。于是,,,我们创业了,做了一家公司叫快猫星云。
但是,事情远没有这么简单。
我们想到的第一个模式是靠技术 Support ,因为 RedHat 就是这么干的。普通用户提供社区支持,商业用户提供商业支持,如果客户在生产环境部署了你的软件,为了防止紧急生产故障,买个 Support 以防万一,这理所当然,看起来是个好模式。但也仅仅是看起来,实操中会发现如下问题:
所以,技术 Support 根本没有大规模商业化的底层逻辑支撑。如果你只是个人项目,养活自己就行,或者只是想赚点外快,这个模式或许还行,如果只是想养活几个人,这个模式我都觉得很难。
另外,开源监控、可观测性项目,可选择的项目还比较多,你如果收费,别家免费,即便你做的更好,也很难有人买单。你有养家糊口的压力,但是其他有些项目的研发人员人家已经财务自由了,人家就是可以全职不拿钱做开源,你怎么办?
其他领域不敢讲,监控、可观测性这个领域,如何设计一个多方共赢的商业模式?我的个人观点(注意,只是个人观点)如下:
其他一些 ToB 商业公司同行可能会觉得我们这种做法就是毒瘤。因为我们开源的部分抢了他们的生意,但实际上,我们开源的是基础监控告警能力,即便没有我们,还是会有 Prometheus ,会有 Zabbix 这些前辈在,如果 ToB 公司的生意能够被开源项目抢走,说明你的产品能力可能还需要加强。而社区版也承载了我们的精神层面的诉求,我们希望为社会提供一个好用的监控系统,让更多人受益,这是初心,我们不可能放弃。
有些创业导师说,如果你只是为了钱,那不应该创业。实际上,创业的原因哪能是单一的。肯定是既要又要还要啊。
如果,我是说如果,我们站在生命的尽头,回首往事,什么会相对更有价值?我想,可能是过程中一起经历的风雨,以及我们生命留下的痕迹,我们在开源项目上的付出,可能会是我这碌碌无为的一生中最深的那个痕迹了吧。
1
akin520 3 天前
项目是好项目,主要是根不上你更新的速度
|
2
wonderfulcxm 3 天前 via iPhone
我是第一次看到这个项目,请问支持监控多台服务器吗?我想替换掉哪咤面板。
|
3
XDiLa 3 天前
@wonderfulcxm 肯定支持的啊
|
4
southwolf 3 天前 via Android
open-falcon 时代就关注了。。。加油!
|
5
arfa 3 天前
项目是好项目, 建议你们别把大版本更新这么快
|
6
comlewin 3 天前
很厉害,点赞👍。另外你们公司营收可以吗
|
7
tuimaochang 3 天前
大佬牛逼!
|
9
GoRuby OP @arfa 收到。正式大版本一般是每年 7 月底夜莺大会上发版。小版本其实可以不用更新,不过很多人希望尽快拿到小版本的 feature 所以我们只要开发完了一点功能就会放出去
|
11
GoRuby OP @wonderfulcxm 支持。在服务器上部署一个 agent ,就可以监控了。我们一般建议安装 categraf 作为 agent ,也可以使用 telegraf 、datadog-agent 、grafana-agent 等其他 agent
|
12
GoRuby OP @akin520 收到。正式版一般是每年 7 月底夜莺大会上发版。小版本其实可以不用更新,不过很多人希望尽快拿到小版本的 feature 所以我们只要开发完了一点功能就会放出去
|
13
swulling 3 天前 via iPhone
目前业界的模式是社区版提供的都是适合小规模个人、小团队、开发者使用的。其他的走商业版。
有几个收费的点: 1.UI ,社区版不提供或者只提供最简单的 UI 2. 多租户。 3. 分布式。社区版提供一个单点应用。 4. 高级功能。社区版只提供最核心的功能。 |
15
wonderfulcxm 3 天前 via iPhone
@GoRuby 感谢分享,我去了解一下。
|
16
arfa 3 天前
我觉得可以学一下禅道,虽然有点反感,但是人家这个赚钱的模式真心不错
|
17
arfa 3 天前
open-falcon 时,我也试玩过,但是当时觉得还不如 zabbix 方便,但是 nightingale 不一样了,使用起来就方便多了!
|
18
accfcx 3 天前
支持。20 年时有同学在弹性云组下面,当时给我说夜莺是云那边的几个老板一起开源的,在这里又一次看见,感慨
|
21
PROJECT 3 天前
如果有一键安装的脚本就好啦
|
22
bazbaozhilv 3 天前
厉害了,这边一直在用
|
23
hackroad 3 天前
商用 2 年了,加油。
|
24
GoRuby OP @PROJECT 夜莺自身实际就是一个二进制,直接启动就行了,只是有其他依赖,依赖 mysql 、redis ,如果要一键启动,可以使用默认提供的 docker compose 方式启动。如果只是临时测试,可以使用 v8.beta2 之后的版本,这个版本之后的版本,可以选择不依赖 mysql 、redis ,直接只使用二进制启动~
|
25
GoRuby OP @bazbaozhilv 🤝
|
28
matrix1010 3 天前 2
其实我只要项目 star 过 100 就基本不怎么看这个了,而是看 CI ,看文档,看 issue 活跃度和质量这些。比如对比你的 CI 和 Grafana 的 CI 差别就十分巨大,你的项目 CI 里连测试这一步都没有。问基础问题的小白用户一般也不会是公司技术专家之类的,不太可能带来生意,最多也就能提供 star+1 的价值。不卑不亢回复就行
|
29
wkong 3 天前
厉害👍
|
30
Steaven 3 天前
open-falcon 时,就在使用了,这么些年还一直是,我被离职了,还一直是,没有升级过😓
|
31
GoRuby OP @matrix1010 项目后期其实我已经很少写代码了,项目前期我写的比较多。测试与否这块倒是可以聊聊。可能跟我的经历有关,我刚毕业那会,在一个大厂,我们组有个大牛从来不写单测,也不要 QA 同事协助,但是他的代码质量很高,极少听到用户反馈他负责的部分哪哪有 bug ,而组里那些配备了 QA 同时还声称 TDD 开发模式的同事,从质量结果来看,却不尽人意。
不写单测不代表不测,我现在的习惯是,一般很重视功能测试,一个功能跑通了,N 多个方法的正常路径就都跑通了,我个人觉得效率很高。监控系统,不像底层的 OS 、DB ,如果是 OS 、DB ,我觉得得有非常非常完备的 CI ,但是监控系统,作为一个上层系统,功能迭代较快,我感觉把功能测好就挺好了。 以上,纯探讨,纯个人观点。 |
35
matrix1010 3 天前 1
@GoRuby 你这个无法考证的个例我不评论。但做开源并且想赚钱,一定要想清楚谁会为你付钱,仅靠国内这样的风气/环境能不能赚钱。如果面向世界,那些可能付费的程序员/公司看重的是什么。star 其实是各种指标里最没用的一个,给你点 star 的人和深度使用的人很有可能重叠很小
|
36
GoRuby OP @matrix1010 你的观点是否正确我无权评论,不过确实是一个有独立思考的人,在这个浮躁的圈子里,值得点赞 👍
|
37
Dxxxxs 3 天前
看来当年在滴滴云实习的时候的时候和大佬同组过,支持一下
|
39
IndexOutOfBounds 2 天前
做过托管 Prometheus ,也调研过 FlashDuty 。路过给大佬点个赞
|
40
GoRuby OP @IndexOutOfBounds 🤝🤝🤝
|
41
huangliu 1 天前
好项目,年初的时候有个同学还给我说他们公司也是基于夜莺进行二开的。开源项目要盈利或者说养活一个公司实在太难了,楼主已经做得很好了😂
|
42
dfdd1811 1 天前
看着不错,但我的 1h1g 轻量实在是承受不了 mysql 和 redis…
|
45
codingmiao 7 小时 18 分钟前
不错,正好最近在找把 Prometheus 这个笨重的家伙换掉的方案。
话说顺便看了下 ccfos 这个组织,唯一一个项目就是夜莺,就有点唏嘘,开源要走的路还很长很艰难呀。。 |
46
GoRuby OP @codingmiao ccf odc 是刚成立没多久,有几个项目捐赠在流程中,这种单位的行动有点慢
|