写点什么

唯一维护者锒铛入狱,周下载量超 2600 万的 JS 库该何去何从?

2020 年 4 月 01 日

唯一维护者锒铛入狱,周下载量超2600万的JS库该何去何从?

Core-js 是 GitHub 上一个极具人气的 JavaScript 库,最近,这个库的维护者 Denis Pushkarev 锒铛入狱。Pushkarev 在去年发生了一起车祸,造成一死一伤,尽管 Pushkarev 声称车祸的主要原因并不在于自己,但并没能左右判决结果,Pushkarev 需要为他的违法行为付出代价——最终被判处 18 个月有期徒刑。


事件回顾


Denis Pushkarev 是 Core-js 库的维护人员,去年,他在驾驶摩托车时撞到两名行人,导致其中一人死亡。2019 年 10 月,Pushkarev 被定罪;同年 11 月,Denis Pushkarev 提出上诉,可惜上诉失败,最终被判处 18 个月有期徒刑。上诉时,他强调自己是因为对面驶来的汽车的远光灯使自己视野受限且那两名行人是突然出现的,导致自己没有看见才酿成恶果,但这个辩解最终并没有改变判决结果。


一个广受欢迎的 JS 库的唯一维护者被判 18 个月有期徒刑,意味着这个人气很高的项目将处于一个无人维护和更新的阶段,这种情况下,很多项目贡献者和开发者都在担心 Core-js 的命运。


Core-js 将何去何从


Core-js 是 Javascript 的模块化标准库,它提供了大量的功能来执行常见的操作,适用于 2020 年的 ECMAScript 的 polyfills:集合、迭代器、类型数组等等。Core-js 每周通过 npm 注册表下载的次数超过 2600 万次,其中包括苹果等大公司,但这场车祸使这一切的未来都充满了不确定性。



数据来自于 npm



截图自苹果官网


Denis Pushkarev 的 GitHub 账号 ID 为 zloirock,早在去年 5 月,发生车祸之后,他就曾提出通过在库中加入广告从而增加收入,因为他觉得自己需要承担车祸相关的法律和医疗费用,但是 Core-js 虽然下载量比较高,乐于付费的人却少之又少。Core-js 的 GitHub 首页上仍写着“作者正在找工作”,虽然很多开发者都在吐槽他“一直处于找工作的阶段”,但似乎并没有令 Pushkarev 满意的工作出现。


此前,开发商 Nathan Dobrowolski 向 Pushkarev 提出疑问:“如果你进了监狱,那么谁来维护 Core-js?”对此,Pushkarev 没有给出任何答案。我们可以看到,GitHub 上最后一次发布更新是 2020 年 1 月 13 日,此后没有任何更新消息。若无人接替 Pushkarev 对 Core-js 进行维护与更新,虽然不会像 left-pad 事件那样严重,开发者们可以修改 Core-js 的代码,但这样又会出现很多额外成本。


解决方案


GitHub 社区与安全高级产品经理 Ben Balter 在给 The Register 的电子邮件中说,在项目维护者不响应的情况下,该公司将继续考虑回购所有权的转移。Balter 说:“在一种首选的情况下,我们要确保提前主动缓解问题。”同时还表示,“我们鼓励维护者将受欢迎的项目从他们的个人帐户转移到组织中。除了获得高级社区管理功能之外,添加至少一名其他维护者作为共同所有者进一步确保了该项目能够继续进行,即使一个维护者是无法使用。”


他补充说,维护者可以通过将 GitHub 状态设置为“离开”来表示他们打算暂时或永久性退出项目,以使开发者们知道在此期间这些维护者并不会对他们的问题进行回应。


Balter 还表示,GitHub 拥有在生病时转移帐户所有权的流程,适用于亲戚,合作者,同事和业务合作伙伴。他说,GitHub 提供了某种应急迁移流程,fork 不活动的代码库也是其中的一个选项。他还指出,如果 GitHub 可以接管项目的规范资源,则它有可能重新定位。


