I’ve been playing with TinyCore Linux, where the OS is basically an initrd image loaded in RAM with all apps being installed as extensions loaded from squashfs files with sun links on the system so that everything is in the expected locations.
Newer version and way more complex and RAM hungry exists in Fedora SilverBlue, where the OS is layered and tracked and immutable, while apps are installed in Flatpaks or mutable containers though that brings with it a need to update workflows to fit in all these sandboxes.
Something like this might be great for stability, rollbacks, tracking changes, isolating the OS from the apps and user meddling, etc.
Obviously not something Purism can do in the short term but I wonder if they’re looking into it…
A real disadvantage of LTS is that hopping to a new LTS often is not a smooth process and a daunting task for inexperienced users. That’s why I’d prefer short increments as described above.
+1 for rolling.
I like things stable and semi-uptodate, but needing to occasionally do bigger updates is something I like to avoid.
(I’m avarage user, I know how to duckduck to fix things, but understanding logs is most of time beyond me.)
I think some people here are mistaking PureOS’s greenness (being a recent-ish distro) and the pitfalls of that with the pitfalls of rolling distros.
The current incarnation of PureOS is not “bleeding edge”
+1 for rolling.
If you go for stable, please keep a rolling channel.
End of tl;dr
I am using a rolling distro since ca. 5 years and I can tell you that it does have the same “a simple update tends to not break things” trait that some stable distros achieve, without the same “every n months, either nightmare ensues or I stay with old software” trait.
I think the way of working of both distro types can be seen with a “dust raising and settling” metaphor.
In both variants, an initial “dust settlement” period, during which you configure your computer, exists, but once you are done with it, things become mostly stable. The difference between distro management types has to do with the dust that needs to be raised due to software changing.
Rolling distros tend to raise little dust, but frequently. Stable distros have these giant packages of dust raising every upgrade period, but they raise absolutely no dust between upgrades. Which one is preferable is debatable, although I tend to go on the rolling distro camp.
Now, back to PureOS: What seems to be happening with PureOS is that, due to it being a recent distro and wanting to address a lot of problems (most notably UI problems), it has a lot of dust to raise. The result is that several people are complaining about the dustiness of our current ways. What I think they are not visualizing is the absurd amount of dust that would appear if it dropped upon us all at the same time every six months.
Also, two little side notes:
PureOS green is not “bleeding edge”, it is based on Debian Testing, which is already derived from Debian Unstable. So we are two layers away from “may bite you in the butt without warning” territory.
A stable distro needs a rolling distro as a base for testing and staging (see Debian, with “unstable” and “testing” feeding the stable channels). If Purism does decide to roll with stable, please open the rolling channel to users (call it “beta” or something) for the more… unstable of us.
Otherwise, you might as well use Debian stable and disable proprietary repositories or use a meta-package to custom it in PureOS.
The problem with stable/LTS distribution is that at the end of its life the packages are outdated and not all security patches can be backported (flatpack is not a solution).
Updating from one major version to another is often complex too.
Rooling release does not mean unstable. It is not mandatory to put the new packages in the repositories 30 seconds after their release.
Manjaro, for example, has its own repository and adds packages only after several weeks of testing (compared to Arch).
This avoids many problems that are difficult for beginners to solve.
@jeremiah Not to derail the thread, but could it be that the original question might need clarification?
There seems to be two views here: “technical” and “experience” (or select other names). Those leaning A make good points on updates and keeping OS usable. Those leaning B want assurances that (at least basic) functionality does not change often, nor much and can be relied on. It might be a good idea to open these up a bit for clarity. I also think that the attitude towards a phone may be different than towards a laptop or desktop regarding this, as people depend on a phone more, which is factor to consider.
Are some parts going to be stable - can they be kept stable (if so, the rest can perhaps roll around as much as wanted or needed)? What would stable-rolling cycle be: daily, weekly, 3 months, 6 months, 1 year, 5 years… - what is too long, what is too short, what would be a good middle ground?
@kieran Well, he said “green”, so definitely about laptops, but I assume also about the phone. It makes sense IMO to keep them aligned.
I would say in the utopia-land that Todd shall give us in… uhm… let’s generously say 3 years , you would not ask that question. There is only PureOS-green-riscv (of course for compatibility with old models, also for amd64 and arm), running on RISC-V phones, desktops, laptops, NASs, routers…
@JR-Fi I think that’s a good point.
I mean, I agree with most of what @Torrone, @crisoagf and others wrote about the advantages of rolling (frequent little dust vs. lot of dust every X months), and pointed out that an LTS update is only rock solid until you need to switch to the next iteration of it. I can imagine that a very well maintained rolling distro is better for non-techies.
And yet… I said semi-stable… It is good that many want a recent rolling repo, because that is exactly what would enable Purism to offer a secondary, “stable-rolling” hybrid (if that makes sense).
By lagging behind the current green, it should raise less dust, as most transition bugs should already be ironed out once it enters semi-stable. It should also considerably reduce the bandwidth usage and frequency, as users go from libxyz-1.0.0f directly to libxyz-1.0.1c, skipping the 4 minor fixes that happened on “testing-rolling”
(Dust example: I can’t currently update kodi, as there’s a dependency issue. It’s not urgent, it’s okay for testing-rolling, but it should be fixed for stable-rolling, so ordinary users have a smooth experience).
Such a stable-rolling is IMO the best of both worlds. Rather up-to-date even for ordinary users, and most likely easier to maintain than a LTS, with potential back-porting nightmares, possibly two different wikis to keep up-to-date and also a lot of testing effort to try to create smooth LTS -> LTS transitions.
Dear Jeremiah,
I think you both biased and confused the discussion by the way you phrased your question. In my opinion, the question should have been “Do you favor a rolling release as PureOS has been until now or would you like PureOS to become a fixed-point release like Ubuntu or Fedora?”
Calling a release stable is a description. Rolling releases can be stable, as can fixed-point releases. Clearly everyone wants stability. And I think most people want stability without stagnation, stagnation being defined as waiting too long before releasing the latest and greatest.
Having criticised your phrasing of the question, I will now pay you a compliment. PureOS’s rolling release ‘green’ is the most stable release I personally have ever used, much more stable than fixed-point releases like Fedora and Ubuntu. Sure I have filed bug reports, but the problem has been related almost always to something “wrong” that I did beforehand. Despite this, one or two emails to mladen has always produced a solution.
This is not to say that all the software is perfect; many programs, in my opinion, leave a lot of room for improvement, and a few (like command-not-found) never get fixed. But I have never seen installation of software from the PureOS ‘green’ repository actually break the distribution. So my vote would be to leave things close to what they currently are.
I do want to clarify that I’m talking about ‘green’ here which is the current rolling release for the laptops. The Librem 5 will also run PureOS, but that will have a different code name and a different release cycle.
There has been some early experimenting and discussion regarding an OSTree style distro like SilverBlue. It is an interesting idea and offers some security benefits, but there are some challenges as well. We’ll keep looking at this but I don’t see this happening before 2020 at the earliest.
What about keeping PureOS pulling from sid but have a Testing Repo and a Stable Repo? Testing repo pulls from sid automatically and if there are not breakages, push to stable repo.
I vote for rolling.
I use debian testing on my laptop for some yers now and never had problems. For me testing is some kond of rolling release until the freeze-time, when the new stable release is prepaired.
That’s cool to know that experimentation has happened. IMO SilverBlue itself is an experiment, and I’m trying it right now as well, it’s definitely not ready for a normal day to day desktop/laptop, but I can see the potential in this kind of environment. It will take a few years at least until the processes are normalized, forked, re-invented, copied, updated, and become more usable
Personally, despite TinyCore being a bit of a mess (no actual build script, inconsistencies between versions and between architectures, etc), I do think the basic design is very well done and a lot less messing around compared to using FlatPaks for everything and all that that implies… but both concepts are interesting.
I use my laptop every day and cann’t do anything without it. If I need to spend hours on my l;aptop to fix things, my customers will get upset. I just bought one this week and had some installation problems already. If I cann’t trust my Purism laptop, I can not use it. Therefor I vote for a stable release.
I use debian testing which is a kind of rolling release and cannot rember when there have been problems. Rolling Release does for me not mean unstability.
I am not currently a laptop customer so I guess my vote doesn’t hold much weight but here are my thoughts…
Since this is specifically about the laptops, in my opinion, I think you should focus on what would be best for the casual and less technically minded users. Others are more likely to be happy to change to another distro if it doesn’t suit them. My experience with less tech savvy users is that they don’t like things to change often, so I think a “stable” point release would be a best. Ideally you would have both, as it would allow the community to help with testing and finding problems on the rolling release before it is pushed to the point release.
Thank you for involving the community in the discussion!