一个不知名的开源项目可以带来多少收入

起源

2020 年新冠疫情开始蔓延,当时我在同时经营 3 个不同的公司。除了其中的体育赛事平台因为疫情关门大吉之外,另外两个公司并没有受影响,营收和利润反而都持续增加。但是连续几个月不能出远门,也不能随便见朋友和客户,这让我很抑郁。

有一天,我跟我老婆说,我不想就此与世界失联,我希望每天都能听到新鲜的故事,我要开始做一个会让我长期兴奋的产品。

于是,我马上联系了 Chenlin。他当时在我们的另一个团队里,负责体育赛事平台的开发。实际上,我们俩从 2018 年开始就断断续续在聊这个产品。经过几个星期的碰撞,我们将目标场景、设计原则、产品形态、技术架构等关键因素都确定下来,我又从另一个团队里拉来一位同事,最初的团队就形成了。

直到几个月后,我们才从几个备选名字中确定了这个产品的最终名称:NocoBase。它是为开发者准备的无代码开发平台,它是开发团队的基础设施。它的设计原则是:80% 的需求通过无代码实现,另外 20% 的部分通过扩展开发实现。它被设计为微内核、插件化的架构,一切功能都以插件的形式扩展。

同时,我们还确定了 3 件事:

  • 开源。这个产品的代码将是开源的。只有开源、开放,才能最大化发挥出它的扩展性优势。而且,开源将帮助我们无需在市场、销售方面投入太多资源,就可以触达全世界的用户。

  • 6 年。不要过早判断这件事情是否正确,至少先做够 6 年再下结论。第一个 2 年,做出 MVP,表达出我们的核心理念;第二个 2 年,将产品投入到生产环境中实际使用,不断验证和完善;第三个 2 年,向更多企业介绍我们的产品,并投入到开源社区的建设。我们会根据收支情况来逐步扩充团队,做好发展速度和风险的平衡。

  • 20%。一旦我们开始盈利,将每年利润的 20%(目前已经增加至 30%) 分配给核心团队。核心团队在共同创立一份事业,共同创作一件让自己自豪的作品,而不是从事一份普通的工作。

事情就这样开始了。

现状

从 2021 年 3 月 29 日第一次在 GitHub 和 Gitee 提交代码,到现在过去 3 年多一点,也就是我们的第二个 2 年计划正在进行中。

在这 3 年多的时间里,我们在 Reddit、Dev、V2ex、Oschina 等社区发过少量关于 NocoBase 的帖子,除此之外,没有做过更多的宣传和推广活动。原因是 NocoBase 作为企业产品,作为基础设施,它还远不够完善。我们在文档首页和 GitHub Readme 开头强调:NocoBase 处于早期开发阶段,请谨慎用于生产环境。

另外,来自多个国家的用户在自己的博客和社交媒体中介绍过 NocoBase,为 NocoBase 带来很多新用户。有数十位贡献者为 NocoBase 贡献过代码。在此向你们表示感谢。

下面是我们目前的一些数据。从这些数据可以看出来,作为一个开源项目,NocoBase 并没有被太多人知道和使用,它还是一个不知名的项目。

star-history

google

值得庆祝的是,我们在 2 个星期前,4 月最后一天,将根版本号从 0 升级到了 1,正式发布了 1.0-alpha 版本。同时也在各个社交平台开通了 NocoBase 的官方账号。我们开始准备向更多人介绍 NocoBase,也准备开启我们的商业化之旅。

过去 12 个月的收入

虽然我们刚刚发布 1.0-alpha,还未公开提供标准的商业许可证和商业插件,但在 2022 年 10 月我们就收到了第一笔大额的收入。在过去的 12 个月里(2023 年 5 月 至 2024 年 4 月),我们的收入共计人民币 226 万元(外币全部兑换成人民币)。

income-2024-05-11-10-55-47

这些收入主要来自:

  • 中国

  • 美国

  • 印度

  • 欧洲

  • 巴西

收入的类型主要有:

  • 用户付费让我们优先开发所需的插件(非定制)

  • 商业许可证

  • 商业插件

  • 衍生产品的收入分成

对于一个做了 3 年的产品来说,这个收入普普通通。但这超出了我们的预期。

