转载

一个程序员是如何搞挂NPM和Node社区的

注* 一位程序删除了他自己发布在NPM上面的所有模块,导致一系列连锁反应,以下是这位程序员解释他为什么要删除这些模块:

我只是删除了自己发布在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成为最大包管理分发平台
原文  http://ourjs.com/detail/56f47f1b88feaf2d031d24a9
正文到此结束
Loading...