“开源 core-js 也许是我一生中最大的错误”


core-js 作者 Denis Pushkarev 今日发表了一篇长文《So, what's next?》,他表示原本只是想介绍自己正在积极开发的下一个主要版本,以及 core-js 项目的未来开发路线图。但由于最近发生的事情让 Denis 颇有感慨,于是起笔后他用了很大篇幅来讲述自己的开源经历和遭遇,以及心态变化。

core-js 是 JavaScript 标准库中最流行和最普遍使用的 polyfill,它为最新的 ECMAScript 标准和提案提供支持,能够让低版本浏览器兼容现代化 ECMAScript API。

Denis 在文章中直言“开源 core-js 也许是我一生中最大的错误” (I publishedcore-jsas an open-source project. Maybe it was the biggest mistake in my life)。

从 Denis 的描述来看,他维护 core-js 完全就是为爱发电,尤其是选择放弃高薪工作,全职从事 core-js 的开源开发。即使 core-js 的用户数达到了惊人的量级,但鲜有人愿意为他投入到 FOSS 的时间和精力支付酬劳。

Denis 表示,他曾在项目 GitHub 和 npm 的主页 README 中发布过筹款信息,但最后一个月只收到了 57 美元的捐赠。为此,他在 core-js 的 CLI 中添加了额外的信息,表示自己正在找工作。不过此举也引来了许多不友好的回应。

后来,Denis 由于驾驶摩托车撞人致一伤一亡。根据俄罗斯联邦法律,他被判处有期徒刑 18 个月,剥夺 2 年驾驶权利,并被罚款 138 万卢布。为了支付罚金和律师费,Denis 耗尽了所有积蓄。

除了财务方面的困境,Denis 还提到自己被个别 TC39 委员会成员“特别对待”——专门针对他设置障碍。

现在 Denis 已建立了自己的家庭,并在一年多前成为了父亲,他表示已经无法通过获取捐赠来养家糊口。因此他在继续找一份“好”工作的同时,也为 core-js 规划了一些能让它可持续发展的方案,比如引入更稳定的财政支持,或者修改许可证,让 core-js 成为一个商业项目。

Denis 希望通过自己的经历让更多人关注到全职参与开源将会面临的窘境,尤其是开源项目的背后是真实的人在付出和贡献,但他们也要养家糊口,和解决许多问题。


ChatGPT 无所不知,不妨问问 TA 对于独立开发者全职参与开源有何见解。以下内容摘录自与 ChatGPT 的对话:

个人全职参与开源如何解决基本生存问题

全职参与开源可以是一项非常有意义的事情,但是确保自己的基本生存问题也是至关重要的。以下是一些可能有助于解决这些问题的建议:

  1. 寻找赞助或赞助平台:有一些平台(如 Patreon,Open Collective 等)可以帮助你为你的开源项目寻求赞助,这些赞助可以帮助你支付生活费用。
  2. 寻找远程工作:如果你具有相关的技能,你可以寻找远程工作,这样你就可以同时全职参与开源项目和为生计工作。
  3. 利用开源项目的经验增加竞争力:参与开源项目可以让你获得很多有用的经验和技能,这些经验和技能可以使你更具有竞争力,从而有更多的机会找到有偿工作。
  4. 与其他开发者合作:与其他开发者合作可以帮助你在开源项目中分担工作,并确保项目的成功。此外,与其他开发者建立联系也可以帮助你获得更多的机会和资源。
  5. 寻找慷慨的雇主:有些公司非常支持开源项目,并且可能会给予你工资,让你可以继续全职参与开源项目。
  6. 吸引赞助商:如果你的项目获得了很多用户和关注度,那么你可能会吸引一些赞助商的注意,他们可能会为你提供赞助或者与你合作。

总之,全职参与开源项目可能需要寻找不同的方式解决生计问题,但这些建议可以为你提供一些有用的思路。

看上去是可行的,再多补充一些

当你决定全职参与开源项目时,确保你的生活费用得到了充分的保障,这样才能更好地专注于你的项目。以下是一些额外的建议:

  1. 管理时间:全职参与开源项目可能需要投入大量的时间和精力,因此管理时间至关重要。创建一个时间表,确保你可以平衡开源工作和日常生活。
  2. 维护健康:全职参与开源项目可能会让你忙碌到忘记照顾自己。因此,请确保你保持健康,保持健康的饮食和锻炼习惯,以保持精力充沛。
  3. 节省开支:尽可能减少生活费用也是非常重要的。例如,减少在日常生活中的开销,或者寻找廉价的住房选项。这可以帮助你在不牺牲你的基本需求的情况下更好地投入到开源项目中。
  4. 定期评估:全职参与开源项目是一项长期的承诺,因此请定期评估你的决定,并确保你的项目进展顺利。如果你发现你需要一些调整,不要犹豫,及时作出改变。

