[RFC wayland-protocols] Add contribution guidelines for desktop extensions

Pekka Paalanen ppaalanen at gmail.com
Thu Feb 22 08:32:28 UTC 2018

From: Pekka Paalanen <pekka.paalanen at collabora.co.uk>

I have the feeling that we would benefit from a documented process on
how to propose cross-desktop extensions. Right now, contributors may
send a proposal to wayland-devel list only, be met with complete
silence, and walk away frustrated.

I believe it is wrong to expect Wayland upstream developers to judge
desktop extensions unless they are also desktop developers. At least
personally I lack the knowledge to properly evaluate desktop extensions,
and even if I didn't, I could not speak for the projects who would need to
carry the actual implementation.

Desktop developers might see wayland-devel as not-our-turf, so it is
easy to just ignore the emails, and they might get lost between all the
other traffic there.

To avoid the deadlock silence of "not my concern", I propose we set up a
guideline to explicitly contact the most influential desktop projects,
and list their contact information.

Another important part of the guideline is how to formulate the
proposal. I attempted to write down the question so that it would be
relatively easy to answer without mandating a considerable review
effort. Getting the first "good idea"/"bad idea" comments is what should
get the ball rolling.

Complete review of an extension proposal from multiple parties should
not be necessary to have the extension land in wayland-protocols as an
unstable protocol. If projects are in general positive for a proposal,
it should land in wayland-protocols as unstable. At this stage we would
expect projects to start picking it up at their own pace (e.g. by the
original developer submitting implementations), seeing how
implementations fit them, and propose changes - since the extension is
unstable, it can be revised freely. However, the requirements for
declaring an extension as stable should include explicit reviews from
several projects.

Signed-off-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
 CONTRIBUTING | 63 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 Makefile.am  |  1 +
 2 files changed, 64 insertions(+)
 create mode 100644 CONTRIBUTING

new file mode 100644
index 0000000..ab729b2
--- /dev/null
@@ -0,0 +1,63 @@
+		Contributing extensions for the desktop
+Wayland-protocols has a requirement for contributed extensions to be generally
+useful. This excludes extensions that are not expected to be used outside of a
+single compositor and/or toolkit project. For desktop extensions this means
+that a proposal needs to have support from multiple projects.
+When proposing a Wayland protocol extension with the intention to make it a
+cross-desktop standard in the long run, it may be hard to get sufficient
+feedback. To help gauging support for the proposal, one should present the
+following question to the desktop related projects:
+	Would you accept and merge an implementation of this Wayland protocol
+	extension, if that implementation met your project's quality standards
+	and some other projects agreed to do the same?
+This question avoids the pitfalls of demanding work from others, like
+demanding them to carefully review your proposal or demanding them to
+implement or promising to implement it. Such demands are often ignored due to
+priority reasons. Instead, the point here is to get an acknowledgement on
+whether the proposal is a good idea.
+The proposal with the above question should be posted to all of the below to
+gather sufficient attention. The list in alphabetical order:
+	Enlightenment
+		(contact missing)
+	EFL toolkit
+		(contact missing)
+		(contact missing)
+	GTK+ toolkit
+		(contact missing)
+		(contact missing)
+	Qt toolkit
+		(contact missing)
+	Wayland development list
+		wayland-devel at lists.freedesktop.org
+		https://lists.freedesktop.org/mailman/listinfo/wayland-devel
+		requires subscription
+	XDG development list
+		xdg at lists.freedesktop.org
+		https://lists.freedesktop.org/mailman/listinfo/xdg
+		requires subscription
+Note, that Wayland upstream maintainers cannot in general help with getting
+desktop extensions approved. The buy-in must come from the desktop projects,
+both server and client side, themselves. No-one can force them to accept an
+extension. Wayland upstream is merely a gatekeeper to wayland-protocols
+Once there is sufficient cross-desktop support for a proposal, the Wayland
+maintainers can accept the extension into wayland-protocols.
diff --git a/Makefile.am b/Makefile.am
index 4b9a901..5fe46a7 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -33,6 +33,7 @@ nobase_dist_pkgdata_DATA =							\
 dist_noinst_DATA =								\
 	$(sort $(foreach p,$(unstable_protocols),$(dir $p)README))		\
 	$(sort $(foreach p,$(stable_protocols),$(dir $p)README))		\
 noarch_pkgconfig_DATA = wayland-protocols.pc

More information about the wayland-devel mailing list