Protocol lifetime and organization
As !266 (merged) demonstrates, having multiple copies of one protocol is confusing enough that developers update the wrong version and reviewers don't catch the issue.
Proposal: Have exactly one copy of the protocol in the wayland-protocols repository and move them between the three directories staging
, stable
, deprecated
.
Moving the files results in projects depending on wayland-protocols to include files which no longer exist. For projects which depend on the files to be installed in the system we can install the files to old locations at install time. For projects which depend on the files to exist in the source repository things get more complicated.
We could provide a new repository, called wayland-protocols-static
(name pending) which uses CI to automatically install wayland-protocols to get the backwards-compatible directory and file structure, and commits the result to itself.
This requires breaking changes to projects which currently depend on the file location in the wayland-protocols repository. I therefor also propose to use this opportunity to break everything even more and remove the existing unstable directory and move the files either to staging or deprecated, and also delete files from staging and unstable which were promoted to stable.