更重要的收获

sun-2-2024-05-11-11-04-09

2 个月前的一天,我正开车走在高速路上,Todd 联系到我。于是我停在路边,我们畅聊了 1 个多小时,聊完之后已经是傍晚。我继续上路,看着后视镜中红火热烈的夕阳,越发感觉心潮澎湃,仿佛在与整个世界一起跳动脉搏。

Todd 所在的公司叫做 PLAUD,他们的产品叫做 PLAUD NOTE,是全球第一款使用 AI 大语言模型进行智能录音、转写和总结的 AI 设备。当时他们刚完成了数百万美元的众筹,几个月后的今天,他们的销售额已经超过 1000 万美元。他们有强大专业的技术团队来研发全球最优秀的产品,但是并没有太多精力投入到业务支撑系统的研发,导致市场、售后等团队的工作效率远远跟不上业务增长的速度。

看过 PLAUD NOTE 的产品介绍之后,我觉得它太酷了,它背后的团队也很酷,我情不自禁的将它介绍给了周围很多朋友。Todd 的团队觉得 NocoBase 也很酷,我们一拍即合。他们的开发团队用了几天时间就基于 NocoBase 开发出了业务支撑系统,大幅提高了团队的工作效率。

在这个过程中,NocoBase 团队仿佛也亲身参与了 PLAUD 的飞速增长。

plaud-2024-05-11-11-06-30

Ke 从 2 年前就活跃于 NocoBase 开源社区,并成为贡献者。他就职于中石化第五建设有限公司,是中国最早从事石油化工建设的大型施工企业,也是石化工程系统最早做信息化、数字化的施工单位。同很多传统行业面临的问题一样,软件开发公司不懂他们的行业,他们的行业内又很缺乏专业的开发人员。

NocoBase 给他们的开发模式带来了巨大的改变。他们打通了原有的数据库,接入了很多硬件设备,业务专家基于 NocoBase 所见即所得的无代码开发方式,一步一步探索整个行业的数字化变革。

在与 Ke 的日常交流中,我们了解到沙特项目,了解到科威特项目,聆听了从不曾想象过的故事。不得不感慨,中国的建设能力非常令人钦佩和自豪。

shihua-2024-05-11-11-06-48

800 年,8000 公里,你能想象在某个清晨,打开邮箱,就能跨越时空与如此遥远的另一个人就像老朋友一样交谈、合作?

锡耶纳大学成立于 1240 年,是全球历史最悠久的学术机构之一。它坐落在意大利托斯卡纳一座中世纪小镇的中心,拥有悠久的学术和创新历史。上一次距离意大利和 1240 年这么近,还是在我上中学的时候,在历史课本中学习罗马帝国、文艺复兴的故事。而今天,在这所 8000 公里以外的、创建于 800 年前的大学里,有一支由技术专家、培训专家、电子学习支持部门共同组成的团队,正在使用 NocoBase 作为他们的基础设施,来整合从行政系统到在线教育系统再到工单系统等广泛的、庞大的流程。

传奇故事并没有停下,就在昨天,这个团队里的 Fabrizio 发给我一条关于温州大学与锡耶纳大学互相访问和合作的新闻。8000 公里瞬间变的近在咫尺,因为温州大学就在我们的身边,而 Fabrizio 告诉我,新闻照片里这栋楼,就是他的办公室所在地。

siena-2024-05-11-11-24-43

我们从来没做过像 PLAUD NOTE 这么酷的硬件产品,从没接触过石油化工建设,甚至从没去过意大利。如果没有 NocoBase,它们或许将永远不会出现在我们的视野和生活中。

但现在,我们做到了。我们做出了 NocoBase,它被世界上的一些人发现了。这些人正在认真地用数字技术改善生活,改善工作,甚至改善整个行业。在他们认真改善世界的旅途中,NocoBase 成为了他们的得力助手。

而对我们来说,NocoBase 成为了我们与世界的连接器。它连接我们没做过的事,没见过的人,没去过的地方。我们的生活半径不再是几公里,我们的工作范围不再是几行代码。我们每天都可以进入到崭新的故事中。

这样的回报,又岂是金钱可以衡量的呢?

