In chapter 3 of Program Management for Open Source Projects, I talk about the importance of trust. “Open source communities run on trust,” I wrote. But there’s a problem: you start out with no trust and have to build it. Building trust involves showing a track record of doing good work. It’s why most people who join an open source project don’t immediately get the keys to the kingdom. You start out making contributions in the form of a pull request or patch and, over time, earn the trust to become a committer.
In most cases, this works out well. Existing project members can evaluate your contributions and help you get better. Over time, they come to learn that you’re a good fit for the project and give you increased access and responsibility. But translations don’t follow this model, as Ubuntu unfortunately discovered last month.
Why translation is different
New contributors often come to a project with some experience as users or administrators of the software. Many of them are software developers (either hobbyist or professional) or are least familiar with the basic concepts. Importantly, they’re contributing with the same tooling and language as the rest of the community. This makes it easier for the trusted members to review the work of the yet-to-be-trusted members.
But translators don’t need to be skilled developers — or have an understanding of software development at all. They typically use tools outside of the normal tool chain and their skills involve converting strings from one human language to another. I’ve met folks whose only contribution to an open source project is through translating it. Sometimes, it’s not even a project they use. It’s harder for the rest of the community to review the work of a translator because many of them aren’t fluent (or even familiar) with the language.
The importance of translations
The difficulty in reviewing translations is what makes those contributions so important. Translating software (and the accompanying documentation, websites, et cetera) makes the software more accessible to people who aren’t fluent in English. Free software, after all, is of no benefit to people who can’t use it. So among all of the possible ways a new contributor can make a difference, translating a project into a new language may be the most impactful.
As Ubuntu learned, though, unchecked translations can make that impact negative. I don’t blame Ubuntu here. This is a hard problem to solve. How can you bootstrap trust when you can’t verify a contributor’s work?
I don’t have a good answer for this. I’d love to hear your suggestions, perhaps for a follow-up article. I do think that this is an area where artificial intelligence could have a positive impact. You don’t want to let AI perform your translations, but it could help flag submitted translations that might need review. It wouldn’t catch everything, but if it can say “hey, this seems like the sort of thing a human should look at,” you can find a trusted person (even if trusted by proxy) to verify the new contribution.