News for hackers. Stuff that matters.
Re:Today’s JavaScript trash fire and pile on by olliej on Monday November 26, 2018 @03:57PM (#18536724)
A pretty good actual summary of the problem.

As the article says, I'm not convinced code signing would have made this not happen - given the distribution model you could trivially just have node library updates check to see whether the owner/maintainer had the same user name.

Similarly it is absolutely not the fault of the old maintainer - no one should have to commit to permanently supporting a library they wrote years in the past. And if you weren't maintaining a library why would you necessarily be opposed to transferring ownership over to someone who is at least apparently working on/with it?

Re:Today’s JavaScript trash fire and pile on by zelon88 on Monday November 26, 2018 @04:51PM (#18537152)
Because they could have and should have just forked it.

I wouldn't want my name being forever attributed to something I stopped working on years ago. If I make a lib with my name on it it's my lib and my name's gotta stay on it forever. Feel free to clone it and do whatever you want with it, but this one should stay mine for no other reason than the one we're seeing today. Then link to the latest maintained fork in your README.

Re:Today’s JavaScript trash fire and pile on by olliej on Monday November 26, 2018 @05:28PM (#18537434)
The problem is not the github repo, it’s the npm directory - specifically all those libraries that depend on libX resolve the library by that name. If you ever want to migrate ownership/maintainer of a library host through npm you have to take over the name.

The alternative is changing the name (should libfoo.js become libfoo2.js? Libfoo-maintainer_name.js) etc.

Then all the libraries that depend on it have to change their deps and their actual code (require(x) or import x are both based on library name).

If they don’t then any libraries that transitively include the old version of the library could be compromised by any bugs that happen to be included in the old version, so you also can’t say “everyone who cares about the library should update” because library A may depend on library-B which isn’t updated.

If anything the problem here is that npm doesn’t have any real “the maintainer has changed” notification, and that’s couple with the average developer not having any way to know if that change is legitimately ok without auditing the published code.

Re:Today’s JavaScript trash fire and pile on by tracker1 on Monday November 26, 2018 @05:54PM (#18537610)
Alternatively, they could add a freeze option that locks to the last major version, and all newer releases would be a full release version when you switch maintainers.