4 ms·
One phenomenon I am fascinated by is the advent of software that is entirely built out of open source components and open standards, that is closed off to peopl
by macdice 6y ago
One phenomenon I am fascinated by is the advent of software that is entirely built out of open source components and open standards, that is closed off to people using non-mainstream open operating systems and hardware sort of by accident at packaging time.
I'm thinking of apps that built around Electron and Chromium. This stack allows people to ship beautiful webapps (= web protocols and languages, weblike experience) in a format like native applications, with the addition of desktop integration, but ... now we have HTML5 developers shipping binary blobs for the operating systems and CPU architectures they choose. It's cool that that includes common Linux distros as well as the leading commercial OSes, but what if I want to run RISCV instead of Intel/AMD, or FreeBSD, or <insert any other system entirely capable of running the usual stuff from the Unix ecosystem that some people call the "Linux desktop"> instead of Linux, and why is an HTML5 developer/publisher making that choice? Add to this the fact that Chromium itself is an open source project that is widely ported to systems other than Android/Linux/macOS/Windows, but the upstream apparently doesn't accept portability patches. Suddenly that matters if the unit of delivery includes an internal browser executable.
I understand the practical reasons for all of the above, but it irks me on some level; the whole point of all of the huge tower of open standards involved was to avoid this situation. In practice most of these apps are probably also available as straight up webapps in a browser, so it's not really a big deal in the end, but it seems like a really strange position to have finished up in.
- stkdump 6y agoIt always bothered me, that applications have to ship and load their own copy of chromium and node. I don't get the compatibility argument. After all, websites have the exact same problem to solve and do that just fine, most of the time. For desktop applications you could even require a given minumum version of electron installed on your target system. If its not there, your installer offers to download and install/update it. Also, instead of including a copy of chromium and node, electron could just use installed version of those.