I’m not proposing anything here, I’m curious what you all think of the future.
What is your vision for what you want Linux to be?
I often read about wanting a smooth desktop experience like on MacOS, or having all the hardware and applications supported like Windows, or the convenience of Google products (mail, cloud storage, docs), etc.
A few years ago people were talking about convergence of phone/desktop, i.e. you plug your phone into a big screen and keyboard and it’s now your desktop computer. That’s one vision. ChromeOS has its “everything is in the cloud” vision. Stallman has his vision where no matter what it is, the most important part is that it’s free software.
If you could decide the future of personal computing, what would it be?
We have the basics down. But hopefully desktop-class RISC-V will be within our reach in a few years!
Less user error from borking the root fs. And also less apps relying on the root filesystem would be good. Likely something to be achieved with portals and other XDG work.
Wayland will soon have the ability for a lot of cool features that X11 doesn’t have, such as storing session data to disk and relaunching into new desktop environments without relogging. This’ll make hybrid graphics a lot easier to manage as changes to the active GPU can be done dynamically without logging out and back into your system.
Linux is obviously great in many ways because it lacks a single solution to a given problem, and that it’s just a kernel, so most of your end-user system is totally configurable while still being a Linux system. However, we have a lot of overlapping work that makes said end-user systems hard to manage when standards collide. Hopefully Wayland will encourage developers to work through XDG portals and other common standards to make Linux user AND developer-friendly.
A contentious issue, but I think the future of Nvidia drivers will be open source. The proprietary drivers have been a blocker in many ways as they’re ‘good enough’ and better than Nouveau, so no one is going to bother backing the FOSS project when the prop. project is better. However, lots of very smart devs are working on bridging the gap and leverage the newly open-sourced portions of NV’s drivers, which will hopefully manifest as the end of AMD/NV driver quality discrepancies.
Every few years we get a new “Photoshop WORKING on LINUX???” tutorial that has some cryptic setup instructions or github repo that eventually falls to the wayside. WINE is getting a lot more support thanks to Valve and I imagine starting to take on Windows apps for first class support will be a gamechanger for the creative industries that rely on certain Windows-only apps!
Yup, the best saved til last. My boldest claim is that Flatpak is going to kill off the necessity for RPMs, Debs, APKs, etc. for most end-users. The flatpak size disadvantage is negligible in the age of terabytes, but it allows devs to ensure a consistent build environment for their apps on all platforms (something that has caused a lot of flame wars between Fedora and app devs in the past).
For people who DO need apps from reproducible, stable-based pipelines (eg. docker, sysadmins, IT professionals) we’ll see Nix becoming dominant. In fact, it’s already beginning to eat into docker/container build systems thanks to its powerful reproducibility and infra-as-code paradigms. It’s having a real boost after a relatively quiet first decade of life, likely thanks to features like Flakes that can spin up developer environments in seconds.
No it isn’t, until you can build a Linux system on top of only Flatpak. And guess what you have then? Yet another distro using a different packaging system with its own opinions, just like the rest of them. And there will still be other packaging systems because not everyone will agree with how it does things. Especially once developers start including questionable code in their Flatpak packages, because nobody is there to stop them, which distro maintainers are going to strip out in distro packages because it’s harmful to users.
I doubt thats really the case? Most distro maintainers mostly want to make sure a package works with their provides libs etc. If a package is malicious, it just will not become a distro package. At the same times this esoteric part about what distro maintainers actually do is so nebulous and at the same time “overrated” (debian).
Flatpak is still not able to fully replace native apps in certain situations, sure, but that wont be the case forever. If Ubuntu believes they can replace debs with Snaps I believe someone can do the same for flatpaks given enough time.
Flatpak lets people host their own repositories, which is where I think we’ll see distros becoming distinct if they DO choose to diverge from Flathub’s selection, such as choosing to block non-free software. Over time, though, people generally all just add flathub if it isn’t already available.
And, again, if you need something more finegrained than flathub, there’s no reason why distro maintainers can’t move to a nix-based infrastructure-as-code and you’ll be free to host a repo with all of your distro’s software packaged as code.
The power maintainers want over users is simply too much effort to justify as more apps begin to complain about packaging issues downstream, and apps become more complex to build. Users will inevitably bypass them. Devs will inevitably become hostile to downstream repacking.
that’s the beauty of distros, those that want traditional package structure can still use a distro that does.
Even the current flatpak first distros like OSTree spins of Fedora (Silverblue, Kinoite et al) provide mutable containers for using any package format you like.
the issue is overstated as most flatpaks use the flatpak platform runtimes and share their own libraries in a similar manner to the host, yes its separate libraries, but its not dozens of disparate copies like some detractors of flatpak seem to state
Yup this too. We’re basically seeing a more standardized and healthy way of managing shared dependencies in Flatpak that doesn’t sacrifice the developer or end-user for sake of a few megabytes.
Best post so far here.
Can you elaborate why a sysadmin/IT prof. should use Nix? Or are you referring to, those people deploying Nix systems for the “masses”?
I’m no sysadmin or IT prof. myself, but here’s my take.
With Nix, you can build out an entire Linux operating system from the ground up with a few files. You can specify the exact versions of software and even dependencies of software so that every single installation of your OS is going to be identical. You can upgrade specific software and roll it back if it has problems. Dependencies are managed through Nix in a way that allows them to be shared where necessary (saving space) but diverging when necessary to prevent dependency hell.
The best part, imo, is that all software is from source. You don’t have to rely on package maintainers at RHEL or Debian to keep apps up to date and working - Your system will download binary blobs from the cache server or build apps from source when theyre not available. You get to have bleeding-edge apps (if you want them) without the pain of waiting 6+ months for them to come in from your distro updates.
It’s quite immature when it comes to tools that make it easier to pick up and learn, so there’s drawbacks in that regard since many IT pros will stick to tools that enterprise systems offer that make managing their infra MUCH easier.
However, Nix is imo the future of non-flatpak applications because it’s simply smarter, faster, and more declarative than RPM, Deb, Apk could ever be.
Thanks for the write up, for me as a sysadmin it just doesn’t hold enough attraction on why I should make a switch. We are not going to change our infrastructure to NixOS. And for workstation use, I don’t see the benefit.