Pushkarev 仍没有任何消息,Core-js 的首页上也没有任何更新,没有人知道 Pushkarev 是否会将 Core-js 托管给朋友或社区,又或是被 GitHub 接管?一个深受众多开发者们喜爱的项目,如果就此停止维护,那么过不了多久,这个项目的热度就会逐渐降低,逐渐被开发者们放弃。如果等到 Pushkarev 18 个月后出狱之后再进行更新维护的话,可能没有多少开发者会重新选择 Core-js 了,毕竟 18 个月足够开发者找到一个更棒的替代品了。


延伸阅读


https://www.theregister.co.uk/2020/03/26/corejs_maintainer_jailed_code_release/


2020 年 4 月 01 日 16:4311925
用户头像
李俊辰 InfoQ编辑

发布了 222 篇内容, 共 52.7 次阅读, 收获喜欢 230 次。

关注

评论 2 条评论

发布
用户头像
监狱能写代码吗?能写就没事儿的
2020 年 04 月 26 日 09:54
回复
用户头像
没人吗
2020 年 04 月 07 日 12:30
回复
没有更多了
发现更多内容

Spring 源码学习 - 单例bean的实例化过程

公众号:好奇心森林

Spark学习笔记一之为什么Spark这么牛逼

Shockang

大数据 spark

ES2020 new features / ES11

xgqfrms

ES2020 new features ES11 ES2020

重装Oracle11g

阡陌r

oracle 踩坑 oracle重装

当代社畜在维权中成长 | 记初次打官司

张鸱鸺

个人成长 随笔杂谈 维权 民事诉讼

原创 | TDD工具集:JUnit、AssertJ和Mockito (十九)编写测试-依赖注入\测试接口\重复测试

编程道与术

Java 编程 TDD 单元测试 JUnit

GitLab CI/CD

xgqfrms

缓存一致性协议的工作方式

HackMSF

缓存 并发

内存屏障的来历

HackMSF

cpu 并发

游戏夜读 | 终端设备之争?

game1night

日志过滤

HU

单例模式详解

章小传

Java 单例模式

某二手交易平台大数据平台从 0 到 1 演进与实践

奈学教育

Trie 字典树

12583

LeetCode Trie

做正确的事情什么时候都不晚

Neco.W

学习 导师

推荐几款有意思的小众App(06.06)

静陌

听说用 Lombok 可以早点下班?

武培轩

Java 程序员 工具 后端 IDEA

愿你也能穿越熊熊烈火,飞往你的山

Janenesome

读书笔记 思考

ARTS|Week 2 PlantUML 的学习和分享

Puran

LeetCode arts PlantUML

ARTS|Week 02:体会刷算法题的快乐,同时开启Ubuntu 20.04备用系统

MiracleWong

算法 ARTS 打卡计划

奈学教你五分钟学会分布式事务

奈学教育

分布式系统

彻底搞懂 etcd 系列文章(一):初识 etcd

aoho

架构 云原生 etcd

Go: Go 调度器的任务窃取(Work-Stealing)

陈思敏捷

go golang 源码分析 原理 队列

Pycharm社区版安装教程(永久免费,随时升级)

早睡蟒

ARTS Week2

时之虫

ARTS 打卡计划

C/C++:const常量真的可以用指针修改吗

韩小非

c c++ 指针 常量 编译器优化

线上故障处理实践

心平气和

故障分析 故障定位

架构师应该具备哪些思维模型?

奈学教育

架构师

像运营公司一样去做产品

胖鱼2号

创业 产品 产品经理 企业

JDK 8,该离开的时候,请别留恋!

范学雷

Java 架构 编程语言 Java 25 周年

彻底搞懂 etcd 系列文章(三):etcd 集群运维部署

aoho

架构 云原生 etcd

唯一维护者锒铛入狱,周下载量超2600万的JS库该何去何从?-InfoQ