By Jonathan Corbet
March 27, 2013
The Wayland project, which seeks to design and implement next-generation
display management for Linux and beyond, does not lack for challenges. The
project is competing with a well-established system (the X Window System)
that was written by many of the same developers. It is short of
developers, and often seems to have a hard time communicating its reasons
for existence and goals to a somewhat skeptical community. Canonical decided
to create its own display manager for Ubuntu rather than work to help
improve Wayland, and Android has yet another solution of its own. About
the only thing the project lacked was a fork and internal fighting — until
now. The story behind this episode merits a look at an example of the
challenges involved in keeping a development community healthy.
Scott Moreau is an established contributor to both Wayland (the protocol
definition and implementation) and Weston (the reference compositor
implementation for Wayland). A quick search of the project's repositories
shows that he contributed 84 changes to the project since the beginning of
2012 — about 2% of the
total. Until recently, he was an active and often helpful presence on the
project's mailing lists. So it might come as a surprise to learn that
Scott was recently banned from the Wayland IRC
channel and, subsequently, the project's mailing list. A simple
reading of the story might suggest that the project kicked him out for
creating his own fork of the code; when one looks closer, though, the story
appears to be even simpler than that.
Last October, Wayland project leader Kristian Høgsberg suggested that it might be time to add a
"next" branch to the Weston repository for new feature development. He
listed a few patches that could go there, including "Scott's minimize etc
work." Scott responded favorably at the
time, but suggested that Wayland, too, could use a "next" branch. It does
not appear that any such branch was created in the official repositories,
though. So, for some months, the idea of a playground
repository for new features remained unimplemented.
In mid-March 2013, Scott announced the creation
of staging repositories for both Wayland and Weston, and started responding
to patch postings with statements that they had been merged into
"gh next". Two days later, he complained that "Kristian has
expressed no interest in the gh next series or the benefits that it
might provide" and that Kristian had not merged his latest patches.
He also let
it be known that he thought that Weston could be developed into a full
desktop environment — a goal the Wayland developers, who are busy enough
just getting the display manager implemented properly, do not share.
The series of messages continued with this
lengthy posting comparing the "gh next" work with the Compiz window
manager and its Beryl fork, claiming that, after the two projects merged back together, most of
the interesting development had come from the Beryl side. Similarly, Scott
intends "gh next" to be a place where developers can experiment with shiny
new features, the best of which can eventually be merged back into the
Wayland and Weston repositories. Scott's desire to "run ahead" is seen as
a distraction by many Wayland developers who would rather focus on
delivering a solid platform first, but that is not where the real
discord lies.
There was, for example, a certain amount of disagreement with Scott's
interpretation of the Compiz story. More importantly, he was asked to, if
possible, avoid forking Wayland and making incompatible protocol changes
that would be hard to integrate later. When Scott was shown how his
changes could be made in a more cooperative manner, he responded "This sounds great but this is
not the solution I have come up with." Meanwhile, the lengthy
missives to the mailing list continued. And, evidently, he continued a pattern of behavior
on the project's IRC channel that fell somewhere between "unpleasant" and
"abusive." Things reached a point where other Wayland developers were
quite vocal about their unwillingness to deal with Scott.
What developers in the project are saying now is that the fork had nothing
to do with Scott's banishment from the Wayland project. Even his plans to
make incompatible changes could have been overlooked, and his eventual
results judged on their merits when the time came. But behavior that made
it hard for everybody else to get their work done was not something that
the project could accept.
There is no point in trying to second-guess the project's leadership here
with regard to whether Scott is the sort of "poisonous person" that needs
to be excluded from a development community. But there can be no doubt
that such people can, indeed, have a detrimental effect on how a community
works. When a community's communication channels turn unpleasant or
abusive, most people who do not have a strong desire to be there will find
somewhere else to be — and a different project to work on. Functioning
communities are fragile things; they cannot take that kind of stress
indefinitely.
Did this community truly need to expel one of its members as an act of self
preservation? Expulsion is not an act without cost; Wayland has, in this
case, lost an enthusiastic contributor. So such actions are not to be
taken lightly; the good news is that our community cannot be accused of
doing that. But, as long as our communities are made up of humans, we will
have difficult interactions to deal with. So stories like those outlined
above will be heard again in the future.
(
Log in to post comments)