No techies in small projects

From Meta, a Wikimedia project coordination wiki

Revived, and better described on the page Global templates on mediawiki.org.

This problem is not new, but I don't remember seeing it written down clearly anywhere, so here it goes:

Intro[edit]

Small projects have too few people who are knowledgeable enough in the technologies used by our software to make the wiki function.

When I say "small projects", I mostly refer to projects in languages spoken by people who have less access to technology than people in Europe, North America and Japan. I also refer to projects which are written in major languages, but receive little attention from techies - I didn't measure it precisely, but my impression is that the English Wikibooks receives less attention than the English Wiktionary.

The problem[edit]

When this is combined with some limitations of the MediaWiki software, this creates several major practical problems. Probably the biggest problem is that templates, gadgets (JS) and styles (CSS) are way too hard to localize and reuse.

Put simply, if a person sees a nice useful template in the English Wikipedia and wants to copy it to the Wikipedia in her language, it is immensely hard to do.[1]

Here's a little exercise for which you don't need to know any language but English: Try to copy Template:Archives from the English Wikipedia to Wikispecies. Now imagine that you want to copy that template to the Hausa Wikipedia,[2] that you didn't learn programming at school and that you don't know English all that well.[3]

There's a similar situation with gadgets, scripts and styles, which add useful functionality, but are very hard to copy from project to project. The RefToolbar in the English Wikipedia is a notorious example of such a tool: It's not a part of MediaWiki or of the WikiEditor extension, even though it appears to be one, and it's not even a gadget. It's just a bunch of JavaScripts hacked together in the English Wikipedia. No doubt, its developers did a very good job for the English Wikipedia, but they forgot to make it reusable. There are countless others pieces of code in our projects that have the same problem.

There are some volunteers who randomly help smaller projects to import templates and scripts and to write their own. They do it when they happen to have the right mood or when they happen to have some sympathy towards that language.[4] But dozens of projects don't have such people, and in practice the MediaWiki instance that they have can do a lot less than the one at en.wikipedia.org.

The solutions[edit]

The very good, but technically complicated solution[edit]

The best solution for this would be to have something like cross-wiki transclusion of templates and to make the strings that appear in templates localizable. That way the people who want to export the template to other language will only have to translate a bunch of strings and won't have to wade through a marsh of curly brackets.

Also, the storage of JS scripts and CSS styles that are now stored in the MediaWiki namespace of all wikis, must be re-thought. There is some movement in that direction with the ResourceLoader 2 project, but it seems to be progressing slowly.

  1. See also this blog post.
  2. Hausa is a language spoken by about 25 million people in Western Africa. Global South FTW!
  3. I know that imagining that you don't know English is very hard, but it's quite important, given that about 5 billion people don't know it.
  4. This happens quite often in projects in the languages of the former USSR. Despite this, most of them are still small and grow very slowly.