Re: Gtk+4.0

I realized this thread had been sitting for quite a while. GUADEC is about to start and I'd like to summarize what's been talked about. Some of the concerns I read from this thread are:

1. Developers are concerned about there not being enough indication of which APIs are more likely or less likely to be overhauled in the unstable series.

2. Maintainers of non-core GNOME apps are concerned that they will be sucked into the unstable series; in other words that it's not opt-out enough.

3. App developers are concerned that the stable series will be ignored in favor of the unstable series.

4. Maintainers of libraries that depend on GTK (such as GtkSourceView, VTE, WebKitGTK) are concerned about having to maintain essentially a separate library for each unstable release.

5. Packagers are concerned about apps depending on a library that depends on an unstable version of GTK, then ceasing development, leaving a straggler package in the distro.

6. Users, maintainers, and packagers are concerned that it will be daunting to keep up with stable GTK's 2-year API/ABI break cycle even if not opting-in to the unstable series, and that maintainers will instead choose to remain on GTK 3.x or GTK 2.x.

7. Distro maintainers are concerned about having to recompile the whole world too often because of the unstable series necessitating frequent soname changes.

Did I forget anything? Please help me summarize. I suggest phrasing it as "$ROLE is concerned about $THING" as I believe that's conducive to thinking about others' needs rather than a my-opinion-versus-your-opinion discussion. (Not saying those are not good to have, but I think at this particular stage, summarizing and understanding is more useful than hashing it out.)

There are also the as-yet unanswered FAQs from the FAQ [1], copy-pasted below, that I think we should try to answer by the end of GUADEC:

- Why can't the stable release cadence be longer than 2 years?- Why can't the stable releases stay supported for longer than 2 years?- Why release API-breaking major versions on a cadence? Can't you just do it only when necessary?- How about a GtkPrivate library and #define I_WANT_UNSTABLE_API?- How can I support both the stable and unstable releases?- How will this affect theme developers, since they don't get to choose what version to target like app developers do?

By the way, Christian: Peter suggested turning this post of yours [2] into a post on the GTK blog, would you be interested in doing that?