Reading 07: The Cathedral and the Bazaar
While reading ESR’s essays, I couldn’t stop thinking about the supposed contrast between the Open Source world and the world of Microsoft (Windows/Gaming), where I have worked and will be working after graduation, especially when he specifically calls out Windows as slipping through the cracks of the Unix market with its “shockingly inferior technology”.
ESR talks a lot about users in The Cathedral and the Bazaar. To him, the users are the ones that make up the Bazaar, the open and unrestricted community market where software is created. But he also ties users and developers together, and this is a very bizarre concept to me. For cultural reasons, and that the times have simply changed, when working professionally I have always seen users differently than ESR. The context he writes these essays in is about maintaining fetchmail
, a relatively low level utility to micromanage your email stream, and talks a lot about email protocols like POP/IMAP/SMTP. Fast forward to today, and literally nobody (except for email developers and older power users) knows about these because Gmail exists - a solution that works for 99.9% of real users. ESR’s 6th principle brings the idea of treating your users as co-developers. But this would be a diaster - nobody needs to actually know how Gmail works to use it effectively - so long as it just works. Additionally, there is no tradition of users even reporting bugs about Gmail (it is technically possible, but I would be shocked if it were frequently used). They simply expect it to work, and it just does.
Bringing it back to my personal experience, on Xbox consoles the “Report a Problem” button is hidden unless you’ve opted into the public beta software. Releases are generally bug-free, but automated telemetry surfaces any issues that have snuck by. PC and console gamers no longer need to be highly technical because the expansion of the industry means fewer technical barriers are in place (also see mobile gaming). Yet this isn’t to say the Cathedral is absolutely superior - the reality is much more interesting. This process relies on ESR’s 7th principle: release early and release often. Furthermore, a kind of micro-Bazaar is constructed internally. There are public betas with software available to test before released to general availability, but internally the idea of “dogfooding”, using your own software internally and extensively in an alpha state to find bugs, allows many issues to be found and fixed before any external user sees them. Because these users are developers, what ESR expected users to be, the bug reports are usually high quality and often lead to swift resolution.
The idea of the Bazaar still lives on in the modern day, but only for certain types of projects. As the demand for software has exploded, especially for enterprises and consumer technology, the people who want technology are not the hackers that can program it themselves. Therefore, the software that exists in the Bazaar is more likely to be base and low level software that businesses are willing to collaborate on because it is cheaper to contribute rather than to make it themselves, and contributing ensures their unique needs are met. This is why projects like Linux, Kubernetes, GNU, LLVM, and other base software thrives in the Open Source world. But software targeted to specific customers does not - look at gaming (Steam, Xbox/PlayStation), enterprise software (Oracle, Banner), and consumer software (mac/iOS, Windows, Google Drive). At the end of the day, something has to pay the bills, and the modern day working model is to have the bottom 97% of the software open source, but the top 3% the user interacts with is what is directly sold.
There also are some true-Bazaar hobbyist non-base software projects still around, like Paperless-ngx, but this is extremely niche and most users would never use software you are required to self-host.
In the end, the Cathedral and the Bazaar are not mutually exclusive and neither exists in a pure form. Even Linux is very corporate controlled and still needs sign off from Linus or some other established maintainer (see Rust in Linux drama). But even Cathedral software doesn’t fully exist, many ideas of the Bazaar have been incorporated in an impure way to create a kind of hybrid. Each kind of software lends itself towards a certain combination of the two ideas, and this is often dictated by who pays the bills.