注* 一位程序删除了他自己发布在NPM上面的所有模块,导致一系列连锁反应,以下是这位程序员解释他为什么要删除这些模块:
几周以前,一位专利律师给我发送了一封邮箱。让我删除NPM上面的一个"kik"模块。我当然不答应。然后他说 “我也不想这样,但是KIK是我们的注册商标,如果你不删除我们的律师将敲你的门,然后将你的帐户冻结”。
当我开始与kik模块时,我不知道它跟一某家公司重名了。我不想让一家公司强迫我改名。我还是拒绝了他们。然而他们找到了NPM的技术支持,然后每封邮件都把我抄送在里面。然后 @izs 在未经我授权的情况下接受了他们的请求,让他们接管这个模块。
这样的情形,让我认识到NPM是一家私营公司,企业利益高于个人。而我写开源软件的目标是服务个人。
总之,NPM不再是我共享开源作品的地方。所以我把我所有的模块都删除了。
这不是一时冲动。我热爱开源我相信我还会不断地贡献开源代码。
如果你的应用依赖了我的模块,那么他们可能就不能工作了,对此我很抱歉。如果有志愿者要接管我的模块,我很高兴转交给他。
很不幸的是很多项目都依赖于其中一个模块: left-pad,它将左边字符自动填充成空格或者0,代码很简单,仅有11行
module.exports = leftpad;function leftpad (str, len, ch) {str = String(str);var i = -1;if (!ch && ch !== 0) ch = ' ';len = len - str.length;while (++i < len) {str = ch + str;}return str;}
摘自:http://www.theregister.co.uk/2016/03/23/npm_left_pad_chaos
这导致了Babel、ReactNative、Ember等大量NodeJS中的重要工程构建失败,突显NPM体系的脆弱性。 这场事件引起NodeJS社区的广泛讨论。该律师也已经发函致歉。
"The wording we used here was not perfect. We’re sorry for creating any impression that this was anything more than a polite request to use the Kik package name on NPM for an open source project we have been working on that fits the name."
相关阅读:NPM成为最大包管理分发平台
NPM配当开源社区?滚吧