总的来说,全职参与开源项目是一项有挑战性但又充满激情的事业,但是需要有切实可行的计划和决心来实现。通过寻找资金支持、管理时间、保持健康和减少开支,你可以成功地实现全职参与开源项目的梦想。

独立开发者如何通过开源项目赚钱

作为一个独立开发者,通过开源项目赚钱是一种常见的方式。以下是一些方法:

  1. 捐赠:许多开源项目依赖于社区的支持,因此捐赠是一种非常普遍的方式来获得资金。为你的开源项目设置捐赠链接,并通过社交媒体和其他渠道积极宣传。
  2. 付费支持:提供专业的技术支持服务,帮助用户解决问题,这也是一种赚钱的方式。可以提供一些额外的功能和服务,例如付费的API或者高级功能。
  3. 广告:如果你的开源项目有很多流量和用户,那么通过展示广告来赚钱也是一种方法。你可以通过谷歌广告或其他广告平台来展示广告,并从点击或展示中获得收益。
  4. 产品附加销售:通过销售与你的开源项目相关的产品来赚钱,例如书籍、培训课程、主题、插件等等。
  5. 商业许可证:提供商业许可证给商业用户,这些用户可能需要额外的服务或支持。商业许可证通常是付费的,而公共许可证仍然可以供非商业用户使用。
  6. 活动赞助:参加相关的会议或者开源社区的活动,并争取赞助商支持你的项目和活动。此外,你也可以创建自己的活动并吸引赞助商来支持你的项目和活动。

总之,通过开源项目赚钱需要创造性和创新性。通过捐赠、付费支持、广告、产品附加销售、商业许可证以及活动赞助等方法,你可以赚取资金并进一步推动你的开源项目。

有没有独立开发者成功通过开源赚钱的案例

当然有。以下是一些独立开发者成功通过开源项目赚钱的案例:

  1. Evan You: Evan You是Vue.js的创始人,这是一种开源JavaScript框架。他通过为企业客户提供支持、咨询和培训服务来赚钱。
  2. Adam Wathan: Adam Wathan是Laravel的知名开发者之一,这是一种开源PHP框架。他通过提供教程、书籍和课程来赚钱,帮助其他开发者学习和使用Laravel。
  3. Pieter Levels: Pieter Levels是Nomad List的创始人,这是一种开源的数字游牧者社区。他通过销售与数字游牧者有关的书籍、课程和产品来赚钱,如《Makebook》和NomadList Pro。
  4. David Walsh: David Walsh是一位著名的开源开发者,他是Mozilla的技术专家,也是创建“David Walsh Blog”的人。他通过提供付费课程、电子书和咨询服务来赚钱。
  5. Dan Abramov: Dan Abramov是React的核心开发人员之一,这是一种由Facebook支持的开源JavaScript库。他通过提供技术支持、咨询和付费课程来赚钱。

这些案例表明,作为独立开发者,通过开源项目赚钱的方法是多种多样的,可以通过提供支持、培训、咨询、书籍、课程和其他产品来赚钱。

你提到的案例主要是国际开源项目,有没有中国独立开发者通过开源项目赚钱的案例:

当然有。以下是一些中国独立开发者通过开源项目赚钱的案例:

  1. 赵锦江:赵锦江是开源项目Koa的作者,这是一种轻量级的Node.js Web框架。他通过提供Koa的技术支持和培训服务来赚钱。
  2. 沈赟:沈赟是开源项目Alibaba Dubbo的创始人,这是一种高性能的Java RPC框架。他通过提供Dubbo的技术支持、咨询和培训服务来赚钱。
  3. 余果:余果是开源项目Egg.js的创始人,这是一种基于Koa的Node.js Web框架。他通过提供Egg.js的技术支持、咨询和培训服务来赚钱。
  4. 王垠:王垠是一位知名的开源开发者,他是Lisp语言和Emacs编辑器的爱好者和研究者。他通过提供Lisp和Emacs的技术支持、咨询和付费课程来赚钱。
  5. 胡涛:胡涛是知名的开源开发者,他是开源数据库MyRocks的作者。他通过提供MyRocks的技术支持、咨询和培训服务来赚钱。

这些案例表明,中国的独立开发者也可以通过开源项目赚钱,他们主要通过提供技术支持、咨询和培训服务等方式来获得收入。


延伸阅读

  • 个人开发者能否靠开源获利?