Unstable protocol name breakage
Jonas Ã…dahl
jadahl at gmail.com
Mon Oct 19 19:22:45 PDT 2015
Hi again,
I was about to start migrating generic protocols away from weston into
wayland-protocols. The idea was to start with input-method.xml, text.xml,
linux-dmabuf.xml, presentation_timing.xml, scaler.xml and xdg-shell.xml. The
question, however, is what to do with the names, because some names already
have the form "wl_[name]", and renaming such an interface to "zwl_[name]1"
during the unstable period, and then back to "wl_[name]" will cause potential
breakage because some implementations in the wild might expect the "wl_[name]"
to be the original (ancient) version.
As mentioned before, I have already moved the fullscreen shell protocol, and
with the naming schema changes in place, it ended up with the protocol name
"fullscreen-shell-unstable-v1", the interfaces zwl_fullscreen_shell1, and
zwl_fullscreen_shell_mode_feedback1.
linux-dmabuf.xml is also easy. Since it is already 'z' prefix, to comply with
the intended naming schema, I'd just need to rename the interfaces to
zlinux_dmabuf1 and zlinux_buffer_params1, and the protocol to
linux-dmabuf-unstable-v1.
presentation_timing.xml: I suppose this one can be renamed without any
significant implications, since it currently is completely prefix free. I
imagine it'd be zwl_presentation1 and zwl_presentation_feedback1 in a
presentation-timing-unstable-v1(.xml) protocol.
The problem is the rest of the protocols, since they all already have the
intended stable names. This means we cannot apply a naming schema that intends
to finally remove the prefix and postfix when declaring stable, since that
would collide with the initial name. How to deal with these names needs to be
decided, and probably so protocol by protocol.
scalar.xml: As far as I know, Pekka has plans to change scalar.xml, and plan to
do so with a name change. So as far as I understand, we need to rename this
one.
input-method.xml: This one I think might actually be fine to just apply the
naming schema, as the protocol itself has Wayland core principle violations
that need to be solved, i.e. any implementor of this is already broken (by
principle).
text.xml: This one I'm not so sure about. Has it ever been implemented outside
of weston except only as a proof of concept? Would it be fine to use the same
name?
xdg-shell.xml: Should we bite the bullet and rename this one, or just continue
letting its stability state be non-discoverable? It's clearly already used, and
renaming it will be painful, so not sure about this one.
Then comes the IVI protocols. I have no opinions about these, and I don't know
what any plan with them might be. Should they be moved, or are they purely a
weston thing?
For the rest of the protocols (desktop-shell.xml, screenshooter.xml,
text-cursor-position.xml, weston-test.xml, workspaces.xml) I plan to leave them
be, as they either are purely weston internal, simple toy protocols or have no
consesus that they are to be ever be official protocols.
So what should we do about these naming issues? It should have been clear that
all of these are experimental protocols, but due to the fact that some may have
started to use these outside of weston anyway even though they being
experimental, is it Ok for us to start causing them to break? If not, what may
some alternative names be?
Jonas
More information about the wayland-devel
mailing list