关注码农话题
做一个实实在在的内行人

这个愤怒的程序员删除了11行代码 但破坏了全世界的互联网

这个愤怒的程序员删除了11行代码 但破坏了全世界的互联网

绝对有范儿的科技/互联网头条号

由NEXTMIND原创

在互联网世界里,程序员意味着什么?你可以把他们想象成神一样的人物,最顶尖的程序员可以一手遮天,甚至影响整个隐秘的互联网帝国。就在前不久,美国加州奥克兰一名程序员,只是删除了11行代码(如上图所示),但却破坏了全球的互联网,特别是JavaScript语言的世界。

来自社交巨头KIK的不速之客

根据海外新闻网站Quartz.com报道,这个程序员叫Azer Koçulu(我们叫他安东吧),是一名程序员,专门给NPM写程序,NPM是个什么东西?简单来说,就是提供用JavaScript写的开源软件的平台(如下图),你可以想象成一个巨大无比的公用图书馆,里面藏满了各种书籍而且允许你乱涂乱画,NPM每个月的调用量就超过10亿次。

这个愤怒的程序员删除了11行代码 但破坏了全世界的互联网

这个安东可以说是自学成才,他只是一个高中生,没念过大学,但靠着自学编程成为了一个高手,他的信仰就是分享和开源,并且对麻省理工学院(MIT)早期程序员的骇客之道深信不疑,那就是“程序员的友谊基础就是分享程序”。

安东经常写的开源程序包叫KIK,用处是帮助程序员为他们开发的项目设置各种模板,故事到这里没有任何问题,但问题就在于KIK这个名字和那个全球知名的社交软件商KIK名字一样,这引发了为社交软件商KIK工作的专利和商标代理包卜.斯特拉顿(Bob Stratton)的注意。

于是,斯特拉顿找到了安东并问他,你能不能重新命名你的那个程序包KIK,因为我们的KIK自己要推出程序包。

安东拒绝了斯特拉顿,告诉他,抱歉,我开发的开源项目就叫KIK。(安东挺有脾气)

斯特拉顿不高兴了,警告安东,如果执意这样做,那么会有人来找他麻烦,安东回复很简单,F*** You,不用再给我发邮件。

斯特拉顿可能怂了,提出可以付钱给安东,安东说,好啊,3万美刀。

触及底线

Quartz.com报道称,斯特拉顿看无法攻破安东这一关,直接找到了NPM公司,不料这一招果然管用,NPM的首席执行官Isaac Schlueter同意将有争议名字归还给KIK。

Schlueter的这一举动彻底惹怒了安东,特别是他一直维护的开源社区的价值观,安东告诉NPM必须撤下所有他写的程序包,否则他会自己动手。(碉堡的程序员啊,肃然起敬!)

破坏

事情到了这里,已经不可挽回了,一边是愤怒的程序员,一边是想息事宁人的NPM。

3月22日,全世界的JavaScript程序员在试图运行代码时收到了一条奇怪的错误代码,其中一段是这样的:

这个愤怒的程序员删除了11行代码 但破坏了全世界的互联网这段代码的意思是,JavaScript程序员试图运行的代码缺少一个程序包,Left-Pad。但很多程序员都感到莫名其妙,Left-Pad是什么鬼?

要理解为什么运行自己代码需要Left-Pad,就必须要理解这些程序的运行方式,根据Quartz.com的解释,几乎每一个程序都是建立于其他软件上的,你要运行自己的代码,没问题,但很可能必须要载入NPM某个特定的程序包,所以这也是为什么NPM那么风靡的原因。举个例子,你面前有一堵高墙,要翻过去必须叠罗汉,如果缺少一个罗汉,你都可能无法逾越。

当天晚上,很多程序员聚集到了全球最大的开源代码平台GITHUB,在上面找到了遗失的Left-Pad以及11行代码(如下图),这11行代码非常简单,即便是大多数程序员都可以随手写出,但缺少了这11行代码,互联网世界就转不动了。

这个愤怒的程序员删除了11行代码 但破坏了全世界的互联网

破坏已经造成,很多软件商都依赖于NPM,而NPM其中一个重要的程序包就包括Left-Pad,这种链条式的冲击影响了社交软件商业Kik,甚至影响了另一个至关重要的程序包React,React被广泛运用于多数主要网站,其中一个就包括Facebook。

1个小时以后,安东在个人出版网站Medium上发文称,为了抗议NPM,他删除了在NPM上的273个程序包,其中一个就是令全球程序员抓狂的Left-Pad。

2个小时后,NPM决定恢复这11行代码,终于结束了这场短暂的互联网危机。

而急于复仇的程序员安东,在不经意之间,影响了全球的互联网。


入职你的梦想 VS 变现你的技术

IT面试宝典码农市场