聚合国内IT技术精华文章,分享IT技术精华,帮助IT从业人士成长

“全职做开源 6 个月,我真的不后悔”

2022-09-21 16:03 浏览: 2425460 次 我要评论(0 条) 字号:

摘要:开源热潮下,开源开发者的收入始终是影响项目可持续发展的一个核心问题,也曾有许多开源开发者因维持不了生计而中途放弃。而本文作者,在明知这些现象后,仍辞去了高薪工作转向全职做开源——如今 6 个月后的他,对这个决定依然毫不后悔。

原文链接:https://mfiano.net/posts/2022-09-04-from-common-lisp-to-julia/

声明:本文为 CSDN 翻译,未经授权,禁止转载。


作者
| Josh Goldberg
译者 | 弯月
出品 | CSDN(ID:CSDNnews)

多年以来,我一直对开源软件充满了热情。因此,2022 年 1 月下旬我正式辞职,并于 2022 年 3 月开始从事全职开源软件开发的工作。

就目前的情况来看,这是一段令人振奋的旅程。我会很高兴地对你说:我会将这份事业继续下去!

开源工作的好处是,我可以选择很有趣的技术和/或能够推动现代 Web 开发向前发展的项目。但我也必须承认,开源存在不足之处:作为一个行业,我们依然没有找到可持续的资金来支持绝大多数维护者。


我的工作成果


我有机会与一些了不起的人一起从事有趣的项目。以下是我引以为豪的一些开源工作:

  • TypeScript ESLint:错误修复、改进文档、添加新功能。

  • 对自己在自动化规则文档方面所做的工作尤其满意

  • TypeStat:错误修复、改进文档、添加新功能。

  • Stryker:添加方法表达式修改器。

  • eslint-plugin-expect-type:接管维护工作,并修复了一些 bug。

  • TypeScript:修复了一些 bug。

  • 发布 learningtypescript.com,并撰写了几十篇有关 TypeScript 的文章。

  • 发布 chooseyourframework.dev,包括 EightBittr 的一整套重构和改进。

  • 开源 Refined Saved Replies Chrome 扩展。

此外,我重新开始在 Twitch 上直播,并将这些视频上传到了我的 YouTube 频道。

下面是我于 2022 年 3 月之后发送的所有合并拉取请求:https://github.com/pulls?q=is%3Apr+author%3AJoshuaKGoldberg+is%3Amerged+created%3A2022-02-28..2023-01-01+is%3Apublic


筹集资金十分困难


截止到目前,虽然我完成了所有这些工作,但每月只能获得大约 600 美元的开源资助:

  • 我自己的 GitHub 主页获得的资助:每月 200 美元;

  • TypeScript ESLint 的资助:每月 400 美元。

美国联邦规定的最低收入为每小时 7.25 美元,即每月 1200 美元,也就是说我全职工作收入的每月 600 美元,大约是最低工资的一半。以我 2021 年的基本工资来计算,当时一天的薪水甚至高于我现在一个月的开源收入。

为了将个人收入提高到可以接受的水平,我想尽了各种办法,比如为私人公司提供咨询服务、发布书籍《Learning TypeScript》以及偶尔审核 pullrequest.com 上的拉取请求。但这些兼职占用了开源工作的时间和精力,导致我的工作进入了一个恶性循环:作为开源维护者,我无法赚取可持续的收入,所以我必须从事兼职工作,但兼职工作会占用开源工作的时间,导致我无法提升自己并获得资助。

幸运的是,随着我个人和我的项目受到越来越多的关注,我收到的资助也在增加。我的目标是到 2022 年底将收入提升到每月 1000 美元。


经验教训


此次全职开源开发的冒险经历让我学到了很多经验教训,以下是三个我一直在努力的领域。

平衡激情和优先级

有趣的开源项目有很多,从可爱的业余项目到具有很高影响力的开发工具。起初,我强忍住了跳来跳去的冲动,试图强迫自己从事我认为影响力和知名度都非常高的项目。然而,我的内心却不赞同:我发现只有从事梦寐以求的工作,效率才能达到巅峰。

这些天来,我总结了一份我感兴趣的项目清单,并经常在这些项目之间来回穿梭。但是,如果遇到一些时间非常紧迫的问题,比如某个严重的 bug,我就会强迫自己专心做好一个项目。

宣传自己

我其实不喜欢吹牛或主动提要求,也不喜欢花宝贵的时间在互联网上乞讨(比如写这篇文章)。我的直觉告诉我,如果我从事具有重大意义的工作,并出色地完成了,人们就会资助我。

然而,现实很残酷。我必须积极地宣传自己,否则就只能默默无闻。而且,当其他人知道我是谁以及我在做什么时,他们就可以向我诉说自己的想法,并让我帮助他们解决痛点。积极地宣传自己可以产生连锁反应,因为随着越来越多的人了解我,口口相传的效果也会越来越好。

善待自己

获得他人的资助比为公司工作更直接。我觉得这种方式能在我们之间建立感情上的连接。有一段时间里,我不愿意喝好咖啡,不愿意出去吃饭,也不愿在自己身上花任何钱。我觉得,他人资助的钱是为了让我从事开源工作,我又怎么能奢侈浪费呢?

但是对我自己来说,这种心态既不健康也不公平。我不应该因为收入来源的变化而放弃生活的乐趣。如果我将自己限制在最基本的生活消费上,那么就无法创作出最好的作品。

当然,我也不会随意挥霍我获得的资助。


接下来的打算


如果你认为我的项目列表很有趣,那么敬请期待接下来六个月会发生什么吧。我的目标是到 2023 年春季之前完成以下工作:

  • 与其他开发人员通力合作,将 TypeScript ESLint 升级到一个新版本6.x。

  • 了解 TypeScript ESLintx 的内部结构,并着手解决大规模性能问题。

  • 进一步完善TypeStat,使其稳定,并应用到一些常见的 React 项目。

  • 标准化工具,并解决我的一些小型代码库中的错误和功能,其中包括emojisplosion、konamomijisplosion、console-fail-test、eslint-plugin-expect-type 等。

  • 继续撰写文章,解答常见的 TypeScript 问题。

还有一些未知的项目。开源 Web 开发的神奇之处就在于整个大环境都在不断变化中。我非常期待接下来几个月内会出现哪些技术创新。


支持我


上述所有伟大的目标都需要有所付出。我非常感谢大家给予我的支持,也非常感谢你们支持全职开源开发。你可以通过以下渠道支持我:

  • github.com/sponsors/JoshuaKGoldberg:你可以支持通过 GitHub 提供资金支持。

  • opencollective.com/typescript-eslint:支持 TypeScript ESLint 维护团队。

  • learningtypescript.com:可以看看我的书籍《Learning TypeScript》,如果你喜欢,请给五星好评。

  • twitch.tv/JoshuaKGoldberg,twitter.com/JoshuaKGoldberg:请关注/点赞/订阅我的频道。

  • 如果你在计划举办会议、聚会或播客,也可以联系我。

感谢你的阅读,开源快乐!

— 推荐阅读 —

1024 程序员节狂欢盛会,等了一年终于来了!
开发者自制 MOD:2004 年的《半条命2》,可以用 VR 玩了!
南开大学教授“段子手式”简介,网友:笑着笑着突然“破防”了!



网友评论已有0条评论, 我也要评论

发表评论

*

* (保密)

Ctrl+Enter 快捷回复