I've gotten some heat about my posts on a thousand points of light and more light. For example, a Jabber friend of mine pointed me to a thread over at the Psi forums in which someone claimed that I am calling for "one client to rule them all". Far from it. What I'm calling for is the development of a reference implementation, which Wikipedia defines as "a software example of a standard for use in helping others implement their own versions of the standard". One reason for developing a reference implementation is to make it easier for others to develop their own implementations, which is why I think Python would be the best language in which to write the reference implementation (Python is relatively easy to learn, easy to read, easy to understand -- at least compared to, say, C++). A reference implementation of the Jabber/XMPP protocols won't necessarily be production-quality on the server side or especially slick on the client side -- it might be, but that's not the primary point. I still firmly believe in letting a hundred flowers bloom and the free marketplace of code. But we need to make it easier for developers to create implementations of protocols such as Ad-Hoc Commands, SOCKS5 Bytestreams, and the stringprep profiles defined in XMPP Core. It seems to me that reference implementations (server, client, and library) could go a long way toward making that a reality.
Peter Saint-Andre > Journal