Centralization

2003-09-30

Once started, centralization seems to be an inexorable force. This is deeply unfortunate, but I have seen it in too many realms to ignore it. What is even more unfortunate is that usually centralization is positively harmful. This is as true in organizations or open-source projects as it is in political life.

Why did Europe arise as the fountainhead of Western civilization? A big part was played by polycentrism: many small countries competing for power and influence, and even within each nation many independent centers of power and even of law (civil, royal, mercantile, ecclesiastical). Why was the USA so successful for so long? In large measure, because of a federalist system wherein each individual state held much power; even at the central level (the government headquartered in Washington, D.C.) the Founders built numerous "checks and balances" (centers of power) into the system.

The last time I visited the Czech republic, I learned a new word: Pragocentrizmus. It refers to the centralization of national life in the capital city of Prague. The same happens in many countries: Paris in France, Budapest in Hungary, Wien in Austria. Other countries are more polycentric: The Netherlands, Canada, and America are good examples. I think polycentrism is a healthy thing in those countries, and "unicentrism" is an unhealthy thing in the countries that experience it. (Unfortunately, Europe as a whole is undergoing serious centralization through the EU bureaucracy in Brussels, which tends to counteract any polycentrism in member countries.)

Similarly, successful companies usually enable regional and local divisions to make decisions that take into account the particular circumstances of time and place -- they are not utterly centralized bureaucracies micromanaged from "headquarters". And large, successful open-source projects (Linux and Apache spring immediately to mind) are built atop modular architectures, with clear APIs, so that anyone with the requisite skills can write pieces that work with the rest. Imagine how slowly Linux would evolve if Linus Torvalds had to decide on every bit of code or every application that would be shipped with or available for standard Linux distributions! The same is true of something like Apache: the very existence of mod_* shows the power of modular architectures.

We see the same phenomenon in the Jabber community, I think. Some folks want the Jabber Software Foundation (ostensibly the "central power" in the community) to do more: to package a stable server distribution (including various add-on components) for most Linux/Unix platforms, to develop a standard cross-platform client, to direct more resources and pick more winners, etc. I see this as wrongheaded. We don't need to give more power to the center -- we need to build more centers of power. If someone wants to package a server distribution, I say more power to them. If someone else wants to create a cross-platform client in Java or Qt or Python (or all three!), that's wonderful. But don't grant more power to the JSF in order to get those things done: start up a new project, attract some developers, and become a center of power in your own right. This is all to the good for the community as a whole.

So my vision for the JSF is purposefully limited: focus on what we do best (protocol development), market that to our natural audience (developers), and let our customers do what they do best by building software, offering services, and the like. That doesn't mean we don't listen carefully to what end users, server admins, and other eventual audiences want out of Jabber, for we must listen in order to design the right protocols. But it does mean we do our part and enable others to do theirs.

Some would say this is anarchic. I would agree. Where we probably disagree is in our evaluation of that anarchic model. I see it as good, because the most stable orders arise spontaneously through the actions of a multitude of individuals. In the world of instant messaging, we have enough top-down totalitarian societies with central planning -- they are called AIM, MSN, and Yahoo. There's no way the Jabber community could compete with the vast resources of these monolithic systems, so we must be more nimble and agile by countering centralized planning with federated anarchy. I know which one I'd bet on every time.


Peter Saint-Andre > Journal