LWN.net Logo

Protecting communities

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)

Protecting communities

Posted Mar 29, 2013 12:30 UTC (Fri) by renox (subscriber, #23785) [Link]

> 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.

If you look at the timeline, Android was released with its own solution when Wayland was still in its very early phase, so I think that this sentence should be improved as it can easily be misunderstood..

Protecting communities

Posted Mar 29, 2013 18:19 UTC (Fri) by alankila (subscriber, #47141) [Link]

I read some of Scott's contributions on the mailing list and he can be rather frustrating person to deal with. He has frequently accused people of trolling, but in my judgment these people were making good faith effort to contribute or engage with development of some feature. It is not surprising that a few comments like that sour relationships.

Overall his style is 'code first', and that seems to be close to the root of the problem. He appears to find the slower and more measured pace of discussing and planning ahead frustrating.

Protecting communities

Posted Apr 1, 2013 23:41 UTC (Mon) by PaulWay (✭ supporter ✭, #45600) [Link]

One of the things I've learnt in programming is that there is a time for coding and a time for thought. If you're doing one when you should be doing the other, then you end up wasting a lot of effort. And it's more frustrating to throw away code - and therefore people end up writing kludges and ugly band-aids rather than redesign, which ultimately wastes more time.

And when everyone is saying that they need to discuss something, and you're the only one saying that you should do just write code, it's more likely that you're wrong. If you're the only one saying "hold on, let's think about this" and everyone else is just getting in and writing code, then you might be wrong and you might be right - but it's more likely that thinking about it will contribute something even if other people have gone ahead with code.

I mean this with respect: has anyone checked whether Scott has just had a manic episode? I've seen friends go through this; Stephen Fry's documentary "The Secret Life of the Manic Depressive" is an excellent explanation of both the symptoms and the life of the sufferer. This, to me (as an amateur psychologist), has all the hallmarks: just wants to get in and do stuff, doesn't care who he insults, everyone else is clearly wrong, and long, somewhat rambling posts explaining their position. This is not an insult; I'd rather see some level of support for someone that might be heading toward a big depressive episode.

Hope this helps,

Paul

Protecting communities

Posted Apr 3, 2013 0:39 UTC (Wed) by alankila (subscriber, #47141) [Link]

I appreciate the intention here, but I suspect the guy is just a plain old narcissist.

Copyright © 2013, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds