ESR describes a cathedral a ‘carefully crafted by individual wizards … with no beta to be released before its time.’ He then mentions how the Linux community, ‘resemble[s] a great babbling bazaar or differing agendas and approaches.’ The Linux community was able to use this bazaar style and by a miracle produce Linux. In the cathedral model things seem to just be very put together. Like you know what the outcome will look like and what needs to go into this in order to have a successful output. The bazaar model just seems like a hodgepodge of things trying to come together to have a successful output.
As I’m thinking about these different coding styles I also think about an actual cathedral and a bazaar. Although, I have never been in a market in a Middle Eastern country, I have in Latin America and it is wild but amazing at the same time. When one walks into a cathedral there is a sense of reverence or stillness and silence. This is very different than a market where people are selling things, there’s talking, bargaining, and things from all over, etc. So now, going back to using that as a model of software development I can see how a bazaar would work way better. For the most part one know the requested outcome, but does not know the path to get to the outcome which is makes it hard to see the cathedral approach as realistic.
If for some reason the cathedral model would be more realistic, I could see how it could be the superior model. I just don’t see how it could be played out in most software development teams. Like I would hate my job if I couldn’t test and see what the customer actually wants but produce something that’s perfect. Maybe I just have the wrong idea of the cathedral model.
Anywho, a principle that he enumerates that I believe rings true is number one, “Every good work of software starts by scratching a developer’s personal itch.’ I feel like usually the things that are good have resulted from a programmers desire to look into an issue and solve it. This is not necessarily the case for everything, but I definitely think it is a starting point for most solutions. It’s also think that the phrasing is interesting because usually that itch is an annoyance of having to do it all. the. time.
The future of software development I think is going to stay how it is now until people find a different way to make a profit other than keeping their code sealed. Unfortunately because the bigger companies feel like being open-source is not the best way they will continue keeping their code from the world. I definitely think that people contributing in different ways somehow creates a more structured code (because others need to be able to read it) or someone goes in to make sense of it and document it. This also allows for different ideas to flow and progress to be made! I definitely can see things being open-source in the far future but unfortunately I don’t think it’ll happen anytime soon.
x