Before I talk about the architecture committee, let me just say that I think the idea of MediaWiki 2.0 is off-topic and should be moved to a different thread.
/ontopic
At this point I’d like to contribute a little bit of my experience from working on the Architecture Committee at Chase Auto Finance. At JPMC our committee was perhaps the most orthodox definition of an architecture committee: our authority was enforced. Yes, we were still responsible to the company and the business, and we could not simply veto new features, but nonetheless it was considered an absolute requirement that before any dev team even began _thinking_ about how to implement their new project, they submit a proposal to the architecture committee detailing how the new feature / project would affect other projects, etc.
And I think this is a pretty important concept. As Tim has mentioned, right now we don’t have an architecture committee. What we have is a group of five people that sometimes have IRC meetings and discuss stuff. Sometimes a #agreed is slapped on top, for w/e that is worth. But going through the committee is not a requirement. If Erik or whoever your’e working for gives a green light, you can go right past it. Hell, even if I myself were to do some work on my own and submit a patch directly to Gerrit, it could go through without ever seeing the committee.
If we are really worried about the future of MediaWiki and its technical debt (which, in my opinion, we should be, considering it is growing exponentially by the day), then a formal organization needs to be established. This committee should report to the WMF as usual, but it should also have an authority of its own. New features cannot be implemented without the approval of this committee. Period. +2ing a new feature that was not approved could result in you losing your +2, etc.
However, maybe this isn’t the best thing to do? As other people mentioned, consensus is a really cool thing, and sometimes it’s just better for the community to decide as whole. But I can tell you right now it’s not going to work. And the reason is this: sometimes the community becomes divided. Sometimes we can’t come to a consensus, and other times we do but the consensus is in opposition with what the WMF wants. In all of these scenarios where we cannot make up our minds, what is going to happen (or rather, what has already been happening), is that somebody in the WMF, or maybe just somebody in general, is going to be WP:BOLD and make the decision themselves. Then somebody who maybe agrees with them is going to +2 it, and the rest of the community will silently shrug and move on.
There is a place for consensus and discussion, but other times you really just need a group of people whose job (or, if you’re not hired by the WMF, responsibility) it is to make software design decisions. And if the community as a whole ever disagrees with the committee’s decision, maybe we have a process for overriding the committee (or a process for impeaching the committee members). It’s similar to the English Wikipedia: why do they have an arbitration committee, whose members are elected, in a community that doesn’t like voting and prefers consensus?
Of course, there is some discussion to be had on the exact definition and process.
* The Big Question(tm): Do we want the committee in the first place? * Who will be on this committee? * What processes are there for people to be added or removed? * What is the process for submitting ideas to the committee? * Is the committee split into sub-committees, where each sub-committee is in charge of a different topic or area of expertise? * Are sub-committees broken up based on generic concepts, e.g., databases, UX, or are they broken up based on areas of MediaWiki, e.g., Parser, FileBackend? * Is the main committee required to approve everything, or can sub-committees approve on their own unless they feel the need to defer to the main committee? * Can people who are not on the committee itself be in sub-committees? * If so how are the memberships of subcommittees selected? * What is the committee’s authority and what are its responsibilities to the WMF? * How does the committee interact with other organizations, like the MediaWiki User Group, the on-site Wikipedia community, etc.? * When do aforementioned other organizations get a say in the process?
As mentioned, MediaWiki is not an open source community at the moment. It is an engineering organization that just happens to have open source contributors. And it is because of this that our technical debt has been increasing. (Like the age-old joke that we should rewrite MediaWiki in node.js, but look, for some reason we are actually using it in parts of our new products!)
Anyway, that’s really the end of my rant. In the end, I do think a committee is necessary for the future of MediaWiki as an open source software project, but it is something that should be created with a lot of thought and planning, rather than just throwing five people into a room and telling them to get to work.
-- Tyler Romeo 0x405D34A7C86B42DF