• core-js 作者入狱 18 个月,2600 万次周下载的开源项目将如何?


    雷锋网AI源创评论报道,

    一位彪悍的俄罗斯程序员,名字叫丹尼斯·普什卡列夫(Denis Pushkarev),平时爱好就是飙摩托车。[1]

    【雷锋网注:俄罗斯程序员、摩托车爱好者,丹尼斯·普什卡列夫】

    在一次事故中,他以 60 km/h的速度驾驶,结果撞了两个行人,一人现场死亡。根据俄罗斯联邦法律,他被判处有期徒刑 18 个月,剥夺 2 年驾驶权利,另处以罚金 138 万卢布。[2]

    【雷锋网注:俄罗斯法院驳回了上诉】

    丹尼斯认罪,但是请求缩短刑期,从 2019 年 11 月就递交了上诉,如今上诉被驳回了。

    问题是,丹尼斯写程序也很彪悍,他是 JavaScript 的模块化标准库 core-js 的作者,这个库通过 npm 软件包管理器下载,每周居然高达 2600 万次。[3] 甚至连苹果公司的网络服务,也用到了这个库。[4]

    【雷锋网注:core-js有超高的人气和下载量】

    真正的问题来了,如果丹尼斯进班房这么久,谁来维护这个库?

    一个人的开源

    core-js 并没有公司支持,其实就是丹尼斯写的一个 JavaScript 标准库的 Polyfill(插件),有点像装修用的腻子,把缺损的地方填充抹平。在 Web 开发中,在不支持在 HTML5 的旧版浏览器上,实现最新标准。它是最普遍、最流行的给 JavaScript 标准库打补丁的方式。

    丹尼斯写这个库花了 5 年业余时间,还一直在找新的全职工作。他想了各种办法来筹集资金,以便维护开源项目。结果是筹到了每个月 57 美元的赞助,仅仅比没有强。

    他还想到了广告的方式,方法就是在 npm 安装之后出现日志式的文字广告。但是并没有什么广告商愿意为之付费。

    现在,面临高额的罚金和 18 个月的入狱,问题变得很严重。社区用户 nathanjd 问了大家都关心的问题,“如果您在监狱中,那么谁来维护呢?” [5]

    丹尼斯没有提供答案。有一位项目贡献者 slowcheetah 声称他可以有一些时间来修复关键错误和重大更新,并且显示他具备“合作者”的权限。但是并不清楚这能否维持该项目的进展。

    开源项目的挑战

    另一个 JavaScript 加密库 jsrsasign 也遇到过类似的挑战。自 2018 年 4 月以来,项目就没有任何活动。但是在 npm 上却有 350 个项目完全依赖这个库,项目也受到了微软、Mozilla 这样有影响力公司的青睐。[6]

    有人指出,JavaScript 社区里不少项目都有这样的问题,就是项目的作者是唯一的维护者,特别是这些使用量大的项目,不应该由一个人,而是应该由一个基金会来掌控。

    【 雷锋网注:图片来源:Pixabay 所有者:Boskampi 】

    然而现实问题摆在这里,需要有一个解决办法。GitHub 社区与安全高级产品经理本·巴尔特(Ben Balter)回应说,如果项目维护者无法响应,GitHub 有一个账户所有权转移的流程,比如转给合作者或者同事。同时鼓励维护者将项目从个人账户转移到组织中,不仅可以获得高级社区管理功能,还可以添加其他维护人员作为共同所有者。[7]

    这些都要取决于项目维护者的选择。也有的网友提出,项目可以分叉,由另外的人来维护。但是分叉对于 npm 上依赖这个名字的其他软件包而言,并没有任何帮助。

    最后有网友建议,大家有没有想过,丹尼斯可以在监狱的图书馆里,继续维护这个项目?

    引用来源:

    [1] 丹尼斯的个人网页,https://vk.com/xrock

    [2] 法院判决,https://kraevoy--alt.sudrf.ru/modules.php?name=sud_delo&srv_num=1&name_op=doc&number=1733512&delo_id=4&new=4&text_number=1

    [3] core-js库,https://www.npmjs.com/package/core-js

    [4] https://www.apple.com/legal/internet-services/news/notices-acknowledgements.html

    [5] https://github.com/zloirock/core-js/issues/548#issuecomment-494112872

    [6] https://github.com/kjur/jsrsasign

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

     
    漫思
  • 相关阅读:
    axios的全局配置
    Vue:vue-router编程式导航
    【spring源码系列】之【Bean的属性赋值】
    【spring源码系列】之【Bean的实例化】
    【spring源码系列】之【Bean的生命周期】
    【spring源码系列】之【BeanDefinition】
    【spring源码系列】之【xml解析】
    【spring源码系列】之【环境搭建】
    mysql去重
    Nacos 服务推送和发现
  • 原文地址:https://www.cnblogs.com/sexintercourse/p/13704335.html
Copyright © 2020-2023  润新知