我是如何通过开源项目做到年入 80 万的?

2023-12-24 14:08
文章标签 项目 开源 做到 80 年入

本文主要是介绍我是如何通过开源项目做到年入 80 万的?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

公众号关注 “GitHubDaily”

设为 “星标”,每天带你逛 GitHub!

大家好,我是发哥。

不知道你是否还记得,去年我们曾经在公众号上发布过一篇文章《我是如何通过开源项目月入 10 万的?》,里面主要讲述了知名前端开源项目 fullPage.js 作者是如何通过 GitHub 做到年入百万的事迹。

当时文章发布出来之后,受到了许多业界同行人士的转发分享,不少水友也表示里面给出的一些观点非常具有借鉴意义。

赚钱这个东西,说不感兴趣那肯定是骗人的,除非你是马老板的心态,钱多的花不完,那这句话当我没说

今天重新提起赚钱这个话题,是因为凌晨的时候,我偶然刷到 Hacker News 排名第一的帖子:《我通过 GitHub 赞助商达成年入 10w 刀的成就》:

https://news.ycombinator.com/item?id=23613719

里面主要讲述一位 Laravel(PHP 知名开源框架)开发者如何通过开源项目达成年入 10w 刀的具体事迹。

这个帖子有多火,你们看看具体互动数值就知道了:600+ 点赞,200+ 评论,堪称是 HN 上少有的热帖。

我知道你们肯定也对此感兴趣,因此熬夜赶稿,写下了这篇文章(妈的又要秃了)。

所以,如果看完本文对你有所帮助,还请记得多多转发分享,给个在看。

好了,废话不多说,下面开始进入正题,聊聊这个作者的赚钱经历。

这个通过 GitHub 年入 10w 刀的开发者,名叫 Caleb Porzio,在 2018 年的时候,曾在一家名为 Tighten 的公司担任技术工程师,当时,他的年收入是 9w 美元????

之后,作者于 2019 年 1 月 11 日离开了 Tighten,稍作休整数月后,开始了自由职业之旅。

在此期间,他偶然读到了一篇文章:《Phoenix LiveView: Interactive, Real-Time Apps. No Need to Write JavaScript》,里面主要介绍了一个名为 Phoenix LiveView 的前端组件库,其最大亮点,就是让你无需编写 JavaScript 代码,即可快速创建可实时交互的应用程序(为啥要多看 GitHubDaily 公众号分享的好项目,现在你知道原因了吧)。

当然了,由于该前端项目不是本文要讨论的重点,这里就不多做赘述了,感兴趣的水友,可打开下方链接阅读原文:

https://dockyard.com/blog/2018/12/12/phoenix-liveview-interactive-real-time-apps-no-need-to-write-javascript

Phoenix LiveView 这个前端项目,瞬间给了作者创作灵感。

当他在 Laravel 上成功验证了其项目概念后,便开始着手开发 livewire 这一开源项目。

https://github.com/livewire/livewire

这是一个专门针对 Laravel 开发的一个全栈框架,主要目的是为了减少开发者构建网站动态界面时的痛苦,提升网站开发速度。

正如作者一开始设想的一样,这个开源项目一炮而红,吸引了不少 Laravel 开发者的关注。与此同时他也知道,用爱发电总归是难以持久的,所以他借助了 GitHub 的赞助商功能,开始接受来自全球各地开发者的馈赠。

终于,在 2019 年 12 月 12 日的时候,作者收到了来自下面这位开发者的第一笔赞助(24 刀/月):

后续,越来越多的开发者对作者提供了慷慨赞助。截至今天发帖时,作者通过该开源项目的赞助费用,已达到月入 9390 美元,换算成当前人民币汇率,年收入就是 80w!

这一切究竟是怎么做到的?

经过作者仔细回顾后,他将本次收入的增长情况划分为以下三个阶段:

  • 第一阶段:凭好心人自发提供赞助支持(年收入增加 6800 美元);

  • 第二阶段:为项目做一个增值服务,并鼓励他人来赞助,当赞助达到一定金额后,免费开放该服务(双赢,年收入增加 1.1w 美金);

  • 第三阶段:为项目制作教学视频,部分视频和源码仅对赞助商开放(年收入增长 6w 美元);

在完成上述三个阶段的具体工作后,随着时间的积累,该开源项目的年赞助费成功达到了 80w 人民币。

能做到这个地步,绝非易事。技术、产品、营销几项能力,缺一不可。

如果你未来也想做好一个开源项目,并考虑借此来养活自己,那作者提供的这几个建议,可以好好参考下:

  • 做好产品:真正高质量的软件才能为他人提供价值;

  • 建立用户群:认真维护好你的产品用户群体;

  • 取之有道:对不同产品功能,收取不同费用;

  • 赞助等级:划分好不同赞助商的等级与权限;

  • 开诚布公:坦然让他人知道这个开源项目赚了多少钱;

  • 无需愧疚:只要你做的东西有价值,赚钱并不可耻。

其实,很多人一直在质疑,开源软件到底能不能赚钱?

相信在看完这篇文章之后,你内心应该已经有了明确的答案。

不过,我依旧不确定这篇文章发布出来之后,评论区会不会又有人提出 "国外用户付费意愿高"、"技术牛逼当然能赚钱"、"没几个人能有作者这种好创意" 等观点。

