Hey everyone, There's something I've been ruminating on for a few years now: the state of wayland-protocols.
I've noticed that over the course of the existence of wayland-protocols, only three have made it into "stable": presentation-time, viewporter, and xdg-shell. But basically no useful Wayland environment relies only on those three protocols, and many protocols have been broadly adopted in staging and unstable. For example: everyone implements relative-pointer (unstable) and almost everyone implements xdg-activation (staging). There are many "unstable" wayland protocols that are so broadly adopted that they basically aren't going to change anymore. A good chunk of the "staging" protocols have no implementers (per wayland.app). So what I'm wondering now is: are the distinctions useful? And if so, how are they useful? If they aren't useful, can we get rid of them? Now, that may seem nuts, but here me out! Every wayland protocol that has been merged is already versioned. Every wayland protocol proposed is supposed to already have at least two implementers (which as noted earlier, a number of existing protocols lack). Between the versioned protocols and the requirement for implementers, I don't see where the distinction helps anything. If anything, I've seen examples of the distinction used as a deterrent by particular compositor implementers despite the obvious need for them. Could we consider getting rid of the distinction? If we need to have structural sorting in the repository, perhaps folders representing the versions instead? Or maybe some other categorization that doesn't imply that something shouldn't be implemented. Thanks in advance and best regards, Neal -- 真実はいつも一つ!/ Always, there's only one truth!