我们是如何做的

1. 找到合适的方向

找到合适的方向,这可能是所有的创业课程里都会首先谈到的话题,主流观点是去寻找用户痛点、计算市场规模。

对于这个话题,我有不一样的想法。过去这些年,我自己经营过几家公司,也投资过几家公司,它们当中有些已经关张了,有些还在稳步发展,源源不断地创造利润。当我去评价 NocoBase 这样的产品机会,首先关注的并不是用户需求,更不是市场规模。我更想关注它是否适合我。我对自己的性格有最深入的了解,知道自己想要什么,擅长什么,不适合什么。决定做 NocoBase 的时候,我重点考虑了以下几个问题:

  • 它是否会为我补充精神能量,而不是消耗我的能量

  • 它是否是一件值得投入十年以上的事情,而且时间越久,积累越多

  • 它是否有一条细分的、少有人选择的路径

  • 它是否能创造利润,而不需要依赖融资

  • 它是否是一个标准化的产品,通过授权产生收入,而不是通过项目实施

当这些问题都得到肯定的答案后,我们就开始了。

2. 放低预期,顺其自然

几乎所有的创业教程中都会强调增长、甚至指数级增长的重要性。我很佩服那些可以快速增长的企业。可是我们做不了这样的事,一方面能力有限,另一方面并不想让自己和团队被数字牵着鼻子走。我希望我们做的事情能为平稳的生活带来积极的影响,而不是竭尽全力追逐数字。

因此,我们从开始就设置了很低的预期,并且不会过多的关注增长速度,也不设置收入目标。

3. 接受不足,长期投入

我们团队中没有来自世界顶尖大学的辍学生,也没有被媒体光环环绕的明星创业者。大家都是普通人,都是情绪稳定、责任心强、接受过良好的教育、有丰富经验的普通人。我们在开发 NocoBase 的过程中,经常会遇到很难解决的问题,经常要花费比预期多的多的时间,经常会发现 NocoBase 某个地方被做的很难用。我们用了3 年时间才将版本号升级到 1.0,而且还是 1.0-alpha。我们坦然接受这些状况,不为它们焦虑。

在过去的 1000 天里,我们几乎每天都有新的 Commit,每天的 NocoBase 都比前一天更好。

4. 把握节奏,控制风险

我们不融资,需要健康的利润来保证正常发展。利润= 收入 - 支出,因此我们前期要控制支出不会比收入多太多,并尽快实现收入大于支出。

在开工的第一天,我们做的最坏打算是 6 年没有收入,我准备好 6 年的资金,确保我们在极端情况下也可以生存下来,大家可以安心创造产品而无需担心失业。

对于 NocoBase 这样的团队,主要的支出就是工资,因此我们从 3 个人开始,持续了 10 几个月的时间,将每个月的成本控制在几万元。当离产生收入越来越近时,才逐步扩大团队规模,直到最近才增加到 10 个人。

实际上,我们现在已经实现了盈利,并且收入结构越来越健康。

5. 工作的理想是为了理想的生活

NocoBase 是一个远程工作的团队,大家居住在不同的城市,有各自不同的生活习惯。我们每周有一次固定的周会,除此之外再没有其他约束。没有工作量统计,没有工时记录,有事无需请假。每个人都是某一方面的负责人,每个人都为结果负责。

如开头所说,我们每年将 30% 的利润分配给核心团队。大家为 NocoBase 负责,实际上就是为自己的事业负责。

当我写下这段文字的时候,大家正在为两个星期后的团队集体聚会、度假做准备。

6. 帮助用户成功

我们没有销售团队,未来很长时间应该也不会有。我们希望通过产品本身吸引用户,与用户建立连接,然后再通过产品来帮助用户达成他们的目标。我们不向用户兜售商业许可证,我们建议用户尽可能使用开源许可证达成目标,或者至少在自己的业务场景中经过几个月的实际测试。NocoBase 切实帮助用户赚到更多钱,或者降低更多成本,这是用户愿意向我们付费的基础。

接下来做什么

我们其实没有非常详细的时间表,也没有增长计划。但至少可以确定的是,我们的 6 年计划刚过半,在接下来的 1000 天里,我们仍然会几乎每天都有 Commit,每一天的 NocoBase 依然会比前一天更好。

