oreilly.comSafari Books Online.Conferences.


12 Months, 25 Men, One Woman and a Dictionary

by Aidan Mark Humphreys

I've been playing with Ruby a lot recently. Ruby is Yukihiro Matsumoto's clean, sweet programming language and, right now, Ruby is just about my favorite toy. One of the esoteric pleasures Ruby offers is the Application Archive -- a Babylonian labyrinth of programming goodies contributed by Ruby fans from across the world (or more accurately Japan and not-Japan).

If you speak English but no Japanese don't worry. Non-Japanese readers are well cared for. Nearly all the Japanese contributions include English or quasi-English documentation. Needless to say, virtually none of the contributions from outside Japan include Japanese-language documentation.

I choose to mention Ruby since it's a rare example of an open source project driven from Japan, spanning into the Anglophone world which has not acquiesced into using English as a common language. Yet, as befits a Japanese project, harmony prevails. Ruby users are a pleasant bunch, often wryly amused at their mutual incomprehensibility and pragmatic in their approach to communication. Whereof we cannot speak clearly, thereof we must use code.

This got me thinking about projects closer to home. Anyone who has worked on an open source project will be aware that engineering the community is as least as important a task as engineering the product. Decisions and direction require argument and persuasion, which are not easy things to achieve when the communication medium is a mailing list.

English is, to be sure, the closest thing we have to a lingua franca for software engineering. One of my involvements, the PHP-based PostNuke CMS Project, has over 200 developers from -- well, just about everywhere, with English as a common language. But there are many talented developers who, whilst quite happy to read the latest W3C spec or RFC, do not feel confident enough of their Franglais, Singlish, or Ginglish to hold their corner when flame wars break out.

As a measure of isolation I conducted a mock survey at The site is language switchable to an impressive 23 natural languages, but a quick search for the German word "projekt" drew two pages of results. A search for "project" yielded ... well, so many pages that I gave up counting.

Let's immediately banish the thought that non-Anglophone developers are inactive or not innovating. It's just that their projects tend to suffer from a lack of bridges into the larger Anglophone open source community.

Related Reading

Ruby in a Nutshell
By Yukihiro Matsumoto

I came a cross a good example of this recently while conducting a survey of PHP HTML-template engines for the PostNuke project. If you are interested in this area you are probably familiar with Smarty, FastTemplates, and PHPLib Templates, but have you ever heard of ModeliXe?

ModeliXe, pronounced Model-X, is a PHP open source tool for creating dynamic content. You can find the ModeliXe Web site at

It's fast, flexible and integrates well with other PHP code. Designers will appreciate its Dreamweaver support, and its codeless templates differ quite markedly from the embedded macro-languages of the other PHP template solutions. ModeliXe includes a template cache which reduces its performance overhead to near transparent. Nicest of all, it uses an XML-compliant markup, which makes it an ideal partner for XML editors and XHTML sites. A lot of people should be using ModeliXe.

French developer Thierry "Theo" Andre initiated the ModeliXe project, and it rapidly drew together a band of Francophone developers from the burgeoning French PHP community. As the version 1.0 release puts it, (tipping the hat to Claude Lelouch) "12 Mois, 25 hommes et une femme."

Burgeoning French PHP community? Sure. About 128 million people speak French as a first language. There are 10 million speakers in North America alone. Maybe your news server carries fr.comp.lang.php, mine doesn't, but Sèbastien Hordeaux's PHPEdit, an open PHP IDE is well known amongst PHP coders. From his PHPEdit site you can surf to Jean-Pierre Dèzèliu's excellent, thence to Vince Pontier's unique where in addition to lots of good PHP code you will encounter Vince's amusing but decidedly non-PC art-work. The voluptuous PHPin'ups and l'éléPHPant have become the mascots of French PHP sites. Follow his links to hundreds of other French PHP Webs.

Why isn't ModeliXe better known? Despite the nice working examples on Theo's site and a great welcoming team spirit amongst the developers, there was apparent reluctance for Anglophone developers to join the project, and non-French speakers were daunted by the lack of English documentation.

Time to get involved. So earlier this year, thumb poised on my Dictionnaire Anglais and keeping Mozilla's translate command at the ready, I decided to offer my services as a technical translator of the extensive ModeliXe documentation. My qualifications for the task might appear a little meager since I don't speak French. But I decided not to get bogged down in details like that.

OK, let me qualify my Francophone incompetence, I speak the kind of French most Brits learn in school and forget the second they escape, but I can still read a French newspaper and order a coffee. It serves, but it's nothing to boast about.

A few evenings, multiple visits to Babelfish, and the traditional dozen double espressos later, ModeliXe's French documentation was available in English.

On balance it was probably a mistake to use automatic translation software. I say on balance since, for getting the gist of things they served adequately. I wasn't surprised that the results that came back were less that perfect, but in the end disambiguation of mistranslation was probably more time consuming that using the dictionary.

Sure, a professional translator would have produced better syntax but probably would have made more technical mistakes. It was enough to give ModeliXe a leg up in its acceptance outside of France.

We noted earlier, that for distributed team projects, building the community is as important as building the product. English is often used pragmatically as a common communication language; however, Anglophone developers cannot afford to stand back from the process of building bridges over the language barriers.

There are two traps we should try to avoid. One, the non-Anglophone developers and the good stuff they produce suffer from lack of exposure outside of their direct community. If you speak another language, even poorly, get involved either as a developer or translator it's fun.

Finally, the Anglophone open source movement should not fall for the idea that it IS the open source movement. Speculate for a moment on how the world would look if Mr. Torvalds preferred to email in Finnish or MySQL's Swedish developers hadn't also been fluent English speakers.

Aidan Mark Humphreys is a bass player and programmer. He works as a consultant in Frankfurt, Germany, specializing in distributed systems. His Web site is

Return to

Sponsored by: