AnIdiotOnTheNet, I couldn't agree more. Which is why I've started the AppImage project roughly a decade ago. Would you like to join, even if only as an evangelist? Please get in touch with us via GitHub. It's important to spread the word.
I'm a fan of AppImage, a lone island of sanity in the ocean of bad ideas on the Linux Desktop. You were involved with Klik before that right? So it has been more than a decade. And you're not the only one, there's also been efforts like GoboLinux and RoxOS, both of which have been more or less completely ignored by the community, which is why I think the Linux Desktop is unsalvageable.
The Linux Desktop community is simply not culturally ever going to accept a desktop that actually works like a desktop. I can't put my finger on why. Is it dogma? Do they just prefer needless complexity? Do they simply lack the experience to know how awful the system is? I don't know.
Point is, I think the only real way forward is to do what Google did with Android: take the kernel, which is actually pretty reasonable, and put a completely new userland on top of it. Forking some currently existing software may be acceptable in some cases, but the new system should separate itself as much as it possibly can from the currently existing Linux Desktop community. It won't be a Linux distribution, and I think it'd be best to not even mention Linux.
I have done some preliminary work regarding the design of such a system, how its applications would work, completely re-imagining how the filesystem tree works and even what it is for, that sort of thing. But the more discussion I have about ideas in that vein the more I realize that nobody really wants that, they all just want their over-engineered web-kiosk with 1970s-era tooling and sensibilities.
Yes, I started klik about a decade ago, over time evolved and simplified the concept and renamed it to AppImage. Thanks for calling it a "lone island of sanity in the ocean of bad ideas on the Linux Desktop" ;-)
After having heard that "this is not how Linux works", I was about to give up when Linus Torvalds himself gave me the impression that maybe the idea wasn't entirely insane altogether.
As for what should be done, I don't think that doing the 1.001st distribution will make any significant difference. Building a system on top of the Linux kernel that is intended to be a platform might.
But then, building something entirely from scratch would require resources I clearly don't have. So how about this:
1. Take the most popular distribution as the basis (that would be Debian/Ubuntu probably)
2. Determine a set of "Core OS" functionality that is comparable to what Windows and macOS do out of the box, and decide that this will be shipped by the Core OS
3. Use distribution packages to install that Core OS into a filesystem image
4. Uninstall the package manager (because it is a tool for the maintainers of the Core OS, not meant for users)
5. Guarantee that only new APIs/ABIs will be added to the system, existing ones can be considered stable and will deprecated only after 5 years (or so) prior warning
6. Release the Core OS once a year (Core OS 2018, 2019, ...)
7. Apps come as bundles (e.g., Rox-style AppDirs or AppImages)
8. Maybe call the loader (ld-linux.so) differently to intentionally only run applications specifically crafted for this system (debatable)
9. Guarantee 5 years of support for each yearly release
10. Developers are advised to always develop against the oldest still-supported Core OS (e.g., the 5 year old one); i.e., if we introduce a new API today then developers can assume it is "there" for everyone 5 years from now; or else they must privately bundle it (similar to how Android works)
11. Address the Desktop Linux Platform Issues https://gitlab.com/probono/platformissues in this system
12. Address the Desktop Linux Usability Challenges https://medium.com/@probonopd/make-it-simple-linux-desktop-u... in this system (possibly modify a desktop environment like XFCE to be more like the Mac/NextStep in philosophy - without copying it verbatim)
AnIdiotOnTheNet|7 years ago
The Linux Desktop community is simply not culturally ever going to accept a desktop that actually works like a desktop. I can't put my finger on why. Is it dogma? Do they just prefer needless complexity? Do they simply lack the experience to know how awful the system is? I don't know.
Point is, I think the only real way forward is to do what Google did with Android: take the kernel, which is actually pretty reasonable, and put a completely new userland on top of it. Forking some currently existing software may be acceptable in some cases, but the new system should separate itself as much as it possibly can from the currently existing Linux Desktop community. It won't be a Linux distribution, and I think it'd be best to not even mention Linux.
I have done some preliminary work regarding the design of such a system, how its applications would work, completely re-imagining how the filesystem tree works and even what it is for, that sort of thing. But the more discussion I have about ideas in that vein the more I realize that nobody really wants that, they all just want their over-engineered web-kiosk with 1970s-era tooling and sensibilities.
probonopd|7 years ago
After having heard that "this is not how Linux works", I was about to give up when Linus Torvalds himself gave me the impression that maybe the idea wasn't entirely insane altogether.
As for what should be done, I don't think that doing the 1.001st distribution will make any significant difference. Building a system on top of the Linux kernel that is intended to be a platform might.
But then, building something entirely from scratch would require resources I clearly don't have. So how about this:
1. Take the most popular distribution as the basis (that would be Debian/Ubuntu probably) 2. Determine a set of "Core OS" functionality that is comparable to what Windows and macOS do out of the box, and decide that this will be shipped by the Core OS 3. Use distribution packages to install that Core OS into a filesystem image 4. Uninstall the package manager (because it is a tool for the maintainers of the Core OS, not meant for users) 5. Guarantee that only new APIs/ABIs will be added to the system, existing ones can be considered stable and will deprecated only after 5 years (or so) prior warning 6. Release the Core OS once a year (Core OS 2018, 2019, ...) 7. Apps come as bundles (e.g., Rox-style AppDirs or AppImages) 8. Maybe call the loader (ld-linux.so) differently to intentionally only run applications specifically crafted for this system (debatable) 9. Guarantee 5 years of support for each yearly release 10. Developers are advised to always develop against the oldest still-supported Core OS (e.g., the 5 year old one); i.e., if we introduce a new API today then developers can assume it is "there" for everyone 5 years from now; or else they must privately bundle it (similar to how Android works) 11. Address the Desktop Linux Platform Issues https://gitlab.com/probono/platformissues in this system 12. Address the Desktop Linux Usability Challenges https://medium.com/@probonopd/make-it-simple-linux-desktop-u... in this system (possibly modify a desktop environment like XFCE to be more like the Mac/NextStep in philosophy - without copying it verbatim)
Who wants to do it?