个人开源项目如何从零到年入百万美元

Posted MacTalk

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了个人开源项目如何从零到年入百万美元相关的知识,希望对你有一定的参考价值。

前几天有读者咨询,想用业余时间做个开源项目,不知道可不可行,也不知道将来能不能赚钱。 这让我想起了以前看到过的一个开源故事。
故事的主人公是 Sidekiq 的开发者 Mike Perham(迈克·佩勒姆),Sidekiq 是一个针对 Ruby 的后台任务异步处理框架。 开源之后,短短五年内,佩勒姆完成了通过开源项目月入一万美元,到辞去工作专注于自己的开源项目,再到年入百万美元的跨越。
如何做到呢? 我们在后面再讲。
我想,这可能是大部分程序员的梦想生活: 做一个优秀的开源项目,这个项目为你带来足够的收入,然后辞去工作,告别上班族的生活,成为自由职业者,一边维护自己的开源项目,一边为用户提供价值,一边环游世界。 一石三鸟,不亦乐乎。 也许你还会由此创造出更多更有价值和创新性的功能和工具,比如林纳斯不仅做出了 Linus 这样的旷世佳作,还发布了 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 上无数夭折项目中的一员。
你是否也曾产生过做一个开源项目的想法呢? 是否主导或参与过开源项目呢? 欢迎分享你的故事。

以上是关于个人开源项目如何从零到年入百万美元的主要内容,如果未能解决你的问题,请参考以下文章

ChatGPT催生新岗位,“提示工程师”年入百万,合理合法收入

靠ChatGPT年入百万,合法还不限学历专业,一般人我不告诉他(doge)

Python超强爬虫技术,年入百万的秘密!

「用ChatGPT搞钱年入百万!」各路博主发布生财之道,网友回呛:答辩的搬运工...

访谈完100个年入百万的自媒体人后,我总结了出了他们的共性

开源项目ZXX-CAS系统从零到一|第三篇:集成数据库服务