VOOZH about

URL: https://thenewstack.io/the-kik-kerfuffle/

⇱ Npm Tightens Unpublishing Policy after the Internet-Disrupting Kik Fracas - The New Stack


TNS
SUBSCRIBE
Join our community of software engineering leaders and aspirational developers. Always stay in-the-know by getting the most important news and exclusive content delivered fresh to your inbox to learn more about at-scale software development.
REQUIRED
It seems that you've previously unsubscribed from our newsletter in the past. Click the button below to open the re-subscribe form in a new tab. When you're done, simply close that tab and continue with this form to complete your subscription.
The New Stack does not sell your information or share it with unaffiliated third parties. By continuing, you agree to our Terms of Use and Privacy Policy.
Welcome and thank you for joining The New Stack community!
Please answer a few simple questions to help us deliver the news and resources you are interested in.
REQUIRED
REQUIRED
REQUIRED
REQUIRED
REQUIRED
Great to meet you!
Tell us a bit about your job so we can cover the topics you find most relevant.
REQUIRED
REQUIRED
REQUIRED
REQUIRED
REQUIRED
Welcome!

We’re so glad you’re here. You can expect all the best TNS content to arrive Monday through Friday to keep you on top of the news and at the top of your game.

What’s next?

Check your inbox for a confirmation email where you can adjust your preferences and even join additional groups.

Follow TNS on your favorite social media networks.

Become a TNS follower on LinkedIn.

Check out the latest featured and trending stories while you wait for your first TNS newsletter.

PREV
1 of 2
NEXT
VOXPOP
As a JavaScript developer, what non-React tools do you use most often?
Angular
0%
Astro
0%
Svelte
0%
Vue.js
0%
Other
0%
I only use React
0%
I don't use JavaScript
0%
Thanks for your opinion! Subscribe below to get the final results, published exclusively in our TNS Update newsletter:
NEW! Try Stackie AI
From clobbered drafts to real-time sync
Apr 14th 2026 10:00am, by David Moore
TypeScript 6.0 RC arrives as a bridge to a faster future
Mar 14th 2026 9:00am, by Darryl K. Taft
Mastra empowers web devs to build AI agents in TypeScript
Jan 28th 2026 11:00am, by Loraine Lawson
2016-04-04 13:17:04
Npm Tightens Unpublishing Policy after the Internet-Disrupting Kik Fracas
news,
Open Source / Software Development

Npm Tightens Unpublishing Policy after the Internet-Disrupting Kik Fracas

Apr 4th, 2016 1:17pm by TC Currie and Joab Jackson
👁 Featued image for: Npm Tightens Unpublishing Policy after the Internet-Disrupting Kik Fracas

Last month, the Internet was disrupted with the removal of 11 lines of JavaScript code, called left-pad, from npm’s open source code repository, leaving many Web and application developers scrambling to fix their systems.

The author of those 11 lines, Azer Koçulu, removed the code from npm,  which is pretty much the default library of modules used by Node.js projects, after npm asked Koçulu to rename another module of his called Kik, a development bootstrapping tool that shared the same name as a mobile chat provider that protested to npm about trademark infringement.

Now npm, reeling from the fallout of removing, and subsequently replacement of the left-pad code with duplicate functionality, has changed its policies around how contributors can unpublish their code.

“This week, we’ve seen a lot of discussion about why unpublish exists at all. Similar discussions happen within npm, Inc.,” wrote Ashley Williams, developer community and content manager, in a blog post announcing the changes. “There are important and legitimate reasons for the feature, so we have no intention of removing it, but now we’re significantly changing how unpublish behaves and the policies that surround it.”

Eleven Lines That Broke the Internet

Originally, npm removed Kik at the behest of Kik.com, a mobile chat app. Arguing that the company was defending it Kik trademark, a Kik lawyer had first tried to appeal to Koçulu directly. Only when talks broke down between the two parties did Kik.com submit a dispute with npm, which in turn Koçulu to rename Kik.

Instead, Koçulu unpublished more than 273 of his modules from npm, including left-pad, which pads a line out the left-hand-side with strings with zeroes or spaces.

