你看到过(甚至是读过)多少本有关 React 或 PHP 的书?这些书都不是免费的,不是吗?
如果你成功地构建了一个人们喜欢和使用的开源项目,那么你就可以通过给他们提供相关的学习内容来赚钱。这与专业服务模式非常相似,但你需要亲自参与(从而可以收取更高的费用)。有了这些东西,你就可以为非公司用户(比如想要使用你的代码的开发者)构建更便宜的替代品。
即使你不是项目的作者,你也可以借助他们的项目来获益。你正在围绕一个开源项目 (只是它们不是你自己的项目) 构建产品。
我们说的是撰写与开源项目有关的书,为 Udemy 等平台创建视频课程,甚至是撰写有关这些开源项目的赞助性博文。为什么不呢?有时候,开源项目作者也愿意付钱让你为他们的项目写书或文章。
你可以从捐款者那里赚到钱。不要害怕向别人要钱。只要做得对,这绝对是一个有效的收入来源。
如果你已经构建了一个正在被大型社区使用的项目,你会对结果感到惊讶。比如 Git 这个项目,它确实收到了来自对它感兴趣的人的捐赠。
这与项目的影响力和它背后的社区有关。如果它足够大,那就有可能从中赚到钱。
还有很多其他方法可以让你从开源工作中获得收入
只要你开动脑筋。
我们都知道,只有为开源做贡献的开发者才算得上是真正的开发者,对吧?
错了。
能够为开源做贡献(无论是以参与项目的形式,还是基于别人的项目创建 PR)是一种特权,而不是获得一份开发者工作或被认为是开发者的一种要求。
是的,开源项目的贡献者确实能够从他们的工作中受益,因为他们的工作是公开的,而这反过来也能让行业和潜在雇主看到他们的项目,并对他们的技能有一定程度的了解,但也有一些优秀的内部开发者无法从这样的事情中受益。
或许他们也可以把时间用在开源项目上,但也许他们使用时间的方式与你不同,因此无法参与开源项目。
我在这里要说的是,一些公司甚至是一些开发人员认为,如果你参与了开源项目,你就会是个出色的开发者。否则,你就是一个没了谷歌就写不出简单 if 语句的公司蛀虫。
这是不对的,所以别再这么做了,好吗?
关于这一点,我能说些什么呢?维护任何类型的开源项目都不是一件容易的事。
当你在开发闭源项目时,你可能需要与四到五名其他开发者共享你的代码。当你维护的是开源项目时,整个行业都可以对你的代码进行评审,并公开指责你的不对。
有很多文章指出,开源的一个好处是迫使你写出干净和可维护的代码。
回到重点上来:维护有数百万开发者正在使用的代码是一项重大的责任。即使整个社区都在努力提供帮助,你又如何能够确保他们可以达到与你相同的标准?如何确保等待你评审的 10 个 PR 已经考虑到了所有潜在的安全风险?
如果你想要维护好开源项目,这绝对是一项非常困难的任务,并且很快会让你精疲力尽。2018 年,一名黑客获取了一个开源代码库的控制权,并加入有害代码来窃取个人信息。黑客之所以得逞,是因为这个开源项目的所有者和维护者工作太累了,没有办法一直看着 PR,他们决定把这个项目交给其他人。
他们太累了,总得要有人接替。
开源项目有很多,所以对某些人来说,参与开源肯定很简单,不是吗?