如果有,我先建议你去尝试一下,有些事情,得你自己亲自去试了,才能有话语权。

在写开源软件能不能赚钱这件事情上,我一直是有话语权的,因为我自己本人曾在 2015 年的时候写过一个开源项目,当时这个项目在各大社区推广后,累积增长了 1000 多 Star(15 年这个 Star 还是有一定含金量的)。

后续一批需要基于该项目做定制开发的客户联系到了我,这一举措,间接为我的公司带来了一笔不菲的稳定收入,也帮我度过了早期最艰难的创业阶段。

即使退一万步讲,这个项目不能为我带来收入,通过它的背书,我也能很轻松的得到一份比较体面的工作。

所以,在这里我还是衷心建议大家,平时如果能抽出时间,多多少少搞一些开源项目,对个人技术提升和个人品牌打造,还是有一定帮助的。

写完这篇文章,已是凌晨 04:15。

看到这里,如果觉得上述内容对你有所帮助,能引起你的思考,还请多多转发,点个在看,感谢支持。

最后,有啥想说的,也欢迎在评论区互动。

---由 GitHubDaily 原班人马打造的公众号:GitCube,现已正式上线!
接下来我们将会在该公众号上,为大家分享优质的计算机学习资源与开发者工具,坚持每天一篇原创文章的输出,感兴趣的小伙伴可以关注一下哈!

这篇关于我是如何通过开源项目做到年入 80 万的?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/532023

相关文章

Python 中 requests 与 aiohttp 在实际项目中的选择策略详解

《Python中requests与aiohttp在实际项目中的选择策略详解》本文主要介绍了Python爬虫开发中常用的两个库requests和aiohttp的使用方法及其区别,通过实际项目案... 目录一、requests 库二、aiohttp 库三、requests 和 aiohttp 的比较四、requ

SpringBoot项目启动后自动加载系统配置的多种实现方式

《SpringBoot项目启动后自动加载系统配置的多种实现方式》:本文主要介绍SpringBoot项目启动后自动加载系统配置的多种实现方式,并通过代码示例讲解的非常详细,对大家的学习或工作有一定的... 目录1. 使用 CommandLineRunner实现方式:2. 使用 ApplicationRunne

使用IntelliJ IDEA创建简单的Java Web项目完整步骤

《使用IntelliJIDEA创建简单的JavaWeb项目完整步骤》:本文主要介绍如何使用IntelliJIDEA创建一个简单的JavaWeb项目,实现登录、注册和查看用户列表功能,使用Se... 目录前置准备项目功能实现步骤1. 创建项目2. 配置 Tomcat3. 项目文件结构4. 创建数据库和表5.

Python项目打包部署到服务器的实现

《Python项目打包部署到服务器的实现》本文主要介绍了PyCharm和Ubuntu服务器部署Python项目,包括打包、上传、安装和设置自启动服务的步骤,具有一定的参考价值,感兴趣的可以了解一下... 目录一、准备工作二、项目打包三、部署到服务器四、设置服务自启动一、准备工作开发环境:本文以PyChar

多模块的springboot项目发布指定模块的脚本方式

《多模块的springboot项目发布指定模块的脚本方式》该文章主要介绍了如何在多模块的SpringBoot项目中发布指定模块的脚本,作者原先的脚本会清理并编译所有模块,导致发布时间过长,通过简化脚本... 目录多模块的springboot项目发布指定模块的脚本1、不计成本地全部发布2、指定模块发布总结多模

SpringBoot项目删除Bean或者不加载Bean的问题解决

《SpringBoot项目删除Bean或者不加载Bean的问题解决》文章介绍了在SpringBoot项目中如何使用@ComponentScan注解和自定义过滤器实现不加载某些Bean的方法,本文通过实... 使用@ComponentScan注解中的@ComponentScan.Filter标记不加载。@C

javafx 如何将项目打包为 Windows 的可执行文件exe

《javafx如何将项目打包为Windows的可执行文件exe》文章介绍了三种将JavaFX项目打包为.exe文件的方法:方法1使用jpackage(适用于JDK14及以上版本),方法2使用La... 目录方法 1:使用 jpackage(适用于 JDK 14 及更高版本)方法 2:使用 Launch4j(

Docker集成CI/CD的项目实践

《Docker集成CI/CD的项目实践》本文主要介绍了Docker集成CI/CD的项目实践,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学... 目录一、引言1.1 什么是 CI/CD?1.2 docker 在 CI/CD 中的作用二、Docke

SpringBoot项目引入token设置方式

《SpringBoot项目引入token设置方式》本文详细介绍了JWT(JSONWebToken)的基本概念、结构、应用场景以及工作原理,通过动手实践,展示了如何在SpringBoot项目中实现JWT... 目录一. 先了解熟悉JWT(jsON Web Token)1. JSON Web Token是什么鬼

手把手教你idea中创建一个javaweb(webapp)项目详细图文教程

《手把手教你idea中创建一个javaweb(webapp)项目详细图文教程》:本文主要介绍如何使用IntelliJIDEA创建一个Maven项目,并配置Tomcat服务器进行运行,过程包括创建... 1.启动idea2.创建项目模板点击项目-新建项目-选择maven,显示如下页面输入项目名称,选择