[Freedesktop-sdk] ABI stability and release model

Alexander Larsson alexl at redhat.com
Wed Mar 27 10:50:57 UTC 2019


On Fri, Mar 22, 2019 at 8:46 AM Tristan Van Berkom
<tristan.vanberkom at codethink.co.uk> wrote:
>
> Hi all,
>
> It was raised recently by Cameron on this list that there are some
> problems with ABI stability which effectively break things for end
> users.
>
> Asides from this, I think it is also worth considering concerns about
> overusing end users bandwidth (to install new updates) and similarly,
> the churn and compute resources we impose on downstream projects who
> need to rebuild as a result of releasing new things frequently.

Yeah, I have not been following these discussions in details. But I'm
getting very concerned about the amount of churn that seems to be
happening in the 18.08 release. One of the major selling points of
flatpak is that applications will keep working because they depend on
a particular runtime version which have tight guarantees on ABI and
behaviour. If this is not true, and the runtime gets updates that are
not carefully vetted then we'll lose that and we can easily get into a
place where flatpak:ed apps get a reputation for constantly breaking.
Such a reputation is *very* hard to get rid of, and can easily taint
the project forever.

We do want *some* updates even to released runtimes. For instance, for
hardware enablement updates to the GL drivers are important for
desktop apps. We also need to keep on top of things that changes in
the flatpak echosystem like portal updates and whatnot, as well as
security updates and bugs that affect actual apps. However, it seems
like modules are being updated just because there are new upstream
version numbers, which seems very wrong.

There also seem to be an very high degree of trust in ABI checks. Yes,
knowing when ABI accidentally breaks is nice, but there are many ways
that the behavior of a library can change that don't change the ABI in
detectable ways yet still break currently shipping apps.

At this point all the actively used flatpak runtimes are based on the
freedesktop sdk, so it is very important to get this right.


More information about the Freedesktop-sdk mailing list