Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Malicious packages and typosquatting are very different from what's being talked about here. The problem in this case is a clash of policies: NPM historically allowed people to delete their packages after they published them, and then after left-pad they realized that was a terrible idea from an ecosystem reliability perspective so they made it so that you can't unpublish packages that are listed as dependencies of other packages, and so someone took this to the logical conclusion and a made a package that was dependent on all other packages.

NPM wants to have its cake and eat it too, which is the problem here. The solution is just to say that if you publish a package to NPM you give it the perpetual right to distribute it as-is, and then remove the ability for users to delete their packages at-will.



> NPM wants to have its cake and eat it too, which is the problem here. The solution is just to say that if you publish a package to NPM you give it the perpetual right to distribute it as-is, and then remove the ability for users to delete their packages at-will.

Yes, exactly!

Kind of unrelated, but I think it is important to remember that the left-pad was also ENTIRELY npm team's fault. You can't just take away a namespace from someone just because some startup like kik comes knocking.

Toyota does not have a right to my domain dot tld slash toyota The correct answer would have been npm to tell kik to pound sand.

npm has never fixed this grave error.

https://blog.npmjs.org/post/141577284765/kik-left-pad-and-np...

> We stand by our package name dispute resolution policy, and the decision to which it led us.

npm deserves to die.


When authors want to remove a package, realistically there are two main reasons: (a) they don’t need it anymore or (b) there’s a serious issue with it in general, like deprecation or unfitness. Why not just (a) hide it in ui or (b) flag it, explain the reason and give everyone enough time to migrate away.

So many issues arise from the fact that our UIs can’t do simple things on lists like folders (e.g. archive) and tags/notes.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: