第124期 | 个人开源项目如何赚钱?
池建强
讲述:池建强大小:7.75M时长:08:28
你好,这里是卖桃者说。今天和你聊聊个人开发者做开源的事情。
这两天有读者问我,想用业余时间做个开源项目,不知道可不可行,也不知道将来能不能赚钱。这让我想起了以前看到过的一个开源故事。
故事的主人公是 Sidekiq 的开发者 Mike Perham(迈克·佩勒姆),Sidekiq 是一个针对 Ruby 的后台任务异步处理框架。开源之后,短短五年内,佩勒姆完成了通过开源项目月入一万美元,到辞去工作专注于自己的开源项目,再到年入百万美元的跨越。
如何做到呢?我们在后面再讲。
我想,这可能是大部分程序员的梦想生活:做一个优秀的开源项目,这个项目为你带来足够的收入,然后辞去工作,告别上班族的生活,成为自由职业者,一边维护自己的开源项目,一边为用户提供价值,一边环游世界。一石三鸟,不亦乐乎。也许你还会由此创造出更多更有价值和创新性的功能和工具,比如林纳斯不仅做出了 Linux 这样的旷世佳作,还发布了 Git 这样的神级作品。
但现实情况是,GitHub 上半途而废的个人项目一抓一大把,反而是由公司和基金会主导的开源项目占据开源世界的主流。
很多个人开源项目都会陷入一个死循环:首先,每个工程师都无法抑制自己对开源的向往,于是带着极大的热情开始做项目。在一切顺利的情况下,开发出了很有价值的东西,然后免费开放给用户。大概率这个项目会泥牛入海悄无声息,即便项目很有价值,解决了某一个用户群体的痛点,也有可能出问题。
在用户量增加的同时,各种请求和问题也会蜂拥而至,你疲于回应那些消息、Issue、PR 和建议,感到不堪重负,最后一走了之。可以说,GitHub 上死去的个人开源项目中,有一半都是这种情况。
怎么解决这个问题呢?开源项目接受捐赠或众筹、加入基金会、受雇于公司或接受公司赞助、提供 SaaS 等增值服务、对企业用户收费等等。也就是说,开发者一定要从项目中受益,然后才有继续干下去的动力和环境。毕竟大家都要生活,谈钱不丢人。
举个例子,Redis 的作者 Antirez 在 Redis 开源后不久,就接受了 VMWare 的招募,他曾在博客中分享过他的经历。
Redis 开源后很快就吸引了一堆用户,这促使我继续为它增加更多的特性,同时还要保证代码更稳定。很快,我为 Redis 付出的努力超出了我的本职工作。之后,Redis 越来越流行,社区规模也越来越大,很多对 Redis 感兴趣的朋友们都在争先恐后地分享他们的知识。虽然我也从中学习了很多东西,但是这一切对于我来说却变的愈发艰难,既要完成我的本职工作,还得继续开发 Redis。
开始 Redis 不过是我的个人爱好,代码很简短。但是现在它却逐渐变的复杂,而且还在继续添加一些特色功能。还有一点必须谨记,Redis 是一个“数据库”,有很多商业公司在使用它,里面放的是实打实的业务数据。因此,当你收到一个 bug 报告时,你必须马上解决,你需要提供非常稳定的代码。
为此,我不得不为 Redis 寻找一个可行的商业模型,我需要挣钱养活自己。但我并不想提供商业顾问服务,或者为一些特别的公司开发一些定制化的 Redis 版本。我更想做的事是继续在 Redis 上捣鼓一些非常 hack 的、通用的东西,而不是要让它来适应五花八门的实际应用场景。
最终,在经过多次沟通后,我选择了加入 VMWare。
当然,现在 Redis 的开发由 Redis Labs 赞助。
其实在个人开源项目中,像 Redis 这样受欢迎、用户量如此庞大的项目终究凤毛麟角,对于这样的项目,不论是公司还是基金会都会很乐意给予支持或收入麾下。大部分个人开源项目,有可能只是个小工具和小框架,针对性的解决了某个问题,于是有了一批支持者。对于这样项目,能依赖基金会或商业公司的可能性会小很多,大部分想要做下去,就要接受捐赠、众筹,或者干脆以此为基础提供增值服务。比如,我最开始提到的 Sidekiq 和它的开发者佩勒姆。
佩勒姆在创建 Sidekiq 之前,就有多年参与开源项目的经验,因此,他很早就意识到了个人开源者的困境,在 Sidekiq 开源之初就开始摸索它的商业模式。
最开始,佩勒姆把 Sidekiq 作为一个 LGPL 项目来开发,以 50 美元的价格售卖商业许可。这种做法得到了很多用户的积极回应。但 50 美元的价格实在太低了。
佩勒姆在分享他的经历时表示,“当时收入少得可笑,但是我收到的回应令人鼓舞:大家告诉我说,跟之前解决方案相比他们每个月省下了上千美元,为了表示感谢他们希望购买版权。”
接着,佩勒姆开始尝试其他方式:把更复杂或者企业级的功能从开源版拿出来,做成了专业版,结果大受欢迎,成了他的核心业务,之后又推出了定价更高、功能更丰富的企业版,并采用了订阅制。对此,佩勒姆表示:
专业版和企业版都是按年订购的。我相信软件永远没有完成时。软件总要变更,尤其是基于 Rails 或者 Ruby 的变化,我的支持工作量会随着免费 Sidekiq 用户和商业客户的增多而线性增长。我不按月卖是因为我认为我的软件不会在这个时间窗口内完成一个使用周期。一旦你集成了它之后,基本上它就会作为你应用的一部分而持续使用多年。
国内的 OpenResty 和 VUE 等项目都来源于个人开发者,并且找到了各自的商业模式。
很多人受限于自身的情况,无法承受为开源项目做无偿的工作。事实上维护一个受欢迎的项目是一项很重的任务,比如,你需要为你的用户解决问题、跟社区讨论项目的进展和规划、不断迭代已有功能、添加新功能等等,你还可能需要面对恶评和吐槽。
这些需要你每周花费 10~20 小时,而不是每个月几个小时。没有收益显然是无法持久的。所以,如果你有长期做开源项目的想法,除了考虑做什么之外,还得考虑一旦项目做起来,你和合作者如何从中盈利,怎么靠它来养活自己,否则,你的项目就很可能成为 GitHub 上无数夭折项目中的一员。
你是否也曾产生过做一个开源项目的想法呢?是否主导或参与过开源项目呢?欢迎在留言区分享你的故事。
卖桃者说,明天见。
(编辑:成敏)
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
该免费文章来自《卖桃者说》,如需阅读全部文章,
请先领取课程
请先领取课程
免费领取
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
全部留言(6)
- 最新
- 精选
- 诸葛子房目前已经做了一个开源项目,大数据对比平台,基于公司的数据对比需求然后抽象出来开发,说实话,开源其实挺难弄的,很久没有写前端开发,然后还有写前端,以及如何去推广也是一个问题,目前项目已经100+star,项目地址:https://github.com/zhugezifang/dataCompare归属地:上海
- 小斧很多人受限于自身的情况,无法承受为开源项目做无偿的工作。事实上维护一个受欢迎的项目是一项很重的任务,比如,你需要为你的用户解决问题、跟社区讨论项目的进展和规划、不断迭代已有功能、添加新功能等等,你还可能需要面对恶评和吐槽。
- shawn打算搞一套,已经能跑了,准备文档比较坑,费力
- 熊斌在gitee上面关注的几个项目都是采用免费版+旗舰版的这种模式。 开源免费版,打造成GVP项目,获得关注量。建立社群。 旗舰版提供更多功能,更适用于商用。需要付费购买。我买过一个PHP开发的小程序商城系统,前后台功能都很完善,现在还在持续迭代中。去年在上面二开接了几单私活儿。 我的本职工作是Java开发,也有一颗想要有自己开源项目的心,还没找到好的切入点,现在只是根据工作所需fork了像srping系列这样的开源项目。 找不到切入点的原因大概是功力不够,那就站在巨人的肩膀上继续修炼吧。
- 夜空中最亮的星上个ipv6的课吧
- leslie又学习到了新的东西:有过和开源合作的想法,但是国内的一些有挖坑;探索中吧😄
收起评论