打造年收入280万美元的开源产品组合
2026年4月16日 阅读时间: 8分钟

打造年收入280万美元的开源产品组合

艾莉森·贾诺托打造了一款开源产品,几乎不做营销就将其发展为年收入280万美元的组合。以下是她的经验分享。

公司

创始人

收入

艾莉森·贾诺托在工作中需要一款资产管理工具,于是她开发了 Snipe-IT 并将其开源。随后,她将其商业化并扩展了 产品组合。如今,这项业务带来了超过280万美元的年度经常性收入(ARR)。

以下是艾莉森分享的成功经验。 👇

目录

  1. 打造开源产品

  2. 决定收费

  3. 使用基础技术栈构建

  4. 重在存在感,而非营销

  5. 社区、本地化与内部使用

  6. 开源是痛苦的超能力

  7. 创建公司文化

  8. 构建你需要的产品

  9. 未来规划

打造开源产品

我从事开发工作约30年,主要使用PHP,必要时也涉猎其他语言。我曾合著过几本关于PHP和MySQL的书籍,以及一本较新的网络安全书籍。二十年来,我一直在技术会议上演讲,通常谈论应用安全或如何通过开源产品实现盈利。

我目前(并且可能永远)致力于我们的旗舰产品Snipe-IT。这是一款免费、开源的IT资产管理解决方案。同时,我也在开发我们的电子邮件验证和认证平台GoodForms.com

我们的年度经常性收入(ARR)略高于280万美元,月经常性收入(MRR)约为23.8万美元。这是数据链接——客户名称显然是虚构的,但数字非常真实。

决定收费

当我最初创建Snipe-IT时,它获得了很大关注,我丈夫建议我收费。我当时觉得这是我听过的最愚蠢的想法。既然已经免费了,谁会付钱让我托管呢?

他缠了我好几个星期,直到我在项目网站上放了一个PayPal按钮。不到一周,我就有了第一个客户。那是13年前的事了。

他永远不会让我忘记这件事。

Snipe-IT对于任何想下载并自行运行的用户仍然是免费的,我们仍在GitHub和Discord上提供免费支持。但将其转变为一项业务意味着要弄清楚如何收费,以及如何大规模托管。

由于每个客户都处于自己安全的、chroot隔离的环境中,而_不是_在多租户环境中,这带来了标准SaaS通常不会面临的独特挑战。我们不是在运行一个版本的Snipe-IT;我们是在运行_六千个_版本的Snipe-IT

刚开始时,我提供100美元的付费安装服务,即通过SSH登录你的服务器并为你设置Snipe-IT。这没持续多久;一个客户因为不知道如何设置SSH密钥,来回沟通了100条消息。这不是他们的错,但这不是对我时间的有效利用,所以我们停止了这项服务。

现在,我们结合了SaaS和支持服务。有些人有特定要求,无法使用像我们这样的云服务提供商,但他们付费购买支持,确保在遇到困难时总能获得帮助。我们有多个托管层级。基础版最便宜,但我们也为特定需求提供更高层级,并为管理数十万资产并与MDM及其他服务深度API集成的客户提供专用服务器。

我们通过扩展这些层级来增加收入。过去只有一种选择:基础托管。通过提供更多样化的高端服务(和服务器),我们在不提高价格的情况下增加了收入,并提供了更量身定制的体验。

使用基础技术栈构建

构建初始产品花了很长时间。就是投入了大量时间。我独自编写了一段时间,作为一个副业项目——当时我在纽约市一家小型广告公司担任CTO,我们需要一个资产管理系统。市面上的一切要么很糟糕,要么价格高得离谱,所以我在假期期间开始编写Snipe-IT

我构建它是为了满足自己的需求,从未真正想过其他人会感兴趣。

你可能会笑,但它只是一个LAMP栈。我们在托管产品中不使用Apache(我们使用Nginx),但该产品几乎可以在任何东西上运行。

我们保持技术栈的基础性,因为我们是开源的,不想依赖闭源技术。此外,我们的核心用户群是IT人员,而不是程序员,要求他们安装更小众或更昂贵的技术会是一个很大的入门障碍。

Snipe-IT 主页

重在存在感,而非营销

我们不做任何营销。我们在GitHub和Discord上很活跃,许多人通过口碑传播或在另一份工作中使用过而听说我们。

Reddit、Mac Admins Slack和Linux Tech Tips也带来了关注。

社区、本地化与内部使用

没有更具体的上下文,这个问题很难回答。将面向用户的实时聊天平台从Gitter切换到Discord,被证明是与用户沟通的巨大优势。Gitter的氛围常常是消极的,但我们的Discord频道氛围完全相反。它有趣、乐于助人,总体上非常愉快。我不知道Gitter是否还存在,但我过去常常害怕早上登录。我们的Discord是我开始一天工作时首先查看的沟通渠道之一。

本地化已成为我们的强大工具。Snipe-IT被翻译成数十种语言,这为接触到更多人打开了大门。我们使用CrowdIn平台,发现它非常有用。

