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

Attachment: signature.asc
Description: Message signed with OpenPGP using AMPGpg

_______________________________________________
Wikitech-l mailing list
Wikitech-l@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/wikitech-l

Reply via email to