Stable release channel: how to handle updates from upstream?
The "latest" channel of postmarketOS will be based on Alpine's latest release. Alpine makes a snapshot of their "edge" release roughly every six months, and then ships bug fixes and security fixes to that latest release (see Alpine wiki). I'm proposing that we don't tie postmarketOS to the same release cycle in #20 (closed) (please discuss there) so we can do releases as it makes sense for us.
Keep in mind, that shipping security and bug fixes without support from upstream is a burden that we should avoid where possible.
I'm feeling that we should have apps running very close to upstream, ideally just ship the latest release of an app as soon as it is out in our latest channel. At least as long as the upstream is known to make properly tested, working releases. If they screw up, we should probably add a short testing phase in postmarketOS edge. (If testing in postmarketOS edge is also not enough, we can only upgrade it with a new release, see below). Also we should talk to upstream and make the situation clear to them, work together, maybe sometimes there is an LTS version from upstream to consider.
(Talking about apps that are installed with the package manager here, which is the recommended way. Users who want to use flatpak will just get the apps directly from upstream, likely bleeding edge, but with the flatpak downsides discussed in #18 (closed) - discuss flatpak there.)
Regarding UIs, I'd try to update them less often once they don't change as often anymore. I think it would be smart to have all UI updates go through a testing phase before shipping them in the latest channel, because they could easily make the phone unusable if something goes wrong (in contrary to single apps where the fallout is not as bad). With that being said, we can't just test a whole UI in postmarketOS edge (based on Alpine edge) because the dependencies will likely be too different from postmarketOS latest (based on Alpine latest). So while writing this out, it appears that making a new postmarketOS release would be in order then:
- postmarketOS latest (based on Alpine latest) ships UI version 1
- postmarketOS edge (based on Alpine edge) upgrades to UI version 2 and we test it there
- postmarketOS latest-next (based on Alpine latest) upgrades to UI version 2 and we test it there as well
- give users a 1 or 2 months window to migrate from latest to latest-next
@bshah, @PureTryOut: how should we deal with plasma mobile updates, how often should we upgrade it and should we upgrade it between postmarketOS releases? I assume, that you guys would make sure that we get all bug fixes even if we are not on the latest release?
What do you think, folks?