我们还使用Rollbar来监控托管实例的错误(以及演示版上的滥用行为),它非常出色且出奇地实惠。当然,我们_从不_发布漏洞,但如果我们真的发布了,能够快速捕获它们,通常在客户甚至注意到之前,这是非常棒的。每周,每位开发人员轮流负责“Rollbar周”,任何新出现的问题都优先于正常的冲刺任务。

我们还为所有员工提供一个免费的托管实例,用于跟踪他们想要的任何东西。虽然Snipe-IT主要是为IT资产设计的,但人们用它来处理各种稀奇古怪的东西。石油钻井平台、人体部位(我不是在编造)、剧院设备,应有尽有。这种内部使用让我们能够感受到那些我们可能未曾考虑的工作流程中出现的痛点。

开源是痛苦的超能力

开源是我们最大的挑战之一。有时工作量巨大,但我们也从中获益良多。它是一条与我们最频繁用户直接联系的渠道,他们乐于提出抱怨,让我们能够即时、直接地洞察真实的使用场景,从而提供帮助。所以,是的,这是一个挑战,但不是我们计划要“克服”的挑战。它是一种超能力。有时是痛苦的,但仍然是超能力。

确保我们永远不会用Grokability特定的代码污染开源产品是一个挑战。我们不得不在服务器层面解决这个问题,例如,暂停未付费的客户。我们不是将这种逻辑放入产品中,而是通过其他方式处理,以将业务关注点排除在代码库之外。

来自陌生人的AI生成的“垃圾”拉取请求是另一个挑战,但我们仍在努力克服。

然而,我们面临的最大挑战是,人们对待开源软件的方式与对待常规闭源软件不同。如果我们做出哪怕最微小的改变,帮助台和GitHub上常常会掀起轩然大波。与此同时,我不记得上次因为软件提供商移动了一个按钮或更改了一个图标而向他们提交工单是什么时候了。许多人没有意识到,我们和其他软件公司做同样的决策。我们只是公开进行。

其他方面和你在任何公司预期的一样。管理团队,处理棘手的客户(尽管他们相当罕见)。

创建公司文化

弄清楚我希望这家公司成为什么样子,既令人兴奋又有点可怕。我们有一个相当慷慨的福利套餐,我为此感到自豪,并且打破公司运营的常见趋势一直是我们的风格。仅仅因为公司总是以某种方式运作,并不意味着_我们_必须如此。我想建立一家我希望在职业生涯早期就能为之工作的公司,我认为我们已经做到了,尽管我们从未真正“完成”。

我们一直是100%远程办公,这本身就具有挑战性。然而,几年前我从南加州搬到葡萄牙里斯本后,时区挑战变得更加困难。由于有一名员工在夏威夷,我们必须考虑11小时的时差。安排一个对所有人都合适的时间开会可能很困难。我最晚的会议有时在晚上11点结束,导致一天变得非常非常长。

我们仍在努力寻找方法让这种情况不那么糟糕,但与此同时,我们尽可能专注于异步沟通。

构建你需要的产品

以下是我的建议:

  • 构建你需要的产品。 先解决你自己的问题。如果你需要你的产品,很可能别人也需要。如果你最初是为别人构建的,你将永远感受不到用户的痛苦,然后你就会做出糟糕的产品。每天都要内部使用你自己的产品。

  • 倾听他人,但要明白客户并不总是对的。 人们会要求最奇怪的功能,你的工作是判断这些功能对你正在构建的东西和你的产品愿景是否有意义。

  • 如果没必要,避免融资。 我知道这很难,尤其是当你将某物作为副业构建,并且需要全职工作来养活自己时,但100%自举提供了难以置信的自由。你不欠任何人任何东西,你总是自己做决定。

  • 不要陷入“拼命工作”的陷阱。 LinkedIn和其他社交媒体上充斥着讨论“奋斗文化”优点的人,但你会精疲力尽并变得痛苦。为可持续性而构建。在我看来,“持久型公司”甚至比“初创公司”更好。

  • 在招聘之前, 认真思考你想要创建什么样的公司,并让这指导你的招聘决策和组织的整体氛围。在招聘了很多人之后再强行改变很难,而优秀的公司文化往往能吸引人才。

未来规划

我们将继续致力于Snipe-IT,增加新功能并完善现有功能。我们很快将发布官方移动应用,并且我们正在加大力度推广GoodForms,为WordPress等平台开发插件和库。

我还有一些产品想法,希望有时间时能着手开发(哈哈!),但Snipe-ITGoodForms仍然是我们当前的重点。

Snipe-IT的项目网站是https://snipeitapp.com/,我们包含了关于Grokability本身的信息,我们称之为“不合群玩具之岛”。GoodForms网站位于https://goodforms.com,不过我们将重写部分内容,以澄清其目的,并更好地解释电子邮件验证、确认和认证之间的区别。

此外,你可以通过DiscordGitHubBlueskyMastodon向我们提问!我们还有一个博客,我们很不擅长更新,但里面有一些好东西。对于专门针对我的业务相关问题,你可以在同一个Discord或Bluesky的snipe.lol找到我。

我总是乐于回答大家的问题,无论他们是刚刚起步还是已经有一段时间了。我不会假装知道一切(天哪,大多数时候我甚至不假装知道_任何事_),但我总是愿意分享建议和经验。

订阅