[Freedesktop-sdk] ABI stability and release model

Javier Jardón jjardon at gnome.org
Wed Mar 27 13:23:43 UTC 2019


On Wed, 27 Mar 2019 at 12:37, Robert McQueen <rob at endlessm.com> wrote:
>
> Hi Tristan and team SDK,

Hi Rob,

Not sure you have seen Alex and my reply, but I think we are basically
in agreement here
Putting some notes below to further clarify

> With my Flatpak hat on, I must say: offering ABI stability (and really
> solid, boring, ABI stability) in the runtimes, is absolutely
> instrumental to the whole Flatpak ecosystem. If we don't have that, we
> may as well not have an SDK, and practically speaking, we won't have a
> Flatpak app ecosystem at all.

I think everyone in the team agrees with that, and always have. We
have always treated any ABI break as a bug (we even contact upstream
several times to fix some ABI breaks in mesa for example)
That's why we have ABI checks in our CI and what is written in the
current release model [1] from the beginning

<snip>


> 3) We need new Mesa for hardware, so we need new LLVM, so we have to
> break everything all the time.

<snip>

> Eg - we redouble efforts on bringing the platform drivers in (and there
> is a lot of technology in this space - the likes of https://git.collabo
> ra.com/cgit/user/vivek/libcapsule.git  and even stuff like virgl), or
> we could build the Mesa extension as it's own Flatpak (as per 1.6 used
> to do) and then it would never touch the SDK.

Yep, that is the plan already, see [2]

> 4) We don't have any CI for our master branch so we're changing
> everything in the stable branch instead.
>
> Honestly, this is the worst of all the arguments. :P https://dilbert.co
> m/strip/1995-06-24 Flathub receives $100ks a year of free compute and
> CDN resources because I tweeted and asked for them. We can absolutely
> put our heads together between Flathub, GNOME, freedesktop.org and the
> SDK and solve CI/etc resources.

Not sure who have said that but CI horsepower is not the reason why we
are using 18.08 instead master at the moment
We simply use 18.08 because at the moment we didn't have the man power
(or a reason really) to develop 2 branches at the same time, so we
focus in the stable one (18.08)
This will change soon when we start the preparation for 19.08 (merging
18.08 back to master and continue from there, as documented in the
previous document I linked [1])

> In setting up the release cycle for the SDK and managing the cost of
> running an LTS, we can only play with two variables. The frequency of
> releases, and the lifespan that we support them for. My understanding
> is that we would do basically: one year, one year. It seems like
> perhaps this needs revisiting if we are seeing new developer
> tools/technologies that need to be updated more frequently because of
> app/runtime developer needs? Maybe 6 month frequency, 1 year support,
> or to avoid too many parallel series, we have a tick/tock with a 1 year
> support and a shorter one in between.

Sure, happy to revise the release cycle [1] after we release 19.08
this August and we have a perspective of what happen last year / what
we expect to happen
Maybe a good topic to chat at GUADEC?

<snip>

I remove the rest as we agree and ABI stability is something we care
about and always have,
as explained above
Please see the points and links on my other email for some extra
improvements we are doing to our release model

Cheers,
Javier

[1] https://gitlab.com/freedesktop-sdk/freedesktop-sdk/wikis/release
[2] https://gitlab.com/freedesktop-sdk/freedesktop-sdk/issues/697


More information about the Freedesktop-sdk mailing list