Hello! I don't see here an active discussion about Gtk+4.0[1]? So I'm trying to write about my thoughts, in a careful way. In the first moment, I thought this is a good idea and just the numbering is misleading. Stability is what developers want, we need it, we love it. With a few days distance, numbering is just a small issue, I see this now entirely different and three major issues:
1. Separating official applications from GNOME, away from all other major applications 2. Very short stable-release-cycle, every two years an API/ABI-Break is really bad for all 3. No actual reason to break the API/ABI of Gtk3.x, but stability is the most important part for a toolkit I hope you don't hate me now. I'm trying to elaborate this: 1. Separating official applications from GNOME, away from all other major applications: Applications will be splitted in modern and outdated ones. Users will see modern applications from GNOME and a lot of old stuff, mainly well-known applications. As time of writing, neither Gimp, Inkscape, Geeqie, Pidgin nor Geany merged to Gtk3. After five years we see now Firefox and LibreOffice (?) on Gtk3, and progress on Gimp and Inscape, Gtk3 was released in 2011. From the developers side, we will forced to choose between to nasty options, an already outdated stable API/ABI or a shiny new API/ABI, which will break fast. 2. Very short stable-release-cycle, every two years an API/ABI-Break is really bad for all: If the API/ABI becomes stable every fourth release or two years, this is to short for the developers to adapt. Constant breaking is bad for developers! We will see a lot of different stable API/ABIs used within years (or not, which isn't better). And the Gtk+-Team will have to support a lot of stable-branches: Gtk2, Gtk+3, Gtk4 (two years later), Gtk5(four years later) and so on. This sounds like very much work and is bad for the Gtk+-team. Currently the Gtk+-Team has to support Gtk2 and Gtk3, only. Furthermore the alignment to Debian/Ubuntu LTS sounds like a permanent delayed cycle building on top of each other. I don't expect many developers to catch up with unstable/upstream or even using "git clone://", in case of Ubuntu or Debian this could happen: -> LTS -> Stable API/ABI -> Developers start adapting -> Subsequent LTS -> Adapted applications available -> But already new stable API -> Developers start adapting again 3. No actual reason to break the API/ABI of Gtk3.x, but stability is the most important part for a toolkit: Nobody named a reason, why it is really necessary to break the API/ABI. Wayland? Already done (great job!). A lot of new featuers? Already done and doing (great job!). But the main reason for choosing a toolkit is, beside a good API, stability and portability. A more stable API/ABI will attract more developers, more applications will be written and therefore easily portable from Windows/MacOS to Linux&GNOME. Microsoft (stability) and Qt (stability&portability) are investing lot of in this, for decades. The idea of more stability is very positive! But after thinking about the current proposed approach I'm a really scared. Instead being against a new approach of an ongoing development, some suggestions from a non-library-developers (i.e. a complete fool): 1. Tiring, but with the most impact, keep Gtk3 as stable as possible while carefully adding new things 2. Add experimental features through external libraries (libsexy and so on?) 3. Add experimental features behind compiler MACROS, like UNSTABLE_GTKPATHBAR 4. Seperate Gtk a little bit more from GNOME (this hurts, but I think this will help). I've GNOME wants something and the Gtk-Team is not convinced (yet), GNOME can do it on it's own without hassle. The future will show who is right and maybe the new thing get moved into Gtk or dropped again from GNOME. Maybe this increases the chances to get in better contact with other heavy Gtk-based environments. Keeping things stable is hard work. I know that and admire your work. Thanks for your work on Gtk+! Peter PS: Allan already has written about the unlogical version-numbering it[2] and mentions the better even/odd-numbering. So I skipped this completely. [1]https://wiki.gnome.org/Projects/GTK+/Lifecycle [2]https://blogs.gnome.org/desrt/2016/06/13/gtk-4-0-is-not-gtk-4/ _______________________________________________ gtk-devel-list mailing list gtk-devel-list@gnome.org https://mail.gnome.org/mailman/listinfo/gtk-devel-list