Why Open Source Consumer Software Lacks Quality
An essay.
by Nathan Krantz-Fire
Thursday, June 4, 2015
Note: I do not intend this as an insult to open source software for enterprise or consumers, or any of the people or companies that develop or use it. Given the recourses it has, open source software works well. However, I attempt to explain why it sometimes lags in the consumer market.
Over four decades of Free and Open source software, a trend has prevailed: Linux works well on the server, but fails to meet the expectations of average users. Several trends cause this. Open source software sells more easily to enterprise users, who often use it on servers, the developers write it to serve their own needs, which usually involve technical matters, and writing code for non-technical users takes more time and effort, which does not come easily amongst volunteers and underpaid employees.
Open source sells, primarily, to enterprise markets. While consumers, whenever they can, will opt to get products for free, enterprises know the importance of, and can afford, paid support. Companies that develop open source software know this, and tailor it to enterprise users, where they can get more revenue. Red Hat and Ubuntu exemplify this. Red Hat, which develops primarily for enterprise, makes about 50 million dollars in profit per quarter. Canonical, in contrast, makes both Enterprise and Consumer software, but primarily Consumer software. It still did not make a profit as of 2013, nearly a decade after its founding. Mark Shuttleworth, Canonical’s founder, has also said that if Canonical discontinued its desktop platform and focused on enterprise, it would make a profit. Although Canonical chose to avoid taking this route at its own loss, many other companies, understandably, take it, causing the majority of corporate-developed open source software to target enterprise users, servers, and developers.
Additionally, one needs to keep in mind who writes the software, and why they write it. Developers write software, and they usually either write it for money or for their own use. In the traditional, closed-source software world, programmers regularly charge for software to monetize it. This means that developers will write the software that gets them the largest audience. Most of the time, they write for consumers. However, in the open source world, programmers have to work much harder to make money off of their software. Many choose, instead, to write software for fun, or for their own usage. Since the job of developing software selects for developers, and since developers have both different types of software that they need and a higher tolerance for bugs, code written for their own purpose often means rough, developer-oriented, and overall non-consumer-friendly code.
Lastly, open source code continues to face the dilemma that it always faced. With moderate quality comes moderate monetary price, and with great quality comes great monetary price. However, this problem presents itself in a more easily solvable way in the case of developer-oriented software, because developer-oriented software takes less work to write. A command line utility takes less work than a GUI application, since graphic design and user interfaces pose less of an issue than they pose with graphical applications. In addition, as mentioned before, developers have less aversion to dealing with and reporting bugs in the software they use, which removes workload from the developers working on the project. Some of these developer users may go on to work on the project as an official developer. Overall, this decreases the workload on open source developer projects. Therefore, developer-oriented projects get developed more easily than consumer-oriented ones.
In the FLOSS world, enterprise, developer, and server software surpasses consumer software in quality due to easier monetization, higher enthusiasm from its developers, and lower development diffuculty.