Some perspective from the cheap seats...
"David Wexelblat" <[email protected]>
| Newsgroups | gmane.comp.xfree86.forum |
|---|---|
| Message-ID | <007801c2ef32$321b7a20$89b2a5ac@TANTHALAS> |
Let me throw some perspective into this discussion. This is a completely personally-biased diatribe, me speaking as me, not me speaking for XFree86. Please read through ALL of this, then quote/reply/flame away on whatever part(s) you disagree with... History Part I -------------- Some of you may be too young to have any idea who I am. I, along with David Dawes, Jim Tsillas, and Glenn Lai, created XFree86 a little less than 11 years ago. I have been basically inactive with XFree86 for a goodly number of years now, but remain on the Board of Directors, and lurk on the Core Team. I care very much about this project and the people involved, and pop my head up once in a while to kibbitz when necessary. It's necessary now. I'll come back to history in a little bit; it's important. The Keith Issue --------------- What Keith has done is among the most low-class, unprofessional, and tactless things I have ever experienced in my professional career. While still a member of the XFree86 Core Team, he has explicitly attempted to subvert XFree86 by soliciting individuals and corporations to create an alternative to XFree86. Including inviting certain Core Team members to join him. At no time did Keith ever discuss his issues with the Core Team or Board of Directors. When confronted with his actions earlier this week, he blatantly lied to the Core Team about what he was doing. When his solicitation email was sent into the Core Team list, showing the blatant lies in his previous assertions, he stopped responding. If Keith felt that XFree86 was so badly broken that it needed to be replaced, he should have had the professional integrity to resign and go do his own thing. For Keith to blatantly lie to the Core Team about what he was doing is utterly unacceptable. There is an email thread documenting this. Some members of the BOD wanted to post the email, or quotes therefrom, with the announcement. I and some of the others were utterly uncomfortable doing that. I don't think anyone on the BOD or Core Team would have any issues with an independent audit of this email thread, if there are concerns about the veracity of what I say, but airing that in public isn't appropriate, IMHO. Bottom line, in my opinion, is that what Keith did is unacceptable on its face and he deserves to be held accountable for it. So he's out. The Governance Question ----------------------- So why is it that everyone feels like they can tell XFree86 how to run their project? This I cannot fathom. XFree86 is far more open than some Open Source projects; far less open than others. Linux itself has an incredibly small number of people who decide what goes in the kernel and what doesn't. Each of the distribution vendors deals with their own version of the kernel; they maintain it themselves, contribute fixes/changes back, some of those fixes/changes are accepted into the official kernel, and some aren't. Yet people somehow believe that XFree86 has to let anyone push any change they want into the source tree, period, and if we don't do that, we need to go. That's silly. The root of the governance question that Keith and his compatriots are after is VERY simple, based on two points: - Keith needs to lead - anyone who questions is wrong. The way the XFIXES extension was handled should really prove this to everyone. You don't blindly commit server extensions without discussion with either the development community or the Core Team. - Commercial enterprises, one of which Keith represents, should be given special dispensation to change XFree86. They should be allowed to commit changes, be represented on the Core Team, etc, simply because they make money from X-based products. Keith claims that he wants to empower individuals, but I think that's a crok, based on his statements and actions (there are more email threads to back this up, if need be). Keith wants to empower (a) Keith and (b) certain commercial interests. History Part II --------------- Back when XFree86 came into being, the keeper of X was the MIT X Consortium. XFree86 came to be because X11R5 was released with a bunch of bugs on x86 platforms, and some of us wanted to fix them. I proposed the four of us put that work together into a single fix package. We tried to feed this back to the X Consortium, tried to align with the X Consortium, etc, but it was impossible. The reason it was impossible was the X Consortium by-laws only recognized corporate membership. There was no concept of individual membership. So XFree86 became a de-facto branch of official X, supporting platforms that weren't supported by the official versions, and fixing things for which public fixes were never made. After a while of doing this, we decided that we REALLY needed to get a voice in the X Consortium. The XFree86 Project, Inc was incorporated for one reason and one reason only - to create a corporate entity by which we could obtain membership in the X Consortium, and to manage the contributed funds that paid for it ($5000/year at the time). The XFree86 BOD is the BOD of this little corporation. XFree86 has always been a meritocracy - you moved up the food chain by working your ass off. We used to be VERY closed, with several levels of teams (Core, Alpha, Beta), required commitments, signoffs, etc. David has eliminated most of that, except for the Core Team, which remains a meritocracy. Core Team members have come and gone; a very small few have gone inactive and lurk (like me), but most just go away after they get bored. [An interesting side note, for those who are uncomfortable with the Core Team name, is that MANY Open Source projects use the term Core Team for their leadership, and AFAIK, they all got it from us - FreeBSD was the first one I can think of] Becoming a Core Team member has largely been a matter of someone on the Core Team proposing adding someone who's been active, and if no one objects loudly enough, they're invited. We've had people decline the invitation - they feel there's a responsibility to it. In our meritocracy, it has always been INDIVIDUAL merit, with no recognition of association, employer, whatever. Simply what that individual has contributed to the project. There is one, and only one, exception. A few years back, we had a pretty high representation of S.u.S.E. employees on the Core Team, and it made me uncomfortable. I pushed hard to have a Red Hat employee added to the Core Team, to address what I perceived as bias. Which we did, over the objections of several other Core Team members. It was pointless. This person did nothing whatsoever (that I can recall) except take half-finished development stuff and put it in Red Hat distributions, leading to a number of support issues for both XFree86 and Red Hat. More On Governance ------------------ What Keith appears to be trying to create harkens back to the days of the X Consortium, The Open Group, and the initial rounds of X.Org, where corporate/commercial representation won the day. We are not interested in that. Nor do I think anyone should be. I believe that all Open Source projects are best lead by a meritocracy. The concept of the community voting for membership in the leadership of the project is an almost, if not totally, non-existant concept in the Open Source world (feel free to show me examples). I'm not talking about advocacy groups, like Linux International. I'm talking about development projects. XFree86 has no interest in this, as far as I can tell. Now, for the questions of "who defines X", this is a very interesting question. Formally, officially, X.Org defines X. But as far as most of the world can tell, they've abdicated, and so XFree86 de-facto defines X (at the moment). Is this how it should be? That's a very important question to be answered. XFree86 was never about "defining X". It was about "fix what's broken, and support some new devices and platforms". Only relatively recently did XFree86 wind up defining X. I think it's a VERY important discussion to have. And I hope it's what happens in this forum. It is my personal opinion that "defining X" really belongs with an organization that enjoys formal standards, verification suites, etc. My personal suggestion would be for LSB to take it on. I think XFree86 is better left building/fixing X than defining it. But that's my opinion, and I don't even use X, so it probably counts for nothing. On Branches ----------- I personally believe that branches are a healthy thing. If you go back in the history of XFree86, you will find that there have been a number of branches (the first of which dealt with developing support for graphics accellerators, and was also caused by a difference in philosphy). Some of these branches have merged back, some have died off, some continue. Many of the things that Keith wants to work on would probably be suited to branching XFree86. I'm not sure if others agree with me on this; to be seen. But I think branches are reasonable for developing new extensions, new devices, new models, etc. But what Keith is doing, at least how he's handled it, is just flat out wrong. It's literally dishonest, and morally repugnant. Doesn't mean that there aren't some valid issues to work, or that there is no need for branching, but (a) it remains to be proven, and (b) I'll be damned if I'll quietly accept it being done by someone who is lying to my face. The downside of branching is dilution of an already limited resource pool, and creating problems for those that depend on a stable platform (distribution vendors, IHVs, etc). So branching needs to be done carefully, and for well-defined purposes. Like targetting fundamentally different platforms/audiences, or experimental work that is intended to be folded back. On Who Works On XFree86 ----------------------- Another thing to note is that XFree86 has dramatically less commercial support than just about any "cornerstone" Open Source project. Maybe that's because of our "meritocracy" and focus on individual contributors; I dunno. I know that these companies have LOTS of people working on Linux kernels, databases, desktops, whatever, and bloody few pay very many to work on X. So it mostly falls to a very small handful of people. Who are pretty much volunteering, and doing what they can when they can. For example, the whole noise about bug tracking. Rather than venting forever at David Dawes and XFree86 not having a tracking system, why not just shut up and pay someone to do it? If David has to choose between spending his time on release management and bugzilla, he's gonna work on release management. Etc, etc, for whatever the volunteers choose to work on. For many of the things commercial entities complain about, I say "put up or shut up". On Changing XFree86 ------------------- Which is not to say that there aren't things to change. Things have changed a LOT in response to criticism. Some of us think David has over-reacted in some of his responses, some think he hasn't gone far enough. But one thing is the case - David Dawes is the leader of XFree86. He is the leader by vote of the Board of Directors of the corporation, and he is the leader of the Core Team by unanimous consent. For all the discussion there has been about issues and changes (and there has been a bunch of discussion), no one has asked David to step down or change the way he's doing things. Is there more to change? Yes. - I believe we do need more committer access. Not open access, but more committer access. Mostly to reduce load on the people who are currently responsible. I believe this is already in progress. - We need to work on more efficient releases. This is in David Dawes' hands almost exclusively, and we need to find a way to help him out. - We need to sort out the who-builds vs who-defines issues. Openly and not underhandedly. But there are things that don't need to change: - There is no reason for XFree86 BOD matters to be public. The XFree86 Project, Inc is a privately-held corporation. - There is no reason for Core Team matters to be public. This is the leadership forum, not a public forum. - There is no reason to change the meritocracy, other than to work on promoting sufficient people through it, of sufficient skill/quality/integridy to get the work done. On The Future Of X ------------------ A number of people has questioned the relevence of X in general. To be perfectly honest, I'm one of them. I've even pissed off Keith and many others on the Core Team by pointing out that X is obsolescent. I've been working in the Windows world for years now, and client-server display systems are utterly irrelvent to the majority of real-world computer users. X needs to be replaced by a direct-rendered model, on which a backwards-compatible X server can be reasonably trivially implemented. But that's my opinion. On DWex Shutting Up ------------------- Never happen. :-) Seriously, though - I await your responses. -- David Wexelblat, Chief Architect mailto:[email protected] America Online, Inc http://www.aol.com/ 44900 Prentice Drive - 24B:P08 (703) 265-1158 (voice) Dulles, VA 20166 (703) 265-1301 (fax) Please send private email to: mailto:[email protected]