3 ms·
I would compare X11/Wayland situation to Python 2/3. I'm not a very advanced Pythonista, but I'm competent and use it more and more. - 2009 - Python 3.0 came o
by hawski 3y ago
I would compare X11/Wayland situation to Python 2/3. I'm not a very advanced Pythonista, but I'm competent and use it more and more.
- 2009 - Python 3.0 came out at the very end of 2008 so let's count it as from 2009.
- 2011 (2 years later) - Six the compatibility library to ease the transition releases 1.0.0
- 2013 (4) - On Fedora's Bugzilla "Replace Python 2 with Python 3 in default installation" issue was created [1]
- 2015 (6) - Python 3.5 (introducing typing module)
- 2016 (7) - "Replace Python 2 with Python 3 in default installation" closed.
- 2017 (8) - Python 3.6 (f-strings introduction, for me privately first 2/3 difference that makes me consider Python 3).
- 2020 (11) - Last release of Python 2.7: 2.7.18. python-is-python3 package available in Ubuntu 20.04 (not default AFAIK).
- 2021 (12) - So far the last Six release (1.16.0)
In comparison with GNOME/Wayland:
- 2013 - Wayland 1.2 - wayland-server API becomes stable
- 2015 (2 years later) - Wayland introduction in GNOME with version 3.20
- 2016 (3 years after Wayland 1.2; 1 year after GNOME 3.20) - Mainlining Xwayland in xorg-server 1.16 release. Drag and drop actions are now added to the Wayland API. Fedora 22 defaults to Wayland session.
- 2024 (today - 11; 9)
For me: I will switch when Xfce will.
Edit: Added Six to the timeline per aragilar suggestion below and a bit more points.
[1] https://bugzilla.redhat.com/show_bug.cgi?id=1014209 https://bugzilla.redhat.com/show_bug.cgi?id=1014209
- sprash 3y agoTwo things that are wrong here: 1. Wayland was actually started in 2008 2. Wayland API is not stable even today
- nitinreddy88 3y agoOne more point, no VR support in Wayland yet
- hawski 3y ago1. Python 3 also started earlier (2006 for pep-3000 [1]). 2. I meant a first meaningful stable release for both [2]. Python 3 is also seeing new releases. [1] https://peps.python.org/pep-3000/ https://peps.python.org/pep-3000/ [2] https://lists.freedesktop.org/archives/wayland-devel/2013-July/010278.html https://lists.freedesktop.org/archives/wayland-devel/2013-Ju...
- aragilar 3y agoI would say you're missing most of the relevant changes from 2->3. Initially, 2to3 was the expected way to have a codebase (so it would be a one-and-done change, or 2to3 would becomes smart enough to make the required changes), but it was replaced by having a single codebase that could be run under both 2 and 3 using tools like six, and by "reverts" like adding back 'u""' and making bytes have more string-like features (plus numerous backports on PyPI for 2.7). I'd suggest the switch away from 2to3 to six (and further helpers on top like futurize) was what made the transition possible (in that if you could get the codebase to run properly on 2.7, six made the upgrade less painful, and then you could perform cleanups later on). I wonder if/what the X/Wayland equivalent of six will be: XWayland lets existing X clients continue, but for things coupled to X servers, there doesn't seem to be anything yet.
- hawski 3y agoI added a mention of Six and Xwayland to my comment. I no longer can edit my comment, but I would also add: - 2017/2018 - Wayland 1.12: xdg-shell protocol becomes stable. An interoperability milestone in my opinion.
- roenxi 3y agoI think there is a subtle difference here in that the X server was a target that things were built on top of. Wayland is one component of a larger ecosystem has the same goals as X. It is feasible to just run X and have a passable desktop experience. I don't think it is feasible just running a vanilla Wayland compositor, it needs to support a bunch of non-Wayland technologies and extensions to be useful. I'll point at Pipewire as the major example. And the kernel plays a more active role than X11 was designed to handle. So it is similar to Python 2->3, but if major parts of the standard library were being shed. Given the screenshot situation, I'd say it was a Python 2->3 except the core team insisted that printf among other things be implemented outside the language core. Wayland explicitly doesn't cover the same design space as X11 and in most cases that is intentional and an improvement.
- patrakov 3y agoI think that the switch will happen when somebody advances Weston (or any other compositor that has a single-app full-screen mode) so that running Xfce on Xwayland on Weston becomes possible and indistinguishable from Xorg.
- abc123abc123 3y ago"For me: I will switch when Xfce will." Amen! No XFCE, no switch!