The number and variety of npm packages were always a topic for irony and ridicule. If you are not getting what I am talking about, check out the is-odd npm package with 76 million downloads, is-positive/ is-negative packages, literally a package to bless your code and many others. While this seems funny, this poses a serious problem, which may lead to negative consequences. But this time, the community pushed even further and introduced NodeOS, an “operating system powered by node.js and npm”. I am going to explain why this is simply not true and what it says about the JS community.
UPD: it was pointed out to me that NodeOS project is abandoned and not maintained anymore.
Unfortunately, this is just not true. There are no use-cases for NodeJS CLI over bash, npm over apt-get, an interpreter over an operating system. By letting go of a regular Linux shell (which was not done in any other Linux distribution (!)), you are letting go of everything people love Linux for. Say, for example, you launch your Express.JS backend in a docker container running NodeOS and it crashes. You attach to the container to investigate, and then what? Yes, the NodeOS team reimplemented some core commands such as cd, ls, cat, the full list here, but why reinvent the bicycle? The conventional versions of these exist, they were tested and used for decades, they were perfected beyond NodeJS’s wildest dreams, what NodeOS possibly has to offer here?
Sounds reasonable. A Linux distribution running NodeJS as PID 1, it should probably be faster at running JS applications. Only two issues here:
Not only this project is pointless, but it also hurts the open-source community, despite being open-source itself. The nature of this paradox is that instead of helping the maintainers of the Linux kernel itself and addressing specific challenges important to JS developers, all this effort is used to create yet another JS package/Linux distribution that no one can or will use. Right now we are left with thousands of abandoned projects/libraries/operating systems for this very reason: developers choose to reinvent the wheel, fueling their egos, instead of working together for the greater good.
Beats me. Not only it has 6.1k stars on GitHub, but it is also said to have won the 9th National Free Software Championship. This says a lot about the JS and FOSS community, and, being a part of it, I feel uneasy and shamed. The lowered bar for entry is good, but we should always try to be the best developers we can be and not appropriate other’s achievements. This reminds me of a Russian programmer who renamed Ubuntu to BolgenOS in its source code and introduced as a revolutionary new operating system back in 2009. We were laughing back then, but it does not seem so funny anymore.