Anglo-Imperialism

Over on the dot, the response to the re-naming of Ian's video player has elicited a very different response to that which occurred when he announced it on PlanetKDE.

Now, like most things where the decision is totally inconsequential, bikeshedding runs amok, but amongst all of the bikeshedding there was one unusual complaint, posted by "Gerd", entitled "Anglo-Imperialism". It reads: "Why do every programs get renamed with english names? English dominates the IT industry far too much. KDE had a time when it made a difference."

I would like to attack this from two angles: one from a sort of linguistic point of view, and another from a KDE Marketing point of view.

As one of the folks replying to the original comment on the dot already pointed out, English is the modern Lingua Franca. KDE was conceived in English, but not because it was Matthias' first language. You see, KDE was created by a bunch of Germans who were using a Norwegian toolkit living on top of a kernel written by a Finn and a graphics server mostly developed in English. The common thread is that everyone understood English, and so that was adopted as the de facto means of communication within the project.

To this day, most of the KDE infrastructure is in English, from our main conferences, to mailing lists and chatrooms, to the API and debug output. This does not mean that we operate to the exclusion of other languages. We've actively designed KDE from the beginning to facilitate translation of as many parts that could be reasonably finished between releases. This includes translation of strings, sound effects where required, images with built-in text, documentation, and more. But we also have communities that exist for almost all of the languages where KDE has been translated, either via IRC, social networking sites, mailing lists, user blogs, forums, and more. Most of these services are not something that was consciously enacted by the core of KDE, but something that has resulted from the fact that KDE is well translated in a number of languages enabling a community to grow around these sites.

Now, despite the fact that there are vibrant KDE communities in many languages, there are still barriers of entry to KDE. The API is in English, which requires documentation in other languages in order to understand. Troll Tech has put a lot of care and effort into ensuring that things like bi-directional text work seamlessly in Qt, but at the same time, their API docs are really only maintained in English (unless they have them hiding somewhere on their website beyond the initial probings of google). This means that in order to contribute to KDE, you must know a little english, or at least, enough to wade through some technical documentation. This doesn't mean that it is impossible to write code in another language for KDE, as is seen in Basket Notes which uses French for its internal language, this just means that there is a barrier of entry to becoming a KDE contributor.

Now this is unfortunate, but there isn't much we can do about it. I've seen proposals to translate the Qt/KDE API's using a series of macros which could be retranslated into English at compile time, but maintaining these would just add more strings to the translation team's workload, when some of them get bogged down with just the strings. It would also create an interesting debugging situation where the debugger would still only see the English strings.

Additionally, since we use English as our main language of communication, bug reports which come in from other languages are sometimes totally ignored, or poorly translated using automated tools like Google's translation services. The problem is that finding someone to translate all the bug reports is a big task. Now imagine that you are a coder speaking Swedish, but not English, and the bug report comes in Russian.

So choosing English may suck, as there are other languages out there that are more elegant, sound nicer, require less work to learn, and so forth, but since English is very widely known as a second language, it helps to reduce the problems of communication. Unfortunately, knowing a little English seems to be the barrier of entry into the KDE community. Fortunately, almost everyone in the KDE community has English as a second language, and understands the difficulty in learning it in the first place. We are extremely patient with people that do not speak English well, and as many KDE hackers can attest, will happily help you improve your English while communicating with you about KDE.

So are we then helping to propagate English, which some people see as a language with roots in imperialism? Well, yes. But we aren't doing it because of imperialism -- in fact, KDE and software libre is very much running counter to the notion of imperialism in its very nature -- but we are stuck with English as a language of communication, and by using it, we are further propagating its use on a global scale.

On a personal note, I love languages. I have been studying French for large parts of my life, and will be starting to learn Russian next Fall. In my line of work (earth sciences), there are a few languages that are the most valuable for international communication in the field. In this field, Russia knows quite a bit, and to me, I am learning what I need to in order to make my contribution. The same can be said about people learning English to help KDE.

Now that I've talked linguistics for a bit, let's look at the marketing angle for a moment. In India, there are something like 33 official languages; in the EU, 23 official and dozens of regional languages. IF we can get KDE translations in all of these languages by having local translation teams that are effective and persistent, this can be KDE's biggest advantage over closed software. For example, if KDE is available in a small Indian language that is only spoken in a very small region of India, and their schools need computer software - well, if KDE fits the bill, they are very likely to choose it over commercial offerings, which are often translated into no more than 4 of India's 33 languages. If we win the governments and education systems on account of languages, software libre can reign supreme, and that can all happen using KDE!

If we want KDE to win, we need to tackle translation and languages. We need our API docs available in translation (you too, TrollTech), and we need to recruit translators. This means reaching out to any KDE users that speak English and who also know another language. This may mean developing a translation system for KDE that lets us translate via the web (much like Canonical's Rosetta, which is unfortunately closed and proprietary). And this means ensuring that the distros get their translation efforts upstream to KDE, not to help their competition, but to help spread software libre to all of the ends of the earth.

Now this brings up one other anecdote before I leave this rant... In the US, there is the perception that KDE is an also-ran. This comes from the public popularity of Gnome-centric distributions like Ubuntu, Redhat, and even Sun, among others. I hear comments (on slashdot) made by americans that believe that KDE is dead because 'they don't know anyone who uses it'. But like I said, I'm not too upset about Gnome's popularity in the US. At least its open source, and the change in paradigm helps KDE too. As a KDE Marketing type, I am not going to spend any time trying to win the US Gnome users back to KDE - I'd much rather win new users to open source via KDE than cherry pick from our friends -- and I'd much rather win a village of school-children in India who are being shafted by expensive software licenses and translations in languages that are not their own, than to gain a town of yankees who can already get software in their own language, and afford to waste their money on stuff that comes out of the "big two" :) So to come full-circle to the original comment: KDE really can make a difference!

So there we go - some thoughts on English, translations, and KDE's success outside the US. Just a reminder, the translators have about one week left until tagging of 4.0.0 :) Strings are probably the priority at this point (as opposed to docs), but you best ask your translation coordinator in your language, or tsdgeos :)

Cheers