处理完JavaScript历史上戏剧性的事件之后,npm公布了一版新的规则,用于应对用户试图下架包的情况。
\\新的规则增加如下声明:
\\- 版本更新少于24小时的包允许下架; \\
- 超过24小时的包的下架需要联系npm维护者; \\
- 如果有npm维护者参与,npm将检查是否有其他包依赖该包,如果有则不允下架; \\
- 如果某个包的所有版本都被移除,npm会上传一个空的占位包,以防后来的使用者不小心引用怀有恶意的替代者。\
在新规则的详述文档中,npm提供了不同场景下的几个例子说明新规则如何运作。
\\回顾最近的left-pad包下架事件,新规则将能阻止作者Azer Koculu下架他公布的包,因为这些包的版本超过24小时且有很多依赖。
\\npm认可有下架包的权利的重要性,但是对于个体来说,对整个社区负责更加重要:
\\\\\这个特性非常重要和合法,因此我们不会移除它,不过我们现在显著改变了下架包的方法和下架包的规则。这个规则是平衡开发者个人权利和维护开源社区的团结的第一步。
\
社区的反应各不相同,不过reddit上的评论列表记录了新规则对开源社区的的意义。
\\查看英文原文:Npm Updates Policy on Removing Packages
\\感谢张龙对本文的审校。
\给InfoQ中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ,@丁晓昀),微信(微信号:InfoQChina)关注我们。