夜莺监控突破一万 star,这是汗水,也是鞭策

255 天前
 GoRuby

夜莺监控项目在上周突破了一万 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 公司的生意能够被开源项目抢走,说明你的产品能力可能还需要加强。而社区版也承载了我们的精神层面的诉求,我们希望为社会提供一个好用的监控系统,让更多人受益,这是初心,我们不可能放弃。

活下去是责任,留下点什么才是关键价值

有些创业导师说,如果你只是为了钱,那不应该创业。实际上,创业的原因哪能是单一的。肯定是既要又要还要啊。

如果,我是说如果,我们站在生命的尽头,回首往事,什么会相对更有价值?我想,可能是过程中一起经历的风雨,以及我们生命留下的痕迹,我们在开源项目上的付出,可能会是我这碌碌无为的一生中最深的那个痕迹了吧。

6363 次点击
所在节点    程序员
49 条回复
PROJECT
255 天前
如果有一键安装的脚本就好啦
bazbaozhilv
255 天前
厉害了,这边一直在用
hackroad
255 天前
商用 2 年了,加油。
GoRuby
255 天前
@PROJECT 夜莺自身实际就是一个二进制,直接启动就行了,只是有其他依赖,依赖 mysql 、redis ,如果要一键启动,可以使用默认提供的 docker compose 方式启动。如果只是临时测试,可以使用 v8.beta2 之后的版本,这个版本之后的版本,可以选择不依赖 mysql 、redis ,直接只使用二进制启动~
GoRuby
255 天前
GoRuby
255 天前
@hackroad 感谢支持啊,任重道远
hackroad
255 天前
@GoRuby 等下次 lai 总来上海,给他喝倒。
matrix1010
255 天前
其实我只要项目 star 过 100 就基本不怎么看这个了,而是看 CI ,看文档,看 issue 活跃度和质量这些。比如对比你的 CI 和 Grafana 的 CI 差别就十分巨大,你的项目 CI 里连测试这一步都没有。问基础问题的小白用户一般也不会是公司技术专家之类的,不太可能带来生意,最多也就能提供 star+1 的价值。不卑不亢回复就行
wkong
255 天前
厉害👍
Steaven
255 天前
open-falcon 时,就在使用了,这么些年还一直是,我被离职了,还一直是,没有升级过😓
GoRuby
255 天前
@matrix1010 项目后期其实我已经很少写代码了,项目前期我写的比较多。测试与否这块倒是可以聊聊。可能跟我的经历有关,我刚毕业那会,在一个大厂,我们组有个大牛从来不写单测,也不要 QA 同事协助,但是他的代码质量很高,极少听到用户反馈他负责的部分哪哪有 bug ,而组里那些配备了 QA 同时还声称 TDD 开发模式的同事,从质量结果来看,却不尽人意。

不写单测不代表不测,我现在的习惯是,一般很重视功能测试,一个功能跑通了,N 多个方法的正常路径就都跑通了,我个人觉得效率很高。监控系统,不像底层的 OS 、DB ,如果是 OS 、DB ,我觉得得有非常非常完备的 CI ,但是监控系统,作为一个上层系统,功能迭代较快,我感觉把功能测好就挺好了。

以上,纯探讨,纯个人观点。
GoRuby
255 天前
@hackroad 这是硬茬子,哈哈
GoRuby
255 天前
@wkong 🤝🤝🤝
GoRuby
255 天前
@Steaven 10 年了...
matrix1010
255 天前
@GoRuby 你这个无法考证的个例我不评论。但做开源并且想赚钱,一定要想清楚谁会为你付钱,仅靠国内这样的风气/环境能不能赚钱。如果面向世界,那些可能付费的程序员/公司看重的是什么。star 其实是各种指标里最没用的一个,给你点 star 的人和深度使用的人很有可能重叠很小
GoRuby
255 天前
@matrix1010 你的观点是否正确我无权评论,不过确实是一个有独立思考的人,在这个浮躁的圈子里,值得点赞 👍
Dxxxxs
255 天前
看来当年在滴滴云实习的时候的时候和大佬同组过,支持一下
GoRuby
255 天前
@Dxxxxs 🤝🏻🤝🏻🤝🏻😃
IndexOutOfBounds
255 天前
做过托管 Prometheus ,也调研过 FlashDuty 。路过给大佬点个赞
GoRuby
254 天前
@IndexOutOfBounds 🤝🤝🤝

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1101588

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX