Although a few things have (dramatically) changed in the digital world since Eric S. Raymond’s 1997 essay, The Cathedral and The Bazaar, his core thesis still holds true. I remember reading this essay in college and it blew my young geeky mind.
Based on his Linux kernel development process, Raymond noted that, “given enough eyeballs, all bugs are shallow,” meaning that, the more widely available the source code is for public testing, scrutiny, and experimentation, the more rapidly all forms of bugs will be discovered. This is the core principle behind his support of the Bazaar model of code development. Fast forward to 2015, with one exabytye of data stored in the cloud and 45% of cloud storers using it for open source development, and we’re smack dab in the middle of a new revolution of Raymond’s Bazaar. In short, the Bazaar just got a lot bigger.
Rather than forcing a small group of developers to spend time hunting through lines of code in a Cathedral model, Bazaar development and “cloud code” speed up the process. Today, more than 60% of businesses utilize the cloud for performing IT-related operations, and 80% of cloud adopters saw improvements within six months of moving to the cloud. When developers can collaborate with each other in real-time within the cloud, opportunities for efficient innovation and product improvement abound.
Since Mechanical Turk was released in 2005, cloud storage solutions have only grown, with notable additions of Google Apps in 2006 and Github in 2008 (see Figure 1 below for more cloud growth details, courtesy of Cloudability). As options increase for technology leaders, and many leaders using more than one solution, there are cost savings too. According to IT consultants NSK Inc., 82% of companies reportedly save money by moving to the cloud, some of which (14%) do so, in part, by downsizing their IT department.
There is no question that software development is moving—and to a large extent has already moved—to the cloud. The Bazaar model of development has proven itself to be highly effective in uncovering hard-to-find bugs and providing long-tail features that might otherwise never see the light of day. The question, then, is how will companies provide the capacity for this decentralized network of software developers? How about with a decentralized network of storage nodes optimized to handle the problem?