Unix is a simple and elegant OS and one of its core principals is to provide mechanism and avoid unnecessary policy decision. For example Microsoft Windows has an arbitrary policy that all executable should have .exe extension. In Unix any file can be an executable as long as it has the executable bit set. This philosophy was also followed when the original X11 was designed. The X11 server only provides mechanism, the actual look and feel of the desktop, or in other words the policy was left to the Window Manager (WM). The WM is a simple application which communicates with the X11 server via ICCCM (https://www.x.org/releases/X11R7.6/doc/xorg-docs/specs/ICCCM/icccm.html ).
With Wayland the Window Manager and compositor are lumped together as one application. These are big applications with each having their own set of bugs and very little or no cooperation between the different compositor implementation. This rigid approach is also evident in a toolkit such as GTK which insists on client-side decoration (CSD) which again is an arbitrary policy decision.
Seems to me that we have Microsoft Windows style developers working on the future Linux desktop and it will end up being as fragile and brittle as Windows.
[link] [comments]