文章转载自:NocoBase

原文链接:https://www.cnblogs.com/nocobase/p/18189034

体验地址:引迈 - JNPF快速开发平台_低代码开发平台_零代码开发平台_流程设计器_表单引擎_工作流引擎_软件架构

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/327512.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Kafka学习-Java使用Kafka

文章目录 前言一、Kafka1、什么是消息队列offset 2、高性能topicpartition 3、高扩展broker 4、高可用replicas、leader、follower 5、持久化和过期策略6、消费者组7、Zookeeper8、架构图 二、安装Zookeeper三、安装Kafka四、Java中使用Kafka1、引入依赖2、生产者3、消费者4、运…

【C语言】/*操作符(下)*/

目录 一、操作符的分类 二、二进制和进制转换 2.1 进制 2.2 进制之间的转换 三、原码、反码、补码 四、单目操作符 五、逗号表达式 六、下标引用操作符[] 七、函数调用操作符() 八、结构体成员访问操作符 8.1 直接访问操作符(.) 8.2 间接访问操作符(->) 九、操作符…

【Spring】初识 Spring AOP(面向切面编程)

目录 1、介绍AOP 1.1、AOP的定义 1.2、AOP的作用 1.3、AOP的核心概念及术语 2、AOP实现示例 3、EnableAspectJAutoProxy注解 1、介绍AOP 1.1、AOP的定义 AOP(Aspect Orient Programming),直译过来就是面向切面编程,AOP 是一…

[动画详解]LeetCode151.翻转字符串里的单词

💖💖💖欢迎来到我的博客,我是anmory💖💖💖 又和大家见面了 欢迎来到动画详解LeetCode算法系列 用通俗易懂的动画让算法题不再神秘 先来自我推荐一波 个人网站欢迎访问以及捐款 推荐阅读 如何低成…

十二生肖Midjourney绘画大挑战:释放你的创意火花

随着AI艺术逐渐进入大众视野,使用Midjourney绘制十二生肖不仅能够激发我们的想象力,还能让我们与传统文化进行一场新式的对话。在这里,我们会逐一提供给你创意满满的绘画提示词,让你的作品别具一格。而且,我们还精选了…

Python进行excel处理-01

最近干采购,每个月要对供应商的对账单,对对应的采购订单号和物料编号的价格和数量,是不是和物料管控总表里面的价格数量是不是一致,于是写了一个代码。 从总表里面找到,对账单里对应采购订单和物料编码的数据&#xf…

vscode 通过ssh 远程执行ipynb +可以切换conda env

主要是保证几个点 远程服务器python 环境没问题 conda这些也都有的ssh的账户 是有conda权限的没有免密就输入密码 免密教程就是最基本的那种 公钥copy过去就行了vscode 那几个插件都要装好 开始操作 首先 vscode 点击左侧工具栏中的扩展,搜索“ssh”,…

计算机vcruntime140.dll找不到如何修复,分享5种靠谱的修复教程

当您在运行某个应用程序或游戏时遇到提示“找不到vcruntime140.dll”,这通常意味着系统中缺少了Visual C Redistributable for Visual Studio 2015或更高版本的一个重要组件。这个错误通常发生在运行某些程序时,系统无法找到所需的动态链接库文件。小编将…

(四十二)第 6 章 树和二叉树(树的二叉链表(孩子-兄弟)存储)

1. 背景说明 2. 示例代码 1) errorRecord.h // 记录错误宏定义头文件#ifndef ERROR_RECORD_H #define ERROR_RECORD_H#include <stdio.h> #include <string.h> #include <stdint.h>// 从文件路径中提取文件名 #define FILE_NAME(X) strrchr(X, \\) ? strrch…

15-ps命令

常用选项 aux axjf a&#xff1a;显示一个终端所有的进程u&#xff1a;显示进程的归属用户及内存使用情况x&#xff1a;显示没有关联控制终端j&#xff1a;显示进程归属的进程组idf&#xff1a;以ASCII码的形式显示出进程的层次关系 ps aux其中| more是只显示一部分内容&…

【实战】算法思路总结

