大家好,我是哥飞。
Andris Reinman 做过一个很有名的开源项目,叫 Nodemailer。
如果你写过 Node.js,也就是用 JavaScript 写后端服务,大概率听过它。Nodemailer 解决的事情很具体:让开发者在 Node.js 里发邮件。
这个项目用了很多年,被很多开发者和公司用过。听起来很厉害,对吧?
但开源影响力和收入是两件事。
Andris 自己讲过,开源带来了很多可见度和影响力,可捐赠收入只有每月几百美元量级。
后来真正跑出收入的,是另一个相邻产品:EmailEngine。
EmailEngine 是一个自托管邮件 API 产品,做到约 1.3 万美元月经常性收入。
这个案例值得看。它没有停在“给开源项目加一个付费版”。后面真正跑出来的,是一个更接近企业痛点的新产品形态。
从开源库到付费产品Nodemailer 解决的是基础动作
先说 Nodemailer。
它是一个 Node.js 邮件发送库。你可以把它理解成:开发者在自己的程序里想发邮件,比如注册验证、密码找回、订单通知、系统提醒,就可以用它来完成发送动作。
Nodemailer 的价值很清楚。
它把“发邮件”这件事做得简单、稳定、安全。开发者不用自己从头处理各种邮件发送细节,也不用为了一个基础动作引入很重的系统。
这种开源库很容易形成口碑。
只要它足够稳定,文档够清楚,坑少,开发者就会一直用,也会推荐给别人。
问题也在这里。
越是基础、越是好用的库,用户越容易把它当成免费基础设施。
开发者会感谢你,会给你 Star,会在项目里依赖你,但不一定会每个月给你付钱。
开源项目的“使用者很多”,和“付费客户很多”,中间隔着很远。
捐赠很难变成稳定生意
很多人做开源,最开始会自然想到捐赠。
逻辑看起来很顺:我做了一个大家都用的项目,大家觉得有价值,就应该愿意支持一下。
现实通常没这么顺。
大部分使用者只是把开源库当工具用。项目能解决问题,他们就继续用;项目免费,他们就更愿意用。
但到了付费这一步,动机就弱了。
尤其是基础库。
它通常藏在业务后面,用户每天都在用,但不会每天感知它的价值。只要它不出问题,大家就更不会想起它。
企业真正愿意付钱的地方,通常会落在更具体的业务压力上。
比如稳定性、部署、监控、权限、合规、团队协作、节省工程时间、减少维护成本。
这些东西离业务更近,也更容易进采购预算。
这就是 Nodemailer 和 EmailEngine 之间最关键的差别。
免费开源库和付费产品的差别EmailEngine 换了一个产品形态
EmailEngine 做的还是邮件相关的事,但它解决的问题更重。
它往前走了一步,要处理读邮件、监听邮箱变化、授权、退信和追踪这些更重的事情。
它是一个自托管邮件 API。你可以把它部署在自己的服务器上,然后通过 HTTP REST API 去访问已有邮箱。
听起来有点技术,我翻译成更简单的话:
很多产品除了“发邮件”,还要读邮件、监听邮箱变化、处理附件、接 Gmail、接 Outlook、接企业邮箱、处理登录授权、处理退信、处理打开和点击追踪。
如果团队自己做,就要面对 IMAP、SMTP、Gmail API、Microsoft Graph API 等一堆协议和接口。
这些东西很琐碎,也很容易出坑。
EmailEngine 把这些复杂细节包起来,让开发者用一个相对统一的接口去处理。
这时候客户范围就变了。
可能是做 CRM 的团队,要把客户邮箱接进系统;可能是客服系统,要把 support 邮箱变成工单;可能是 AI 公司,要拉取用户邮件做数据处理;也可能是冷邮件工具、邮件预热工具、邮件托管商。
这些客户的需求比“发一封邮件”重得多。
他们关心的是少踩坑、少维护、稳定接入、控制数据、把功能更快做出来。
这就是付费产品的空间。
开源负责信任,付费产品负责解决重问题
Andris 没有强行把 Nodemailer 本身变成收费项目。
这个选择很重要。
如果一个基础开源库用了很多年,突然改成收费,用户第一反应可能会是找替代品、锁旧版本,甚至 fork 一份继续用。
因为他们使用 Nodemailer 时,本来就是按“免费基础库”来理解的。
EmailEngine 的做法更自然。
Nodemailer 继续做基础库,继续积累开发者信任。EmailEngine 去解决旁边更复杂、更接近业务的需求。
开源项目带来的信任没有浪费。
当开发者看到 EmailEngine 背后是 Nodemailer 的作者,他会更愿意相信这个人懂邮件基础设施,也更愿意相信这个产品能长期维护。
这就是开源的价值。
它不一定直接变成收入,但它可以变成信任、分发和专业背书。
然后你要用另一个更适合收费的产品,把这些信任接到真实业务需求上。
EmailEngine 还有一个很关键的定位:自托管。
邮件数据很敏感。很多公司不一定愿意把所有邮件流量都交给第三方托管服务。自托管意味着客户可以把系统放在自己的环境里,自己控制数据和部署。
EmailEngine 的收费方式也很适合这种场景:不按连接邮箱数量收费,一个订阅可以接很多邮箱,固定年费。
这对需要接大量邮箱的团队很有吸引力。
他们买的是更少的工程复杂度,以及更强的部署控制权。
普通人能学什么
这个案例对做开源、做工具、做开发者产品的人,很有参考价值。
第一,开源可以先做信任。
不要一开始就想着怎么从每个使用者身上收费。先把一个真实问题解决好,让目标用户真的愿意用、愿意推荐、愿意长期依赖。
第二,免费用户和付费客户要分开看。
免费用户多,说明你解决的问题有需求。但他们为什么不付费?是因为没预算,还是因为这个场景不够痛?是因为他们只是个人开发者,还是因为你提供的能力离业务还不够近?
第三,收费点要靠近更重的需求。
Nodemailer 解决基础发送动作,EmailEngine 解决持续接入、监听、授权、维护和部署。后者更靠近企业工作流,也更容易收费。
第四,不一定要给原项目加 Pro 版。
很多开源项目的付费机会,不在原项目本身,而在旁边那一圈更复杂、更专业、更接近业务的需求里。
第五,经验本身也是优势。
Andris 做邮件基础设施很多年,懂这些协议和坑。对别人来说很麻烦的事,对他来说是长期积累下来的能力。
很多人找机会时,总想追新风口。
其实回头看自己已经踩过很多年的坑,那里可能就有别人愿意付费的问题。
普通人能学的 3 件事最后说一句
开源当然有价值。
但开源的价值不一定体现在捐赠收入上。
对很多开发者工具来说,开源经常先承担信任入口和分发入口的角色。
真正收钱的产品,往往要再往前走一步:更稳定、更好部署、更省工程时间、更接近业务压力。
Nodemailer 到 EmailEngine 这个案例,最值得学的就是这一步。
别只问“我的开源项目怎么收费”。
更应该问:这些使用者里面,谁有更重的问题?他们为了省时间、省维护、控风险、做业务,愿意为什么付钱?
找到这个问题,再做一个相邻产品,机会就比单纯等捐赠大得多。
如果你也想跟着哥飞学习做网站、搞流量、赚美元,欢迎加入哥飞的朋友们社群。