A small function to be sure, but one widely used. Thousands of projects including React.js and Babel rely on left-pad. The left-pad software was downloaded 2,486,696 times, and its removal left lots of unhappy people. Upon the loss of left-pad, thousands of automated build systems, which were scripted to draw left-pad packages from npm, began failing.

Npm quickly made the executive decision to republish the module under the same name, but with different owners, to stop to the cascade of failing builds around the world. This decision, like the one to remove the original package, was widely questioned.

“None of this puts npm as an organization or as a package manager in a good light,” one internet commenter, War President opined. “They’ll instantly cave to vague threats and willingly change ownership of a package (kik) to do the bidding of a 3rd party in contravention of their own dispute policy.

“Even within npm we’re not unanimous that this was the right call, but I cannot see hundreds of builds failing every second and not fix it,” wrote Laurie Voss, npm chief technology officer, explaining on Twitter the rationale behind republishing the code, which was under an open source license. “This whole situation sucks. We will be carefully considering the issues raised by and publishing a post-mortem later.”

The interwebs blew up with comment threads on Reddit, Slashdot and Medium, where Koçulu first posted the announcement that he was “liberating” his code. Discussions involved the usefulness of code, how leaving one’s build dependent on calling 11 lines of code was just bad, some discussion of trademark law and calling Koçulu either a hero or a spoiled child.

Koçulu’s actions generated a lot of questions, perhaps the most pertinent of which was how could an ecosystem as large and vibrant as the Node.js community be hobbled so quickly by the sudden lack of a single package?

The inescapable conclusion of the npm/kik/@azerbike fracas: the npm registry should be managed and operated by the Node.js Foundation

— Bryan Cantrill (@bcantrill) March 24, 2016

For npm, the ultimate issue was not trademark dispute (which kik.com had a tenuous argument to begin with), or even npm’s package name dispute resolution policy, which worked as expected, the company noted. Rather, it was the ability for contributors to “unpublish” their works without warning.

“We dropped the ball in not protecting you from a disruption caused by unrestricted unpublishing. We’re addressing this with technical and policy changes,” wrote Isaac Schlueter, npm’s “supreme emperor for life,” in a summary of the events posted on the npm blog.

👁 Mikeal Rogers, head of community outreach for the Node.js Foundation.

Mikeal Rogers, head of community outreach for the Node.js Foundation.

On Tuesday, the company announced changed to its policy around contributors removing their packages once they are published. Going forward, contributors have the right to unpublish only within the first 24 hours of posting code. After that time, to remove the package, the author must appeal to npm, which will do so only if the package is not listed as a dependency for any other package in the repository. If it is, the author must transfer the ownership to another party, or persuade the owners of all the dependent packages to switch their dependencies.

In essence, the new rules establish that “the stability of the ecosystem is more important than the very rare need to unpublish,” said Mikeal Rogers, head of community outreach for the Node.js Foundation. He noted that this is the first time something like this has happened, even though Node.js has more than 250,000 modules.

Rogers downplayed any worries about Node.js developers being too reliant on dependencies, given the comparative wealth of benefits they bring.

“It encourages innovation in the ecosystem,” he said. “You get these very deep dependency chains, with a lot of tiny little components, but that is really good for developers. Developers want to build applications, not all the infrastructure for the application to exist.”

Feature image via Pixabay.

TRENDING STORIES
TC Currie is a journalist, writer, data geek, poet, body positive activist and occasional lingerie model. After spending 25 years in software development working with data movement and accessibility, she wrote her first novel during National Novel Writing Month and...
Read more from TC Currie
Joab Jackson is a senior editor for The New Stack, covering cloud native computing and system operations. He has reported on IT infrastructure and development for over 30 years, including stints at IDG and Government Computer News. Before that, he...
Read more from Joab Jackson
SHARE THIS STORY
TRENDING STORIES
SHARE THIS STORY
TRENDING STORIES
TNS DAILY NEWSLETTER Receive a free roundup of the most recent TNS articles in your inbox each day.
The New Stack does not sell your information or share it with unaffiliated third parties. By continuing, you agree to our Terms of Use and Privacy Policy.