周下载2600万,累计下载数十亿次的Core-js的负责人要打“退堂鼓”了。Denis Pushkarev是数百万网站使用的Core-js库的维护者,近日,他发表言论说,他准备放弃开源开发,因为很少有人为他们所依赖的软件付费。
Core-js是“JavaScript的模块化标准库”,它提供了一系列函数来执行常见、有用的操作。它通常用于“polyfills”(在功能较弱的旧浏览器中实现现代浏览器功能),每周通过npm注册表下载超过2600万次,并被包括苹果在内的主要公司广泛使用。
“自由开源软件从根本上被打破了,”他在在Core-js存储库的note中写道。“我可能会悄悄地停止这项工作,但我想给开源最后一次机会。”
开源软件通常是由无偿“志愿者”创建或管理的,由谁来支付费用的问题的讨论中,依然存在许多摩擦和不满。
1.月收入仅400美元,被恶意攻击
Core-js是一个JavaScript库,已经被下载了数十亿次,并在前10000个网站中超过一半——但他从捐赠中获得的收入大幅下降。当他开始全职维护Core-js时,他之前每月预期可以收入2500美元,而现在每月只有400美元。
这有各种各样的原因。一是普什卡列夫在俄罗斯,自冲突以来,俄罗斯一直受到广泛的金融制裁。2020年,他因摩托车撞人事故在监狱服刑了大约10个月。
作为一名开源人,他的经济处境十分堪忧。“当我开始从事Core-js时,我是一个人,”他写道。“现在我有家庭了。一年多前,我成了一个儿子的父亲。现在我必须为他提供体面的生活水平。”
当一个每周下载2600万次的JS库的维护者因用摩托车意外事故而入狱时,会发生什么?Core-js刚刚发现。
普什卡列夫承认,他收到了很多仇恨,而且不仅仅是社交媒体上有关其代码风格的敌意言论。
“今天,一个开发者给我写了一条信息,”他写道。“他称我为开发者社区身体上的寄生虫,通过发送垃圾邮件赚了很多钱,却没有做任何有用的事情。”
“他说我是和汉斯·赖泽一样的凶手,他收买了法官,逍遥法外。他希望我和我所有的亲戚都去死。这没什么不寻常的,我一个月会收到几条这样的消息。最近一年,又加上了我是‘俄罗斯法西斯’无厘头的污蔑。”
但是他也收到了很多来自开源社区用户的支持,他们认识到代码的可持续性仍然是一个问题,并且将他们的考虑局限于财务问题。
2、开源难逃战火与偏见
Pushkarev更喜欢关注开源的“经济学”,而不是他的处境和他居住的国家的政治。“开源应该远离政治,”他说,并补充说,他不想深入研究这些问题的细节,因为俄罗斯和乌克兰边境两边的人都可能因此而遭受损失。
“我回到了俄罗斯,因为在那里可以用相对较少的钱过上体面的生活,并专注于自由/开源软件,而不是赚钱,”他写道。“现在我不能离开俄罗斯,因为事故发生后,我有数万美元的未决诉讼,在这些诉讼得到清偿之前,将被禁止出境。”
Victor Shepelev,是一名居住在乌克兰哈尔科夫的Ruby开发人员和软件架构师,他在Twitter和GitHub上被称为@zverok,则表达了开源应该远离政治的观点。
“对我来说,任何(有意义的)讨论都可以围绕开源的可持续性、获得报酬等问题展开,但目前这些被‘战火’问题掩盖了,因为问题就摆在在那里,我不想评论更多。”
Shepelev认为,“文化应该远离政治”是一种共识,而软件开发是人类文化的一部分。在一个和平民主的社会中,这是真理,就像“我对税收和投票系统的细微差别有不同的看法,但这并不妨碍我们在有趣的项目上进行合作”!
3、开源维护者是无名英雄
一位开源开发者、安全商业套接字的CEO对此表示了,开源维护者应该得到大公司的尊重和馈赠——
(开源)维护人员是软件世界的无名英雄,他们全心全意地创造大量的价值,而这些价值往往不被重视。这些无名英雄执行着关键的工作,使得所有的现代技术得以运行——这并不夸张。这些不知疲倦的人致力于编写新功能、修复错误、回答用户询问、改进文档和开发创新的新软件,然而他们的努力几乎没有得到认可。
他在信中还建议道,商业界和开源社区必须走到一起,寻找到一种方式,去认可和奖励维护者的宝贵贡献。如果重大的个人牺牲成为了开源参与的先决条件,那么许多聪明、有才华的人才将会挽留不住。这对谁都没好处。
那些非安装包的维护者,比如Core-js,在安装其他包的时候经常会顺带着安装。可靠、无错误的传递依赖是不可见的。因此,维护者也是隐形的。令人咋舌的是,这些维护者做得越好,他们就越不为人知。没有人会为了一个完美运行的可传递依赖而访问GitHub库——没有理由这样做。但是调查错误堆栈跟踪的开发人员可能会访问存储库,原因不外乎提交一个问题。这正是Core-js维护者面临的问题。
对于大公司来说,他们从开源代码的免费劳动中获得的比他们在捐赠中付出的更多——如果他们真的付出了——现状看起来是一个非常好的交易。
然而,对于个体开发者来说,无偿的代码创建和维护是有成本的。
(来源:51CTO)