Week 12 - From Cathedrals to Bazaars to Coffeehouses
The Cathedral and the Bazaar
The Cathedral and the Bazaar by Eric S Raymond is a really important essay that demonstrates the different types of open source projects. The main idea is that there are projects that operate like Cathedrals, where the developer community is small and mostly gets developed by the main project maintainers. On the other hand, there are Bazaars, which have many developers that all provide their own contributions with a project, and are less strict about certain things.
A lesson from the essay that relates to the contributions I’m doing now is “Plan to throw one away; you will, anyhow.”. This quote emphasizes the point that you will go through multiple iterations of what you’re working on, so striving for perfection from the very beginning is not the best approach. I’ve faced many challenges while contributing to my group’s project at first, and part of it was trying very hard to get my feature implemented perfectly at the first attempt. However, I eventually realized that what I was doing wasn’t working out well, and starting over from scratch was the best option. This ended up being the right choice as development was a lot more smoother after understanding the code base.
Another lesson that relates to my current contributions is releasing early, often, and listening to customers(or other users in this case). This is very important when it comes to open source projects especially because when you make PRs, there is usually someone who will point out some issues or suggest improvements, which is very important for development. Releasing infrequently could mean that you’re spending more time on things that could’ve been done much faster with the help of others, and also finding bugs that you may have missed.
Clause Warren & The Coffeehouse
Clause Warren’s presentation brings up the idea of the Cathedral and the Bazaar, and introduces the concept of a coffeehouse. A coffeehouse is a group of people that are like minded, along with people that have differing opinions from each other that discuss high tech topics. He then brings up Open Source Program Offices (OSPOs), which are a group of people from a company that have a deep understanding of the open source software that a company uses, and is able to help mitigate the issues that companies face when using open source software, like licensing issues, distance from the community, and lack of knowledge of the source code.
I think this is a good idea because it helps make open source software more accessible, and makes it so that companies are more willing to adopt more open source software without any fear of facing the issues I mentioned. It allows the companies to have a connection to the project that they are using without having to go through many hoops as they might have without an OSPO. Also, it reduces the workload that is required because it can be split across the different people who are familiar with that open source software. One thing that Warren mentions that I find interesting is that if an internal developer is having problems, the OSPO would have someone who knows how to fix the issue, know someone who knows how, or at least know where to ask the question. I think this encapsulates how useful OSPOs are because developers would not have to be completely in the dark when it comes to solving issues related to the software.
Open Source Program Offices
OSPOs have been adopted by major companies and serve as a significant asset to them. One of these companies is Google, which states to make open source more open by supporting open source projects with programs that improve documentation, security, language, and more. Anne B. is the Head of the Open Source Programs Office at Google, and her LinkedIn profile states that she supports open source initiatives across Google with their cloud, security, AI/ML, hardware, and core infrastructure.
Another company is Microsoft, which states to give easy guidance for engineers, provide open source standards, and a legal team. This is to help make sure that the engineers at Microsoft understand the use of open source. Jeff Wilcox is the Principal Director of the Open Source Programs Office, and his LinkedIn profile states that he manages the team that sets the roadmap for open source and encourages the company culture to focus on contributing to, using, and releasing open source softwares and communities.