A moderately angry programmer

This is a rare story revolving around a programmer's anger, copyright disputes and revealing how many tech giants work.

This week, a rage developer indirectly interrupted a series of vital software for many Internet giants by deleting a simple program consisting of only 11 lines of code.

It all started with a programmer named Azer Koçulu, who wrote a special code called Kik based on the popular programming language Node.js. Koçulu has put the Kik module on NPM, a platform like the app market for developers in Node.js, so they can download it for free and use it freely.

Another Kik

Kik, a famous social network of the same name noticed the incident and emailed Koçulu, asking him to rename his module. According to Koçulu's confession on a blog post, Kik's initial request is reasonable. However, Koçulu doesn't care about this request.

" When I started writing code for Kik, I didn't know there was a company of the same name. And no one could make me change my child's name, " wrote the arrogant Koçulu.

Picture 1 of A moderately angry programmer
Koçulu removes Kik from NPM and other code segments permanently.

Although Koçulu holds the copyright of Kik, the CEO of NPM, Isaac Schlueter, deprived him of his ownership of the module without consulting. Angered, Koçulu announced on the blog that he would remove Kik from NPM permanently, along with his other code.

The problem is that although Koçulu has created a normal and basic NPM module, it is very popular called " npm left-pad ". That's 11 lines of code and really nothing complicated but has been downloaded 575,000 times. And when it disappeared, Reddit, Twitter and many other developers immediately took the blow.

Domino effect

How has things become messy?

A module like npm left-pad basically has a shortcut- like feature so that programmers don't have to write a bunch of messy code and rely on it to develop software faster. If a programmer uses the NPM module, this means " write this code later " and the software writer just needs to download this code when appropriate.

Although this process-based software development is relatively convenient, it has created a dangerous domino system. A Node.js module is developed based on another module, which is developed based on another module. Just like that, everything still works normally until the npm left-pad is removed.

Picture 2 of A moderately angry programmer
Npm left-pad is erased, resulting in a series of software that is interrupted and inoperable.

Boom, the whole domino chain has collapsed. Popular software projects like Babel, helping Facebook, Netflix, and Spotify run code faster, and React, helping software developers build better interfaces, is suddenly interrupted and can't work. half. In total, more than 1000 software projects have been affected.

Fixing this problem requires programmers to eliminate the chain dependency and make sure there is no longer anything tied to the 11 silly lines of code.

And so, given the panic of software developers around the world, NPM was forced to have a solution to remove the constraints between programming modules and offer a more separate system of copyright ownership.

After all, the storm ended, and the npm left-pad was back on. But the wounds it caused were still painful. Someone wondered, " Did we forget how to program? " And urged programmers to review their application development process.

Koçulu said that " Although I feel guilty for affecting the work of many people, what I do is actually beneficial to the community in the long term. NPM will no longer maintain monopoly in software community ".