Open-source software is an amazing phenomenon. But it's not the answer for international development, any more than it is in any other field.
I love open-source software. I'm writing this blog post in Ghost, an open-source blogging platform, using Google Chrome, a (mostly) open-source browser built on top of the open-source Blink engine.1 Ghost runs on Node.js, which is also open source. The DevResults app is built using open-source frameworks like Angular and Autofac, as well as single-purpose libraries like FullCalendar and DateJS. We use Git because it's a vastly better system for source code control than Microsoft's Visual SourceSafe. And don't get me started on Mike Bostock's brilliant d3.js visualization library.
DevResults, though, is proprietary software - and kind of expensive. In order to pay the bills, we've so far had to focus on deep-pocketed aid agencies, foundations, and international NGOs. We intend for that to change, but for now our prices put our product out of reach of small, local NGOs.
Why isn't DevResults open source? And shouldn't the field of international development be ripe for open-source software development? After all, no one is in this field to get rich.
Writing at ICTWorks a few months back, Aptivate's George Flatters looked at failed M&E technology projects and, concluding that affordability is a problem, called for organizations to "pool resources to build and maintain a set of excellent open-source tools that are accessible for poorer organisations."
Aptivate is developing an open-source platform, Kashana, in order to make tools available to smaller organizations. There are a number of similar open-source projects in this space, from Open Data Kit for field data collection, to DHIS for health informatics, to Ushahidi for crowd-sourced mapping.
If enterprise software is too expensive, then "free" software seems like the obvious answer. A consortium of donors has even enshrined a preference for open source as one of their Principles for Digital Development.
This is misguided, and maybe a tiny bit hypocritical. Here's why.
You are not a unique and beautiful snowflake
In this field, we often make the mistake of thinking that foreign aid is special, and the normal laws of economics, management, and human incentives don't apply. That's what's happening here.
Everyone loves getting something for free, whether it's ice cream or software. That's true in the private sector as well as the public sector, it's true for businesses as well as for non-profits, and it's true in Southampton as well as South Sudan. Where open source models produce good software, people will use it.
But take a look around. You know the software running your dentist's office? Not open source. The software managing your kids' summer camp? Not open source. The software that your home builder used for estimating and project management? You guessed it: Not open source. The software your city uses to track potholes? Not open source.
Frankly, the open source movement hasn't produced much successful user-facing software in any domain. The big open source success stories are products and platforms that operate behind the scenes, or that are primarily used by technologists: Apache is a web server, MySQL and PostgreSQL are databases. Linux is an operating system that only nerds interact with directly. By far the biggest category of open-source software consists of libraries for building software.
If you think of user-facing software as a house, then these open-source platforms and libraries are real estate and lumber and tiles and sand. The end products, the applications that most people live in - Microsoft Office, Gmail, Facebook, Adobe Acrobat, Photoshop - are all traditional commercial applications.
This makes sense: Most open-source software is produced by programmers solving their own problems - "scratching their own itch". This often doesn't require a friendly user interface at all; an API or a command-line interface can do the job. If an interface for humans is required, well ... let's just say that the average programmer doesn't do "friendly" or "usable". We coders are not known for understanding (or caring) how regular humans think. It takes a team to build a great UI, and teams cost money.
The model that the dentistry community has found for financing software for dentists is simple: Commercial companies hire programmers to write code, and then those companies provide that software to dentists in exchange for money. That's how it works in every field I can think of, and there's no reason to think that international development should be an exception.
Good enough for thee, but not for me
Here's the thing: People in the rich world aren't any more eager to pay for software than people in developing countries. Where open-source software presents a superior alternative, we'll use it regardless of how much money we have.
And day-to-day, I use Windows and MacOS, not Ubuntu. I use Word and Excel, not LibreOffice. I use Photoshop, not GIMP. Unless you're hard-core and you're trying to make a point, you probably make similar choices. And I'll wager that your organization uses commercial software for payroll and accounting and file sharing and communication and collaboration.
So why is our answer to the developing world's need for technology "Let them use open source"? The pros and cons of open-source software are the same whether you're in London or Kinshasa.
In particular, it's maddening to see open source offered as a solution for managing results data for development projects, but not for financial data. I see it as indication of what we really take seriously, and it's so frustrating that we don't treat information about effectiveness with the same respect that we reserve for information about money.
Look to the private sector for sustainability
Principle 4 of those same Principles for Digital Development is "Build for Sustainability." The world of ICT4D has generated lots of abandonware - software projects that fizzled as soon as the donor's attention shifted and the free money ran out. But there's nothing more sustainable in the long term than a profitable company providing a service that people are willing to pay for.
Of course, you can use taxpayer money, research funds, or charitable donations to pay people to work on an open-source project. But if you need a continuous flow of someone else's money then your thing isn't sustainable, by definition.
Plus, when you remove financial incentives altogether, you lose a lot of useful leverage for making the software great. If DevResults isn't solving problems for people, they'll stop using it and I will be poorer as a result, as will everyone on my team. That's tremendously motivating.
DevResults is just one of many mission-driven technology enterprises in the international development space. Magpi and iFormBuilder make mobile data collection software. TechChange has created an online technology learning platform for social change organizations. Souktel is doing interesting work on mobile money, knowledge sharing, and job matching.
I'm going to make a prediction: The ICT4D revolution will not be open source. It will be created by scrappy startups like these, by people who are unapologetic about building a business for the long term, and who have bet their very livelihoods on their ability to create tools that people actually want to use.
The original post incorrectly referred to WebKit as Chrome's rendering engine, and failed to mention that Chrome itself is open-source. Thanks to Michael Downey for catching these goofs. ↩