我是如何通过开源项目做到年入 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开发文字版随机事件游戏的项目实例

《Python开发文字版随机事件游戏的项目实例》随机事件游戏是一种通过生成不可预测的事件来增强游戏体验的类型,在这篇博文中,我们将使用Python开发一款文字版随机事件游戏,通过这个项目,读者不仅能够... 目录项目概述2.1 游戏概念2.2 游戏特色2.3 目标玩家群体技术选择与环境准备3.1 开发环境3

SpringBoot项目中报错The field screenShot exceeds its maximum permitted size of 1048576 bytes.的问题及解决

《SpringBoot项目中报错ThefieldscreenShotexceedsitsmaximumpermittedsizeof1048576bytes.的问题及解决》这篇文章... 目录项目场景问题描述原因分析解决方案总结项目场景javascript提示:项目相关背景:项目场景:基于Spring

解决Maven项目idea找不到本地仓库jar包问题以及使用mvn install:install-file

《解决Maven项目idea找不到本地仓库jar包问题以及使用mvninstall:install-file》:本文主要介绍解决Maven项目idea找不到本地仓库jar包问题以及使用mvnin... 目录Maven项目idea找不到本地仓库jar包以及使用mvn install:install-file基

springboot项目如何开启https服务

《springboot项目如何开启https服务》:本文主要介绍springboot项目如何开启https服务方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录springboot项目开启https服务1. 生成SSL证书密钥库使用keytool生成自签名证书将

将Java项目提交到云服务器的流程步骤

《将Java项目提交到云服务器的流程步骤》所谓将项目提交到云服务器即将你的项目打成一个jar包然后提交到云服务器即可,因此我们需要准备服务器环境为:Linux+JDK+MariDB(MySQL)+Gi... 目录1. 安装 jdk1.1 查看 jdk 版本1.2 下载 jdk2. 安装 mariadb(my

如何使用Nginx配置将80端口重定向到443端口

《如何使用Nginx配置将80端口重定向到443端口》这篇文章主要为大家详细介绍了如何将Nginx配置为将HTTP(80端口)请求重定向到HTTPS(443端口),文中的示例代码讲解详细,有需要的小伙... 目录1. 创建或编辑Nginx配置文件2. 配置HTTP重定向到HTTPS3. 配置HTTPS服务器

Node.js 数据库 CRUD 项目示例详解(完美解决方案)

《Node.js数据库CRUD项目示例详解(完美解决方案)》:本文主要介绍Node.js数据库CRUD项目示例详解(完美解决方案),本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考... 目录项目结构1. 初始化项目2. 配置数据库连接 (config/db.js)3. 创建模型 (models/

springboot项目中常用的工具类和api详解

《springboot项目中常用的工具类和api详解》在SpringBoot项目中,开发者通常会依赖一些工具类和API来简化开发、提高效率,以下是一些常用的工具类及其典型应用场景,涵盖Spring原生... 目录1. Spring Framework 自带工具类(1) StringUtils(2) Coll

Spring Boot项目部署命令java -jar的各种参数及作用详解

《SpringBoot项目部署命令java-jar的各种参数及作用详解》:本文主要介绍SpringBoot项目部署命令java-jar的各种参数及作用的相关资料,包括设置内存大小、垃圾回收... 目录前言一、基础命令结构二、常见的 Java 命令参数1. 设置内存大小2. 配置垃圾回收器3. 配置线程栈大小

Spring Boot项目中结合MyBatis实现MySQL的自动主从切换功能

《SpringBoot项目中结合MyBatis实现MySQL的自动主从切换功能》:本文主要介绍SpringBoot项目中结合MyBatis实现MySQL的自动主从切换功能,本文分步骤给大家介绍的... 目录原理解析1. mysql主从复制(Master-Slave Replication)2. 读写分离3.