The Year of Linux/FreeBSD/OpenBSD/NetBSD on Desktops May Never Come
my-notes.dragas.net
my-notes.dragas.net
* - MacOS does not have a "BSD heart" in it nor is XNU based on BSD (other than they might have evolved it out of a BSD codebase they had lying around, gutted 99% of it and wrote in a rewrite of OSF Mach).
The Linux desktop ecosystem has been putting up a valiant fight for the past 30 years. Even with its shortcomings, it is amazing that we have an ecosystem of free, open source operating systems and applications that are of sufficient quality that millions of people depend on them. Yes, Microsoft Office may have more features and be more polished than LibreOffice, and yes, the GIMP may not hold up to Photoshop, but the fact that LibreOffice and the GIMP, among others products, are able to compete against their much better-funded counterparts is worth something.
However, one of the things that concerns me about the future of the Linux desktop is the sheer complexity of the software stack, combined with the fact that resources are often spread thin and funding is often limited, if available in the first place. The constant churn in the Linux ecosystem (e.g., the move to systemd, incompatible GTK versions, the move from X11 to Wayland) does not help matters. I know part of this has to do with the fact that the Linux desktop ecosystem is more like a bazaar and less like a cathedral, but I think a desktop environment can really benefit from cathedral-style development where there is a unity of vision, design, and infrastructure.
At this moment I'm inspired by Alan Kay's Viewpoints Research Institute's STEPS project from over a decade ago, which was a research project that attempted to build a modern desktop from the ground up with just 20,000 lines of code through the pervasive use of domain-specific languages for specifying layers of the system (see https://tinlizzie.org/VPRIPapers/tr2012001_steps.pdf for the final report). Software would be easier to maintain and extend if it were simpler; this, combined with component-based software design in a manner similar to Apple's OpenDoc vision (https://www.youtube.com/watch?v=oFJdjk2rq4E), is vital in my opinion for open-source projects that cannot compete directly against the Microsofts and Apples of the world for labor.