TL:DR;
作者设立了一个每月 20 美元的预算,用于贡献给自己经常使用、能够节省时间、或者有重大意义的开源项目。钱虽然不多,也是一种用真金白银来鼓励开源软件作者的行为,最终目的是促进社区繁荣。
问题
想要参与开源社区,但是不知道从何开始
很多人觉得自由开源软件是一个很好的事情,却不知道如何去参与这个社区,因为参与一个长期维护的项目还是比较困难的,而且开源软件的项目特别多,很多人会在参与开源社区这件事情上无从下手,不知道该怎么做。
有一些介绍如何给开源项目做贡献的教程会说,你可以从帮助维护文档开始,接着去 issue 里提出有效的问题,也可以辅助作者去解答问题,当然有能力的话也可以去贡献代码。
我选了一种比较简单的方法,从捐赠真金白银开始。接下来我来介绍为什么这么做,以及如何去做。
碰到自己喜欢的项目,但是无力去支持
技能不对
有时候我碰到的一些项目是 Object-C 编写的,但是我并不会 Object-C;有时候能看到一些使用我熟悉的技术栈编写的内容,但是繁忙的工作让我并没有时间去熟悉工程代码。
没时间没精力
而去 issue 区冲浪显然会让我浪费很多时间。我需要有更加直接、快速、显著的方式参与到『给开源项目做贡献』这件事情上来。
支持自由软件的发展
最后,自由软件并不等于免费软件,也并不仅仅是开源软件。
当然开源软件的特点就是,谁都能获取并修改代码,然而由于开发者的技术栈可能并不相同等原因,并不是人人都能修改任一一份代码,当然这是另一个话题。
我在这里提出这些问题,仅仅是想介绍为什么会想要设立这个预算。
是真正的问题吗?
让这 20 美元花在更有意义的地方
这笔钱折合人民币 140 元左右,相当于一顿两个人的午餐,相当于几次打车的钱,可以拿来买几本技术书籍,也可以拿来购买制作精良的游戏。也相当于几杯咖啡钱、几包烟钱。揣着这笔钱去超市,还没买几件东西就花完了。
无论怎么算,这笔钱总归不能说是一大笔钱,要知道很多人一个月的话费就上百了。况且我也不是很富裕,也拿不出成千上万的钱来做贡献。
但是我想啊,既然自己没时间没精力,或者没技能去做技术方面的贡献,那我做一点资金上的贡献、给开源作者买杯咖啡总是能做到的吧。再说了不少开源作者虽然开通了捐赠,但是收到的捐赠相比他们的付出显得如此微小。
我觉得我应该做点什么,在这方面花钱也许是一种更有意义的行为。
这是最直接的参与、支持开源软件作者的行为
为开源软件做宣传、提 issue、贡献代码当然也是一种贡献,并且我也觉得贡献代码是最酷的一种方式。但是在商业环境中,用钞票来支持则是更直接的一种行为。即使作为个人可能无力支付大额的捐赠,买个咖啡也是一种心意,量力而为即可。
探索解决办法
选择项目的原则
下面列出的是一些我认为应该支持的几类软件
- 支持节省自己时间的软件
- 支持自己经常使用的软件
- 支持那些小众但是又真的有用的软件
帮助我节省时间的软件可以让我更快地完成工作,从而有更多时间投入到生活或提升技能中,因此我需要去支持它。
其次,那些我经常使用的软件显然是应该得到支持的。如果一个软件我经常使用它,这意味着我为它投入了很多时间,这也意味着我可以为它付出金钱。
最后,那些小众但真正有用的软件,我也认为是应该得到支持的。
我在这里没有特意区分“开源软件”、“自由软件”、“付费软件”、“商业软件”的概念。因为我很愿意为能够帮助我的软件付费,前提是能让我感受到价值。
如何进行捐赠
通过 GitHub Sponsors
如果作者有 Github 账号,并且开通了 Github Sponsor,那么直接使用它是最简单的。
寻找项目主页中的捐赠通道
作者可能在项目主页中提供了其他捐赠渠道
使用工具进行探测
有些开源工具能够扫描你电脑上使用的开源项目,并列出捐赠渠道。
例如:
- https://thanks.dev
- 介绍:设定预算,该工具会自动分析你的工程中的依赖树,寻找工程使用的开源软件并为其自动分配捐赠金额
- Donate to the open source projects in your dependency tree
- https://twitter.com/thanks_dev/status/1600297090353012736
作者捐赠的一些项目
是一份 Emacs 配置文件。它是一个模块化的 Emacs 配置文件,并且提供了很多开箱即用的配置,能够比较简单的编写自己的自定义配置,并且性能良好。
因为它帮助我快速的过渡到了 Emacs 生态中,很适合新手入门使用,我从 2020 年开始使用至今。
这满足了原则:“持续使用”,“节省时间”,“重大意义”,因此我认为值得支持。
洋葱系统,是针对 Miyoo Mini 和 Mini+ 这两款复古掌机的定制系统。相比原版系统做了很多优化,主要卖点是提供了即时存档、主题定制、游戏一键切换等功能。详细功能可以看它的功能列表
它的维护比较积极,而复古掌机是我最近入手的的一个满足新体验的工具,世界上有这么一群人愿意为此付钱。
这满足了原则:“小众但是有用”。我愿意为此付费
Org-Roam 是基于 Emacs 和 Org-Mode 的一个插件,它搭建了一套类 Roam Research 的笔记工具,提供了 Roam Research 的核心功能:双链笔记。
我从 Org-RoamV1 版本一直使用到了 V2 版,目前来看仓库已经有接近 10 个月没有更新了,已经暴露出了一些问题。
但是 Emacs 插件的一个神奇之处在于,经常可以看到很久没更新的软件,但是它偏偏能够正常工作。这在日新月异的前端开发领域是不常见的。
这满足了原则:“节省时间”、“经常使用”、“小众但有用”这三个原则。
捐赠额度和频率
以上三个项目每个都配置了 5 美元的每月捐赠。我十分乐意对能够帮助我的开源软件进行捐赠,当然这不构成一种承诺。而是一种意向,一种小爱好,一种仪式。
作者关注的其他项目
互联网档案馆,有人说互联网是有记忆的,但是近十年来互联网中不断消失的链接说明这种记忆正在不断的丢失。有人统计过维基百科中引用的链接中已经有很大一部分失效了。
互联网档案馆则归档了互联网中超过 839 billion 的网页、电子书、电影、软件、音乐,很多失效链接在Wayback Machine中得到保存。可以说是互联网的记忆博物馆。
相信你在网上冲浪的时候也碰到过前一秒还能打开,后一秒就 404 的情况,个人收藏夹中的链接也经常打不开。
“如果能够自动将浏览过的网站保存起来就好了”────也许你会这么想。Wayback Machine 则提供了 api 可以实现这一点。
这个项目符合:重大意义
总结
在这篇文章里,我介绍了我在做的事情:为自己经常使用、帮助自己创造价值的开源软件做贡献,用真金白银的方式去捐赠。当然我也很愿意为开源项目添砖加瓦。
我介绍了我选择捐赠项目的几项原则,核心是对我有帮助。当然我也不是每个都捐赠,只是觉得这些项目很酷,同时又刚好打开着这些软件,甚至这篇文章都是使用 Emacs + Org-Mode 来编写的,而搭载 OnionUI 的掌机就放在我的通勤背包里。
如果你正好看到了这篇文章,又想为开源世界、为自由软件运动做一些贡献,可以尝试一下我的方案,找到你常用的开源/免费软件,给软件作者一些捐赠,这将是一种最直接的鼓励。