Honestly, I've had better luck on the bleeding edge. Newer Linux kernels almost always are better (and when they're not, it gets fixed quickly). Wayland is definitely better than X. Newer Gnome is better than old Gnome.
Ruby 3 and 3.1 is definitely better than 2.7. Rails 7 is way better than 6, even in alpha state. Deno is nicer than Node (although the ecosystem needs to catch up). Hell, V8 and then Node led to a boom in web technologies. In fact, I think with every language newer compilers and interpreters just keep getting better, never seen enough regressions to make me not want to upgrade.
With games, newer kernels and drivers are better. Proton Experimental has Age of Empires 4 working perfectly on Linux what, a week after release?
I really can't think of a time I wanted older technology. I just upgraded to Fedora 35, it's the best laptop experience I've ever had. Ubuntu and others have been stable and good enough, but Fedora 35 is snappy and everything works in a way that's just better. No more slow software centre. No weirdness with snaps. Quicker suspend and awake. Fingerprint sensor works out of the box. Etc...
The thing is that the blog entry mixes up, as too frequently happens, the two often used meanings of "stable":
- Rock solid/reliable/"good"
- Not changing
And they are completely independent!
- Windows 95: It's definitively not rock solid. But is it "stable"? Sure! You will have a hard time finding something more "stable". When was the last time it received an update/changed? It's "stable", but not "stable".
- RHEL: Rock solid? I don't really have a lot of experience with it, but let's say yes. And its whole business model is about changing as little as it can. It's "stable" and "stable".
- Fedora: Rock solid? Let's say yes. Does it change? All the time. It's not "stable", but it's "stable".
- Linux in 1991: No idea. But I'm guessing it was crashing all the time. And it surely was changing fast. It was not "stable" and not "stable".
"Stable" software can be not "stable" on purpose. You may want to avoid changing so much that you may want to keep the bugs, people rely on that buggy behaviour!
Not "stable" software may have shitty QA and not be "stable"; or it may be so well tested that even changing all the time, it never fails.
If I have a contract with the government for a software that needs to provide a service for the next 5 years, I surely will target RHEL X. Not because I think it's specially good, but because I don't want to find myself in court about whether the contract said I need to keep supporting them every time they update the OS. I will deliver something working better or worse today and once accepted... it will keep working the same, bug by bug, relying on the same CentOS X bugs, in 5 years because the underlying system has not changed a bit.
However keeping up with the bleeding edge is expensive, it requires continuous maintenance and a lot of effort to sift out fads. Python is a great example of where the beeling edge is stable, and Python projects decay really quickly. I've seen 2-year-old python projects in machine learning fields environment that just can't be run any more as a practical matter because the dependencies have changed too much.
I agree with this mostly, but the new GNOME releases are almost universally a design regression IMO. Pretty much everything that they added was doable with extensions in 3.38 (most of which are now broken with GNOME 40), and the only substantial changes that I can discern is the shift to libadwaita and forcing people away from things like custom stylesheets and shell extentions, which were the only things that made GNOME tolerable for many people, myself included.
Combined with the overall hostility and 'my way or the highway' mentality that's been pervasive throughout the GNOME team, I didn't feel too bad dumping their DE for KDE Plasma. I respect the constant desire to improve things, but their refusal to kill sacred cows and infatuation with destroying people's workflow doesn't really inspire me to spend more time with their software. It's especially ironic when you consider that they recently re-wrote their CoC to be vague enough for the developers to systematically silence anyone who makes feature requests they disagree with, or post bug reports for stale issues. If this mentality continues to spread across the rest of desktop Linux, it will probably be dead in the water. It's no surprise to me that Valve decided to eschew all that GNOME drama with the Steam Deck and just shipped it with Plasma. QT is a genuinely terrible toolkit by many metrics, but at least it doesn't have developers that call you fascist for enforcing a custom stylesheet in their open source software.
I still see GNOME as the most practical DE to run - but it's telling that absolutely nobody uses it as shipped: at minimum they install dash to dock or dash to panel, re-enable minimise buttons, and install a system tray extension.
The project seems to usually come around in the end, and it reminds me of some quote critical of the US's foreign policy I think, that "You can always count on the Americans to do the right thing - after they have tried everything else".
Perfectly practical solutions to problems are proposed on bug trackers, and dismissed with the demand of impossibly strict requirements of well-justified use cases, when the current behaviour was never subject to such a high bar. Then years later the obvious fix is quietly implemented after the sheen has worn off whatever sacred cow was considered "the right way to do it" that was blocking the obvious, impure, against-the-vision fix from being considered.
Of course nobody can rightfully expect work to be done on a FOSS project even if their suggestion is a brilliant one. So a response like "Patches welcome" or "Yes we'd like that too but this is on the backburner and not a priority" would be fine. Instead the response too often is along the lines of "that is not in our vision and there is no use case".
I've also infuriatingly gotten a "patches welcome" response before, and then simply faced the "that's not in our vision" response upon providing a patch. It's not that there was a problem with my patch (there may have been, but the conversation didn't get that far), and I got the feeling that "patches welcome" was just a way of kicking the can down the road to make me go away. Am now very hesitant to provide patches to GNOME projects unless I can see that the core developers are explicitly in favor of a change in advance.
Honestly, it's a few bad eggs in the project and not the majority - but it leaves an extremely sour taste in my mouth as someone who has been participating in FOSS for a long time.
And on the CoC discussion, I can't help but notice that the most abrasive participants seem to be the ones most likely to have rainbows and pronouns in their bio. Hypocrites.
"I've also infuriatingly gotten a 'patches welcome' response before, and then simply faced the 'that's not in our vision' response upon providing a patch."
That has been my experience on quite a few FOSS projects. I had to learn that the hard way (on other projects, not GNOME). Some are more conservative than others, some may delay making a decision until after they get a patch, etc. Ultimately, since it's your time, you have to do your research before you decide to spend months working on a patch or however much time you plan.
Since GNOME is a large umbrella project then it can vary between sub-projects, I have noticed the ones that are popular and user-facing tend to have a much higher bar for contribution and are much more "cathedral-like" in their design approach, and they kind of have to be if they want to have any kind of semblance of stability. So I don't think it really helps much to blame any project for this or call them "bad eggs", it's their choice of how they want to do things.
I doubt stability was their intentions. They completely destroyed 3.38 compatibility, and all the poor bastards like me who decided to update their distro got a completely broken desktop. And I mean completely broken, too: my wallpaper was gone, every single extension broke, apps would no longer appear system-native when I defined a stylesheet and GNOME apps themselves looked inconsistent and glued-together.
I really recommend reading Tobias Bernard and other GNOME representative's blogs. Not because they're insightful, but because the self-righteousness that they use to talk about fairly personal and benign things completely clouds their view of the community. People complain about inconsistent apps: his solution is to destroy the theming ecosystem instead of fixing the shit that's wrong in Adwaita. People complain about broken extentions: his solution is to tell people that extentions are dumb, and you shouldn't be using them anyways. People complain about a toxic working environment: his response is to draft an even more exclusive CoC with vaguer rules and no precedent for enforcement. There are so many of these little anecdotes that it blows my mind they even have a desktop left at this point.
Like you say, it's free software so I can't complain too much. Nevertheless, it's wild to see how a perfectly functional desktop has lost the majority of it's beloved features with nothing more than a few philosophy adjustments.
Sorry that was your experience but you should probably know, stylesheets and extensions have never actually been considered stable. I don't know what distribution you were using but if you were using those things, it would probably make sense to wait until they're fully tested before upgrading. If all the extensions/stylesheets you're using are complex then it seems it would take a lot more time to update those, sadly. Yes I know this thread is trying to make a comment about unstable software, there are plenty of "stable" desktops you could use but in my experience those have a lot less feature velocity than the big "umbrella" projects. So it's a really trade-off, it seems that at some point you will have to sacrifice some of those beloved features if you want to prioritize something else, such as stability or portability or design choices or anything else really.
I've read the blogs and I don't really agree with any of your comments in the second paragraph, especially the part about destroying themes. I'm currently developing against libadwaita and one of the benefits that it (already) brings is much better theming support. I also have never actually seen the code of conduct enforced on anybody, most people I interact with are very respectful. Although if you have something you want to ask to Tobias then you might consider asking him directly, I can't speak for him. Just please remember to be kind.
> I still see GNOME as the most practical DE to run - but it's telling that absolutely nobody uses it as shipped: at minimum they install dash to dock or dash to panel, re-enable minimise buttons, and install a system tray extension.
And all those things can be done easily, intuitively, through a GUI. Kind of a testament to Gnome if you ask me. I don't mind the default behaviour though. Minimalist and nice.
If you are in the know and are aware that dash to panel, dash to dock, and whichever system tray extension is the one maintained by the Ubuntu developers are the ones you want. Otherwise you get one of the million broken extensions.
And this is after figuring out how to install a browser extension (from the browser extension store) and the "connector" library from your package manager, to be able to install shell extensions from the browser. I wouldn't call it intuitive at all.
And the re-enabling of minimise buttons is in gnome-tweaks, which you have to install separately, and which I'm used to, but is a bit weird to put such crucial functionality in a separate settings app.
Good thing Ubuntu sets these things up by default for their users.
Right but I feel like you're missing the point of the article, since the latest version of something as long running as the linux kernel is unlikely to be flakey.
I'm using pure Arch Linux since ~8 years by know and for me it's the best suited distro.
BUT two times after a kernel update my system didn't boot because of some bug in the kernel. Sure, not a problem for me, I can just boot the recovery system, downgrade the kernel temporary and all is fine (and the bug gets fixed fast).
But still, even the latest stable release of the Linux kernel sometimes has problems (through that where the only problems I ever ran into with the kernel and it was at the vendored-efi<->linux boundary, and now that I think about it it might have been efistub, so maybe not even there kernel).
Anyway I have in general less problems with software not working on arch then I had on ubuntu.
I have the same experience, my linux experience (as an user) improved by an order of magnitude when switching to Arch which has the same bleeding edge philosophy.
I feel like there's a balancing point though. I've used Gentoo, Arch, Ubuntu, Debian, Fedora, RHEL, SUSE, and CentOS. I've found the most stable and least problematic distro to be Gentoo. After that was Arch and then the rest basically sorting by average package age.
I think there needs to be a trade-off between bleeding edge and stability and I find that Gentoo tends to hit it on the head. I've yet to have the system break anything for me without explicitly warning me before hand, providing me a full mitigation & migration plan, and then requiring me to explicitly continue.
Arch has been pretty stable in the past but I've had problems come up numerous times due to the bleeding edge philosophy.
Point being that you should really only be going as bleeding edge as your community can reliably audit and provide support for. I think Arch toes that line most days and sometimes hops past the line. Gentoo however tends to stay a few steps back from the line and gets close to it but never actually steps over it. And then most other distros are sitting comfortably half a mile back.
Hmm, oddly enough, I've found Debian stable to be the most stable OS for my uses. That said, I do more writing and email than I do programming, so perhaps library dependencies aren't such a big deal for me. If I can run tex-live, emacs, pandoc, along with GNU standard utilities, email client, web, and music, I'm good.
Counterpoint: when using a system with hybrid graphics which required me to use proprietary video drivers, switching to the latest Fedora version often brings issues with suspend, or random freezes, or lack of external HDMI output... After a few months, the release stabilizes and my issues disappear. But whenever I tried to be optimistic and jump to the latest release too soon, I got bitten by it and wasted hours trying to find workarounds.
No argument from me there. Even on Arch it takes a while for the nvidia updates to arrive precisely because of these issues. Proprietary nvidia drivers have such a poor user experience.
I do like to think that the effort put into software development with each iteration is actually making software better: optimizing performance, fixing bugs, closing security vulnerabilities, etc. So I've been happy with Arch-based distros and most Windows updates, at least. When I take the long-term view, I'm amazed by the improvements in software since I started using a computer in the 1990s. Many more things "just work" now (e.g. Linux on a laptop). Home computer operating systems and applications can run for years now without breaking, whereas reinstalling everything (e.g. the cesspool of Windows 95/98/XP) was almost a monthly requirement back in the day. An operating system that used to take 5-10 minutes to fully boot now takes only seconds on a typical machine.
I know that this isn't always true. Sometimes it's just feature bloat, or a design change for the sake of design change, which introduces more bugs and vulnerabilities.
Maybe what I really want is the newest version of the software that I already have, as opposed to the newest software.
At work we still use Red Hat Enterprise Linux 6 on some mission-critical systems. So that's version 2.6.32 of the Linux kernel with equally old applications, and I'm not sure what we get for updates from the vendor in 2021. The problem is that there are recurring bugs and serious vulnerabilities in that system which will never get fixed at this point. You could argue that we know what the bugs are, at least.
Tbh, this dichotomy is kind of Linux's fault. Consider the issues Linux of today is facing, or were just were recently resolved.
With no attempt at being exhaustive (as I'm not a huge Linux user nowadays):
- Wayland is just becoming production ready, imo, it's still years away from being trouble-free
- Gnome is still a resource hog, Gtk is not in a good place, KDE is still prone to crashes
- Installing software/Dependency management is still a headache - the distro agnostic package management solutions (Snap/Flatpak/AppImage) are ironically anything but - apt and it's ilk have known issues as well - the final solution in this domain is still unclear
- Imo it was proven that PulseAudio won't work - it's replacement, PipeWire is still just becoming mainstream
All these issues - software installs, accelerated desktop, audio that just works, stable desktop libs - are things that both Windows and macOs have had for literally more than a DECADE (some for almost two), allowing people to be able to be extremely conservative and stay on Win7 to this day. State of art desktop Linux is still ways behind from having all of this stuff working.
Why? The onus of proof is on the one making assertions. You seem to feel you're asserting something that's common knowledge, but it isn't, and the downvotes prove it. I responded to your comment anyway.
> Wayland is just becoming production ready, imo, it's still years away from being trouble-free
Literally have had zero problems with Wayland.
> Gnome is still a resource hog, Gtk is not in a good place, KDE is still prone to crashes
Resource hog? Chrome with a single tab open is roughly equivalent in resources taken to everything Gnome related on my laptop. Steam takes almost as much memory just idling (window is closed). Gnome shell (the most resource intensive Gnome thing) itself is just 134 MB which is nothing when an entry level laptop has 8 gigs of memory.
I have a pretty basic laptop (Acer Swift 3 with Ryzen 2700u). Only 8 gigs of memory. Fedora with Gnome, with Chrome open, Steam running in the background, some other random stuff, still only takes like 30% of that memory.
Compare that to my old work laptop where random Windows crap consumed so much memory I'd have to restart just to be able to open up MS Teams SMH... (I don't work there anymore thank god)
As for KDE, I personally don't like KDE so no idea if it crashes or not. And what do you think is wrong with GTK?
> Installing software/Dependency management is still a headache - the distro agnostic package management solutions (Snap/Flatpak/AppImage) are ironically anything but - apt and it's ilk have known issues as well - the final solution in this domain is still unclear
Versus Windows or Mac where you have a store but everyone just ships random EXEs or whatever? All that matters to the user is that there's a distro-packaged app for nearly everything and Chrome provides .deb and .rpm packages for all major distros. It seems like a mess to developers but it's actually not that big a problem and still better than Windows or Mac where you have the store but most software is random installers you download from the internet.
Take Fedora for example. If you're a normal, non-dev user, you can download a Chrome .rpm. Install it by double clicking and following prompts. Almost every other piece of software is in the app called 'Software'. Hell, Steam is there.
> Imo it was proven that PulseAudio won't work - it's replacement, PipeWire is still just becoming mainstream
PulseAudio works fine but for some reason some Linux 'users' mess around and break it. It's literally always worked perfectly for me.
If you use a sane distro (Fedora, Suse, Ubuntu) and don't fuck around Linux works great.
On Fedora 35, everything you mentioned works. All my function keys work. Fingerprint sensor works. Suspend/Resume works. My USB-C headphones work and switching sound output is automatic. There's nothing that doesn't work perfectly. Gnome is light and snappy (as I said, roughly equivalent to Chrome with 1 tab, this page, open). Every piece of consumer software I installed, I did so through the GUI. The only time I touch the terminal is for dev shit.
While I agree with you I sincerely see no real advantage in Wayland over X. Steam does not work properly with Wayland, client side decorations are stupid and broke the decorations of Kitty and Alacritty (requiring me to workaround it).
Ruby 3 and 3.1 is definitely better than 2.7. Rails 7 is way better than 6, even in alpha state. Deno is nicer than Node (although the ecosystem needs to catch up). Hell, V8 and then Node led to a boom in web technologies. In fact, I think with every language newer compilers and interpreters just keep getting better, never seen enough regressions to make me not want to upgrade.
With games, newer kernels and drivers are better. Proton Experimental has Age of Empires 4 working perfectly on Linux what, a week after release?
I really can't think of a time I wanted older technology. I just upgraded to Fedora 35, it's the best laptop experience I've ever had. Ubuntu and others have been stable and good enough, but Fedora 35 is snappy and everything works in a way that's just better. No more slow software centre. No weirdness with snaps. Quicker suspend and awake. Fingerprint sensor works out of the box. Etc...