如何将你的开源项目变成稳定的收入来源

模式苔原
• 阅读 6255

如何将你的开源项目变成稳定的收入来源

你可能会维护几个开源项目,有没有想过从中赚钱?

程序员经常将空闲时间花在个人软件开发项目上。许多程序员将他们的实验和创新想法转化为每个人都可以免费使用的开源项目。 GitHub 上的大部分开源项目都是由开发人员为开发人员制作的。换句话说,程序员可以通过节省额外的开发时间来将大多数开源项目与其软件项目集成。此外,还有许多开源开发人员工具可以让开发人员的生活更轻松。

程序员经常把开源项目作为一种爱好来工作,就像我一样。然而,我们在与开源项目合作的同时,还从事着一份软件工程工作,帮助我们支付账单。因此,毫无疑问,如果这些项目帮助我们支付账单,我们可以将更多时间花在我们的开源项目上。

我通过我的开源项目赚了相当多的钱。在这个故事中,我将指导你如何在不失去现有社区的情况下将你的开源项目变成一个收入来源。

确保你的项目解决了一个问题

每一个成功的开源项目背后,都有一个每个人都需要解决的工程问题。例如,zx 项目在三个月内获得了超过 18k 的 GitHub 星星,它引入了一种使用 JavaScript 编写类似 Bash 的 shell 脚本的方法。Bash 脚本语言确实很慢,而且对开发人员不友好。当脚本的逻辑变得复杂时,每个程序员都经常与 shell 脚本斗争,因为 Bash 不是一种通用语言。 zx 项目解决了大多数开发者面临的一个问题。

在你考虑盈利过程之前,你需要确保你的项目是成功的。开源项目的成功取决于开发人员受众的大小。如果您在开源项目的沟通渠道中经常收到特性请求、反馈和问题,那么恭喜您,您可以继续下一步。否则,请确保您的开源项目解决了大多数开发人员面临的问题。此外,请确保维护一个干净且最新的网站和文档。

让它做好用于生产准备!

程序员寻找开源框架和库,将其纳入各种项目中。不是所有的程序员都会把你的开源项目和业余项目整合在一起,他们可能经常试图把你的项目和企业软件系统整合在一起。因此,你需要使你的开源项目为生产做好准备,以支持企业的整合。生产就绪指的是设计良好、文档完善、可维护、可扩展、稳定、不易出错和功能齐全的软件模块。

确保你的开源项目有上述要求。否则,请彻底测试你的项目,重构你的代码库,并增加更多的功能以满足企业级需求。检查以下故事来验证你的编码技能,因为你的开源项目的质量取决于它们。

提高编程技能的 5 个实践:https://betterprogramming.pub...

在不失去社区的情况下实现商业化

现在,我将指导你从你的开源项目中获得收入来源。在继续之前,请务必验证以上两点,因为收入流的成功取决于这些关键事实。开源项目有许多盈利方法(也被称为开源商业模式):付费开发者支持、免费增值(付费服务)、SaaS订阅(软件即服务)、众筹、众包和基于捐赠的模式。这些模式具有不同的特性,每种模式都有不同的优缺点。

我研究了许多开源盈利模式。最后,我发现基于捐赠的模型非常适合我们个人的开源项目。它不会影响你现有的社区。另一方面,其他盈利方法会直接影响到你的社区,因为这些模式会强制玩家付费,即使你的项目是开源的。基于捐赠的模式接受支付,保留你给予社区的确切自由。

你的项目需要对开发者社区产生一些相当大的影响才能获得捐赠。你的项目在第一阶段可能不会得到更多的捐赠。因此,我们需要一个与主要捐赠模式相一致的后备收入流,以保持您的积极性。如果你能将广告等纯粹的被动收入流与基于捐赠的模式结合起来,那就太棒了。这些都是理论方法。我将解释我是如何为我的开源项目创造收入流的。

创造你的收入流

现在我们知道如何通过广告和捐赠建立一个理论上的收入流,让我们构建一个实用的。首先,你需要选择你要接受捐赠的地方,我选择 Patreon 是因为它的简单性和透明性。将您的捐赠平台链接到项目的网站和代码库,最初,请确保添加一些较低的每月捐赠级别,例如 2 美元、5 美元和 10 美元。原因是任何人都可能倾向于为你的努力捐献这样的金额。始终在你的每一次发布中感谢你的捐赠者,以激励他们继续捐赠订阅。

第二步是将广告平台整合到你的开源项目的网站上。我们总是使用静态网站生成器来构建开源项目的文档和网站。选择一个静态网站生成器,你可以很容易地放置一些广告块。我选择Docusaurus是因为它的简单性和灵活性。

选择一个开源友好的广告平台, Google AdSense 不太适合开源项目的网站。EthicalAdsCarbon Ads 等平台专为开源项目而设计。我选择 EthicalAds 是因为与 Carbon 平台相比,它提供了更高的收入份额。

总结

我选择基于捐赠的模式来产生收入流,因为我想确保现有开发者社区的自由。世界上最大的开源组织 Apache 软件基金会 (ASF) 也使用基于捐赠的模式来支付其费用。聚集在您的开源项目周围的人每天都做出各种贡献,使它获得成功。有些人可能决定通过捐款来为您的开源项目做出财务贡献。

如果你需要用你的开源项目赚取收入来源--请确保你解决了一个问题,使它可以生产,接受捐赠,整合一个开源友好的广告平台,并每天不断改进你的项目。使这种收入流发挥作用需要时间,我的开源收入流每月产生的金额接近 100 美元,我希望有一天它会赚更多的钱。

点赞
收藏
评论区
推荐文章
blmius blmius
4年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
美凌格栋栋酱 美凌格栋栋酱
7个月前
Oracle 分组与拼接字符串同时使用
SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
Jacquelyn38 Jacquelyn38
4年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
梦
4年前
微信小程序new Date()转换时间异常问题
微信小程序苹果手机页面上显示时间异常,安卓机正常问题image(https://imghelloworld.osscnbeijing.aliyuncs.com/imgs/b691e1230e2f15efbd81fe11ef734d4f.png)错误代码vardate'2021030617:00:00'vardateT
Stella981 Stella981
3年前
Python之time模块的时间戳、时间字符串格式化与转换
Python处理时间和时间戳的内置模块就有time,和datetime两个,本文先说time模块。关于时间戳的几个概念时间戳,根据1970年1月1日00:00:00开始按秒计算的偏移量。时间元组(struct_time),包含9个元素。 time.struct_time(tm_y
Wesley13 Wesley13
3年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Wesley13 Wesley13
3年前
Java日期时间API系列36
  十二时辰,古代劳动人民把一昼夜划分成十二个时段,每一个时段叫一个时辰。二十四小时和十二时辰对照表:时辰时间24时制子时深夜11:00凌晨01:0023:0001:00丑时上午01:00上午03:0001:0003:00寅时上午03:00上午0
Python进阶者 Python进阶者
1年前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这
模式苔原
模式苔原
Lv1
四海十年兵不解,胡尘直到江城。
文章
2
粉丝
0
获赞
0