I think you have a big misunderstanding about how open source communities work.

The most prominent: You call out the "JS community" as some kind of single entity. There is nothing like that. NodeOS is not a project of this (or any other) community but - as it seems - two guys and some other OSS contributors. Like any real open source project it is free to contribute to it. It is in no way the "voice" of the JS community (or the Node.js community) as you put it.

Furthermore, your reasoning about Operating Systems and the usefullness of this project:

So if NodeOS cannot called an OS because it is layered on Linux - Android is also no OS because its the same? Is macOS no OS because it is built onto a Mach Kernel and FreeBSD user space? NodeOS seems to try to make Node.js a "first class citizen" - if this is a good idea or not - I don't know but is this important for any small OSS project people want to do? Do you want to forbid people to work on free experiments and toy projects?

You call out some shortcomings about NodeOS which all come down to one thing: Its no full scale linux box so it has to be bad... and that after arguing that it just is linux?

Lets imagine some of the things such a project could realize:

1) Implement user space tools in JavaScript

There already are Shells implemented in JavaScript and available over npm. One example is shelljs - which is cross platform and just needs Node.js to run. I've used this on Windows from time to time, because you easily can write shell scripts in JavaScript instead of bash. NodeOS could also decide to develop a shell that is more like Powershell or nu shell - but optimized for a JS ecosystem. There can (and are) implementations of Git or any other tools in JavaScript. Instead of native compilation NodeOS could use WASM for performance. That way NodeOS could also run programs written in e.g. Rust using WASM and WASI.

2) High level language based OS

Similar to what Lisp Machines and Lisp OS did, NodeOS could be an environment which lets you write programs just in JavaScript. Why? Because a JS hacker could hack on it. It could just use HTTP and web frontends as a remote capable UI layer. Presenting an IDE like Visual Code that directly works in that system. They could decide to not follow common Linux filesystem conventions but implement a system that is more suitable for package based JS modules. They could support debugging and remote debugging through Node.js' debugging channels.

3) Kernel space modules

There already are projects to run WASM in the kernel. So a Node.js, JS and WASM based OS could make it possible to write kernel level modules within its typical ecosystem features - if they want to. They could implement messaging between such modules and user space Node.js instances to implement a Node.js specific system call layer.

Other things after looking into their Roadmap:

- They make it possible to use JS to handle typical OS tasks like configuring networking or user managment services or the boot chain.

In short: They remove the myriad of scripting variants in Linux for just JS and implement native user space executables through JS variants to make them hackable in just JS.

I don't know if it is a breakthrough for anything - but it is an interesting and certainly fullfilling open source project. I absolutely cannot understand how you can denigrate its authors or even the whole JS and Node.js community based on what I see.

Developer — Author — Photographer — Guitarist

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store