Is it really so crazy to want a stable platform on which to run current applications? In the Linux world: yes.
AppImage solves the problem in a different way, although AppImage doesn't have a concept of automatic upgrades like Snap:
I suppose one could put an appimage in a snap, leading to either the best or worst of both worlds.
There are other downsides, too.
At the same time, the upsides of such systems are really nice; they are very much reminiscent of MacOS apps - and that I really like. If the whole theming and such can be fixed - it would be perfect.
For example, they could have an optional "recent applications" repository that you add if you want up-to-date applications. This way Firefox, LibreOffice, etc would be up2date but the system would be stable.
If you install Chrome on an LTS by the way, it will come with the Google repository and be always up2date.
And that's a good thing. If I wanted my system to force software updates on me, I'd use windows.
Users should always have the ability to control updates. Always.
I7 4/8 16gb and ssd. Laptop isn't a slouch
I have tons of snaps and the only one that is really slow is Cura.
I'm only an occasional linux user as a developer, I never dove into the history or the design. Is there a particular reason why linux distributions couple the system so heavily with the application layer?
The proprietary solution to that instability is to appoint people who ensure ABIs don't change. Microsoft is a great example of that strategy. Many apps made for Windows 3.1 still run today on Windows 10, almost 30 years later.
The typical open source solution to ABI instability is to freeze library ABIs and build all the applications on those temporarily frozen libraries. Applications are built for a particular release. While it would be possible to keep updating the applications during the release cycle, it appears no one has yet figured out how to do that economically.
An interesting exception to the rule is web browsers. Firefox and Chromium get regular feature updates in major Linux distributions. That's probably because browsers have a very large attack surface, yet people use them all day long, so they deserve extra attention from software distributors.
In any case Things like ostree and flatpak seem to be heading in this direction.
At least the PPAs are actually a better solution than a platform like Windows (whose "system" is separated from "application"), where you download binaries for upgrades, since you have visibility of the source code and build process.
I have around two dozen PPAs for the software I need to keep up to date. In the past, I used to upgrade Ubuntu on every release; now, I barely do it on every LTS.
Half of the time, PPAs don't work. Snaps and Flatpaks are a step forward, but they still require a central server for fetching dependencies.
AppImages are good.
I don't believe this, and I suspect you're doing something unorthodox with your apt sources (it wouldn't be the first time I hear a story like this).
PPAs build from source on a vanilla platform for the given configuration, so they're guaranteed to have standard output (binaries etc.) and dependencies. When there is a problem with a certain configuration, such build won't be available to the user.
Can you list the PPAs that don't work?
Example: recently I had need of the of the DOSBox debugger, which you need to enable at compilation. On Windows this was as simple as finding some zip file from someone who'd done it and extracting the executable. On my Lubuntu system though, it wasn't in the repo for my version, nor was there a PPA. It was, however, in the very newest repo for Ubuntu and required up to date dependencies and I didn't want to upgrade my perfectly working base system.
Ultimately I had to manually download the package and its dependencies, extract their contents, and use LD_LIBRARY_PATH and the like to get it to run out of a self-contained directory.
That's what's fascinating to me. All the technology is there to distribute portable self-contained applications on Linux, but basically no one does it, or they pull a flatpak and still tie it into the horrifically silly repo model (and still aren't portable!). Only AppImage makes any sense, but hardly anyone embraces it.
It seems essentially to be what you want - separation of "system" and "apps". An immutable containers host with custom things running on top.
That's a novel concept if you don't mind me saying so ;]
There is a config.json for defining inheritance only.
edit: Here are my recipes: https://github.com/pauldotknopf/darch-recipes/tree/master/re...
I did this - and it saved my bacon recently.
I had a 14.04 LTS install, from around the time that that Crunchbang "went away" (just before Bunsen and CB++). At the time, it was my upgrade (completely new system). I decided to make it look as close to CB as I could; in a large part, I was very successful and happy with the result. But when I installed the OS, I decided to put in on an SSD (with certain partitions done as ramfs, so as not to kill the SSD). My /home went on another drive.
All was good and happy, but over time, things became more and more difficult to get newer software, etc. Over the years I really buggered my system; the nearly final blow was doing a "hand-upgrade" to the latest gcc so I could get certain features needed to compile some stuff for a Udacity course I was taking (also got CUDA installed and working for that course as well). Doing this upgrade, though, ended up breaking a portion of the standard "upgrade" process to the point where it would fail if I tried to move to say, 15.04 LTS or similar. Even simple installs of software from the repos would sometimes throw errors in the logs. It was really messed up.
Then one day last year, I decided to try to upgrade my NVidia drivers, and in the process fubar'd the whole system; all I could do was land to a console. Ultimately, I ended up switching over to the FB drivers just to get X back so I could do some research easier with a browser, and to see what I could recover to. I decided that since my /home was still ok - that I would attempt to just upgrade the OS and see what happened pointing /home at the old drive.
So - I bought a new SSD and pulled the old one (so I'd have something to fall back on), and then tried out a variety of distros to see what things had gotten up to in the years I'd been away. I had considered just moving to Bunsen, but as I started to think about things, and research stuff, I decided that I wanted something less compact.
Ultimately, via a series of steps which I won't delve into, I settled on Ubuntu Budgie 18.04 LTS.
The install went perfectly, and it had no problem picking up my old /home partition and such; I ended creating a new user instead of going through the rigamarole of trying to get the old user and such all configured with the login system (I've been there and done that, and it's a damn pain); besides, that also allowed me a "backup" of my old user directory in /home - a good thing, I could move over what I wanted as I needed it or such, and keep the old one around for a while.
It turned out to be a fairly easy and painless upgrade. Since then, I've decided and stuck with the idea of not using any software that isn't from a repo, or .deb file or such. No more compiling from source and wondering where/what I have on my system. Instead, I either do without, or install it on a VM, or build a .deb package myself, or try a snap or appimage, etc. Basically, I'm trying to keep my system clean and "uncontaminated" so I don't fall into this issue of a broken upgrade system again.
Now I need to see if Ubuntu Budgie 19.04 LTS is available yet - when it comes out, it's supposed to have all the newer features of the latest Budgie desktop; I had played with that and the distro (I forget the name), but I didn't like the package manager that distro used; it felt too limiting since most things out there are distributed as .deb or .rpm packages, etc.
LTS releases also don't offer upgrades to non-LTS versions unless you explicitly enable that via the "Software & Updates" tool.
It was also a revelation to me - easiest install ever. Prior to that I was running some version of Mandrake (and prior to that, Woody).
I've been running Linux in some form or another since around 1995; I started with Turbo Linux 2.0 (ok, ok - my first Linux was Monkey Linux over DOS, but it was more a plaything). I'm not unfamiliar with the intricacies of installing Linux (and I've compiled my own kernel before just to get certain things working - did that for a 486 laptop just to get everything on it working - sound, modem, PCMCIA, ethernet card, video, etc).
Being able to just "point and click" - while Mandrake allowed it, and SuSe also to an extent - it wasn't anywhere near as clean as what Ubuntu allowed for. I've pretty much stuck with Ubuntu since then (though not with their wm/desktop - blech at times).
Small things like would help me convince family members to switch
They should be just “Ubuntu 18.04” but “Ubuntu Preview 0.1810”, “Ubuntu Preview 0.1904” etc.
The non-LTS releases are really not for everyone, and should not even attract the normal users with the "bigger" number. They should really warn the "normal users" that only 18.04, 20.04 are somewhat "safer" for them (I've personally had significant problems with 17.10 which used "wayland" as default even if a lot of applications just didn't work correctly under it, then 18.04 thankfully changed that default. And even 18.04 had initial issues which were removed only some months later -- so who wants less issues shouldn't install 20.04 before, let's say, September 2020).
I've also actually tried to keep up with upgrading every 6 months, and it's... such a waste of time when something breaks... and it will. Once the breakage was such that eventually the answer was "oh, you upgrade in place? We don't test it much like this, you should back up your home partition, install clean, copy back your home partition, then it will work."
That being said, given that I haven't paid for it, except with my time, sometimes the price is right. But sometimes, once can actually decide to trade money for the time spent debugging the OS... unless it's just about programming. Linux has some advantages there.
Additionally, to me it seems that KDE is still easier to use, so most users should start with Kubuntu and only LTS.
Ubuntu could try to make things clearer - but one would think that "LTS" would be clear enough. "Long Term Support" - and they give enough other warnings about things...
I've been running Linux in some fashion since 1995; if installing Ubuntu isn't easy enough, I don't know how you could make it much easier (that said - my latest install was Ubuntu Budgie 18.04 LTS - and that was probably the best install experience I've ever had).
Are you posting from some parallel universe, I've sat Windows users down in front of this Ubuntu desktop and they can't tell the difference. What's complicated about clicking on 'software Updater'?
It should be noted that while the website typically steers you towards LTS; that's only if you find your own way there and aren't linked to a specific image by someone else. I think it's entirely understandable why some people might get confused.
NinjaEdit: Also of note is people brand new to linux probably won't know anything about Ubuntu being based on Debian or what that even means, so the idea of Stable, Testing, Unstable is a wildly new idea to them.
The Windows world also has a lot of conventions you just need to know about that aren't friendly for newcomers.
If you are dealing with the version number, it means you are installing the system. How many everyday Windows users do you think have ever had to install their own system?
You could take a non-advanced user, sit them in front of the first step of the Ubuntu install procedure, and I can guarantee you that they would make it to the end and boot into a perfectly working system. Do the same with a Windows install procedure, and if you are lucky they will make it to the end and boot into an absolutely useless machine that doesn't even connect to the internet because it's missing drivers. Now good luck sending your user on a drivers scavenger hunt over the internet. 30 seconds in they will have installed some ad-ware "Driver Doctor 2019 Express Deluxe TM" and will require a new install anyway.
The reality is that the Linux world today is really not bad at all. I would argue that Linux major distros today aren't any less friendly than anything else on the market. The article mentions Jason Evangelho's article, and I would encourage anyone who thinks Linux is not user friendly to go check out his articles and his Twitter feed. He also recently started a podcast called ChooseLinux, where they talk about the challenges and experiments in having a complete newcomer (himself) approach Linux from different angles (gaming included).
- The LTS is the first one listed, on the top, and it is actually the best choice for anyone who doesn't know what to pick
- The meaning of LTS is explained pretty clearly on this page
I don't know who they could make it any more explicit.
Performance issues shouldn't appear between LTS-1 and LTS. Ideally LTS should be the polished and stable version from all that came before it and not a rushed testbed for DE that aren't battle-tested.