面试过程中&#xff0c;总是被拷打&#xff0c;信心都要没了。但是也慢慢摸索出一些思路&#xff0c;希望对大家有帮助。 &#xff08;需要多用一下ACM模式&#xff0c;力扣模式提供好了模板&#xff0c;自己在IDEA里面写的话&#xff0c;还是会有些陌生&#xff09; 0、基本…

Edge(微软)——一款充满创新精神的浏览器

随着科技的不断进步&#xff0c;互联网浏览器已经成为我们日常生活中不可或缺的工具。在这个领域&#xff0c;微软Edge作为一款新型的浏览器&#xff0c;凭借其独特的功能和优秀的性能&#xff0c;逐渐在市场上占据了一席之地。本文将深入探索微软Edge的特点、优势以及它如何改…

Acrobat Pro DC 2023 for Mac:PDF处理的终极解决方案

Acrobat Pro DC 2023 for Mac为Mac用户提供了PDF处理的终极解决方案。它具备强大的文档处理能力&#xff0c;无论是查看、编辑还是创建PDF文件&#xff0c;都能轻松胜任。在编辑功能方面&#xff0c;Acrobat Pro DC 2023支持对文本、图像进行精准的修改和调整&#xff0c;还能添…

一台linux通过另一台linux访问互联网-TinyProxy

参考&#xff1a; https://blog.csdn.net/weixin_41831919/article/details/113061317https://www.yuncongz.com/archives/1.htmlhttps://blog.csdn.net/aoc68397/article/details/101893369 环境&#xff1a;ubuntu 18.04 机器1: IP 219.216.65.252 (可以访问外网) 机器2: IP…

廉洁教育vr虚拟全景展览馆成为社会普法的重要基石

廉政教育是社会文明的重要基石&#xff0c;也是我们每个人的责任与担当。在这个数字化、信息化的新时代&#xff0c;我们特别推出廉政3D线上数字展厅&#xff0c;为公众打造一个沉浸式、互动式的廉政教育新平台。 走进廉政3D线上数字展厅&#xff0c;就如同置身于一个充满智慧与…

[笔试训练](二十二)064:添加字符065:数组变换066:装箱问题

目录 064:添加字符 065:数组变换 066:装箱问题 064:添加字符 添加字符_牛客笔试题_牛客网 (nowcoder.com) 题目&#xff1a; 题解&#xff1a; 枚举所有A&#xff0c;B字符串可能的对应位置&#xff0c;得出对应位置不同字符数量的最小情况 两字符串的字符数量差n-m&…

Keil编程不同驱动文件引用同一个常量的处理方法

基础不牢&#xff0c;地动山摇&#xff0c;最近单片机编程又遇到一个基础问题。 我在头文件中定义了一个常量同时给两个驱动文件使用&#xff0c;封装的时候编译没问题&#xff0c;但是在main函数中引用驱动函数的时候就出现了重定义的问题&#xff0c;如下如所示。 解决方法很…

搜索引擎的设计与实现(三)

目录 5 系统详细实现 5.1实现环境配置 5.2功能实现 5.2.1 建立索引 5.2.2 文件搜索实现 5.2.3 数据库的连接配置 5.2.4 数据库搜索实现 5.2.5 后台数据编辑实现 前面内容请移步 搜索引擎的设计与实现&#xff08;二&#xff09; 免费源代码&毕业设计论文 搜索…

Linux学习笔记1---Windows上运行Linux

在正点原子的教程中学习linux需要安装虚拟机或者在电脑上安装一个Ubuntu系统&#xff0c;但个人觉得太麻烦了&#xff0c;现在linux之父加入了微软&#xff0c;因此在Windows上也可以运行linux 了。具体方法如下&#xff1a; 一、 在Windows上的设置 在window的搜索框内&#…

Java的类和对象(一)—— 初始类和对象,this关键字,构造方法

前言 从这篇文章开始&#xff0c;我们就进入到了JavaSE的核心部分。这篇文章是Java类和对象的第一篇&#xff0c;主要介绍类和对象的概念&#xff0c;this关键字以及构造方法~~ 什么是类&#xff1f;什么是对象&#xff1f; 学过C语言的老铁们&#xff0c;可以类比struct自定义…