Open source is a developer-centric solutions model, which, in a nutshell, could be described as building communities of developers to solve problems.
In its most simplistic form, the model has two stages. First, a developer has a problem, which they can fix with some new code, and they make a start on it. Second, if they then make their solution available to other developers it can develop into a full blown thriving open source community. When it works it is a fantastic process to behold and it this simple model that has changed the history of computing.
But outside of developers solving developer problems, open source hasn’t done so well. This is pretty well discussed in open source circles, often framed in questions like: “Why are the user interfaces so sucky?” Framing the issue in terms of bad UI is common but it is perhaps a shallow treatment of the issue. ‘User facing’ open source projects don’t just fail at UI, they fail to meet user needs at a much deeper level.
When looking around at the available open source solutions that are primarily aimed at users, have you ever asked yourself why open source seems to perform so poorly?It’s not just the UX of your favorite desktop app that feels clunky, but why isn’t open source winning in the desktop space in general?
Where is that open source desktop app everyone wants? What about web space for that matter?
Where are the open source equivalents that kill the proprietary opposition? Why isn’t open source wiping out the competition in every user sector from text editors to CRM, from webmail to social media?
There are few examples.
I would argue Unity desktop outstrips the competition, and that Mattermost and GitLab are better than Slack and GitHub, but I’m not in the majority on that.
Outside of a small handful of examples, I can’t see any open source products killing the proprietary competition when it comes to fulfilling user needs. Why has open source done so well in producing developer-facing solutions and web and internet infrastructure, but has done so poorly in the user-facing world?
I think open source can be dominant in social networks, text editors, CRMs, webmail, and more. In fact, I think the open source model has some essential characteristics that lend itself to beating the proprietary competition right across the board. But not without first understanding why it is currently not doing this.
To understand the problem, as a first step towards solving it, we must look deep inside the way we create solutions in open source communities. We need to do this critically and be prepared to ask ourselves some difficult questions.
The itch-to-scratch model
“Every good work of software starts by scratching a developer’s personal itch.” — Eric Raymond
Eric Raymond suggested that open source and free software has a particular kind of solutions model he called the itch-to-scratch model. Basically, the idea is that open source projects start because someone, somewhere, sees a problem (the…