Comment 28 for bug 882274

Tal Liron (emblem-parade) wrote :

On 10/30/2011 08:15 AM, Mark Shuttleworth wrote:
>> Yeah, it's hard work to include the community. It takes a lot of time.
>> Welcome to free software! Mark, you set the ball rolling, but perhaps
>> the project you created doesn't have what it takes to face the
>> consequences of managing free software in the long haul. Let's fix this.

> Do you seriously suggest I don't know anything about free software, or
> working to include the community?

No, but I'm suggesting that this is a point where your patience has run too thin and you refuse go the extra mile.

I can't believe it makes you feel good about Ubuntu to witness these "riots," as you call them. You have to admit that something isn't working quite right: on the one hand, the Ayatana mailing list is open for everyone to read, but on the other hand, there seems to be a lot of miscommunication and misunderstanding of what goes on "inside." Perhaps you thrive on antagonism, or perhaps you have convinced yourself that loud detractors are inevitable and harmless to any large projects. But I know that if this were my project, and I were reading some of the comments, I would feel a sense that something is broken.

I believe this situation is fixable, or I would not have opened this as a bug.

I read your blog and have been following Ubuntu for years. You have injected your persona into the project, so, like or not, you are going to get some personal attacks. I would imagine you're used to that by now. But, it's that particular role you fulfil that makes me wonder if you're the right man to be managing or even opining about the community process. In your engagement of the community, you are too easily tempted to confrontation. Everything is going to go downhill once you start calling our requests "selfish."

I see the conflict of goals as analogous to that between QA and the programmers: there's a reason you don't want the programmer doing the usability testing. The programmers will, unknowingly, test only what they know is working. Their imagination is constrained by the challenges of their work. Ubuntu is in some ways your personal project: you are predisposed to get overly defensive and even testy when its direction is criticized.

There's been a discussion in this bug about whether Unity should gain a feature or two. At first I thought this discussion was distracting (like you, I see that a decision has been made and would like to just move on), but it's actually instructive in seeing how you respond to the community: you carefully tell us why we are wrong, that we don't have a clue how developing software really works, and suggest that we leave it up to the adults to do things properly. Unsurprisingly (to me, at least) this condescension only causes more angst.

Let me give you an example of going this "extra mile."

My pet bug is the movable Launcher bug. I love Unity! Love it on my netbook and laptops, and on many desktops I use in various places. I love how it combines my favorite desktop UI elements from recent years: the Windows-7-type icon-based launcher, the Quicksilver-like keyboard-based launcher/finder, and finally cleaning up that miserable mess that was GNOME 2's panel. I particularly love how Dash unabashedly values the keyboard at a time when many desktops are embracing touch at the cost of usability. (It takes so many clicks to get anything done on GNOME Shell.) The clean use of screen real estate is easy on the eyes. And I do love that I don't have to fiddle with settings to just getting work done. (As a side note, I also deploy large-scale grids on Amazon's EC2, and swear by Ubuntu server there.)

So why would I need to move the Launcher? Unity is broken on my main multi-monitor setup, and I would say it simply does not support multi-monitor except in a few extreme cases. Or, I can twist my neck to my leftmost, bottommost monitor every time I need to launch an app, and break my neck. Also, my native language is read right-to-left. Over the years, I have gotten used to this working poorly on computers, and simply use English, but not everyone in my community can do this. (There are murmurs that Unity might support "mirroring" as a solution for RTL languages. I cringe at the thought; it has always worked miserably in Windows.)

Mark, you closed that bug with a curt "won't fix" and called us a bunch of whiners. It's really that more than anything else that caused the "riot," as you call it. Going the extra mile would be to acknowledge the problem, and tell us how you're planning on addressing it. I can't see how the multi-monitor problem can be fixed without moving the Launcher, but it may be my own failure of imagination.

( Note: I created this guide as a workaround: . I've also downloaded the Unity source code and evaluated the effort it would take to patch it, which in my opinion is not too much due to the high quality of the source code, though I'm not going to waste my time on learning Nux now that it's clear that patches will be rejected. )

Truthfully, though, even that extra mile could be pushed further. The "won't fix" explanations make sense, but smack of that conflict of goals I mentioned. You end up being overly earnest in your effort to defend the work of programmers and testers from the horrible nightmare of Extra Features.

I understand your explanations about how apparently small configuration options add considerable more work for programmers, designers and testers, work that will be carried as a legacy into the future. Give all of us some credit for understanding that. We're not all programmers (though many in the community, like me, are) but we're adults who understand what a project is. And, in a project, when work needs to be done, then it needs to be done, and that's that. I manage several free software projects, and sometimes my heart does sink when I see a feature request that I just know is going to cost me weeks of work now and into the future to solve. So, I buckle down and do it, and if that delays the next release by a month, so be it. It would be a stronger release. (And I try to uphold the "C philosophy" of not requiring users to pay for features they don't use, to make sure it's only added benefit and not bloat.) Or, I put the bug in the backburner and give a reasonable timeline by which it would be fixed. I sometimes fail in judgement, and sometimes mini-riots do result. So I try to find a compromise that values the community. If I had the money, I would hire someone else to handle the community for me, because I know that in my role I'm predisposed to overly favor the "insiders."

I also understand and enjoy the advantages of simplicity. Too many configuration options end up wasting time. (I dislike KDE.) But, I think we're all used to and appreciate seeing an "Advanced" button on software that switches from simple to more sophisticated. Users who hate "Advanced" stuff, and the morass of conflicts and time-wasting cycles that it entails, will never click on it, but may be comforted in knowing that therein are solutions to problems they might have later on. I can share the same anecdotes you have heard from everyone else: everything works fine with Unity until it doesn't, and then the user is dismayed to find out there's simply *no* solution to the problem, not even one that a programmer like me can apply. My approach so far has been to say that Unity is very new, and that these issues will likely be fixed in the next release. That worked in Natty, but is harder to swallow for Oneiric. But, then, "won't fix" means just that. And at that point, it's very hard to get users to switch to, say, XFCE: they are in love with the Launcher and Dash.

So, yeah, I'm worried, as are many of us. And I haven't heard anything yet to reassure me except "trust us and our process."