Reading 07: The Cathedral and the Bazaar

 The difference between the Cathedral and the Bazaar styles of software development is that in the Cathedral model, code developed between releases is restricted to an inner circle of developers, while in the Bazaar model, the code is developed over the internet with full public showing of the development cycle. I personally do not have any strong feelings about either, but if I had to choose a favorite, I would probably say the Bazaar model. This is because I still believe that public knowledge and insight into products and projects is an important tool that many companies do not see as a tool. Many companies need to be secretive and select about what they show in their code base, I understand. However, I still feel a lot of projects especially in the gaming world would benefit from clearness. Some examples that I can think of are Counter Strike's Tick and Sub-tick system, and Call of Duty's DPS system. Because these code bases are not available to the public, people get speculative about how they work and attempt to fill the gaps in on their own. The new COD release has people up in arms because they feel that there is 'skill based damage', as in, if you have a good game, the next game you will do less damage than someone who stunk it up. This is an outright fabrication as most tests have shown - yet there still is a community-wide outrage over something that doesn't exist. This does not really fall into my argument of open source-ness being a tool, but is still a negative outcome from not sharing how your game works. 

I think I generally softly agree with most, if not all, of ESR's principles. I heavily agree with #1 and #18 though. The best versions of any project come from a deep interest and deep love in the material. As you can probably tell, I personally subscribe to those principles when I have a choose-your-own project in any class. If I choose something that is interesting to me, I am extremely more likely to work on it more often and better. I have been doing this since high school, and it has really helped my score in a lot of project areas. 

I do somewhat believe in the 'arms race' comment, in that in a perfectly level world, open source would win in a software arms race. However, the field is definitely not perfectly level. I do not, for instance, think that just about any open source project could create a piece of software better and faster than say, Google. This is because Google has one expendable resource that the open sourcers don't have: money. Google can just throw a million dollars and millions of computing hours at a problem and usually come out on top - case in point the Alphazero chess engine.

Alphazero was a project by Google to see if they could create the world's strongest chess AI. So, they trained their AI using some of Google's servers until their supervisor told them that they couldn't anymore, which was around a couple of days of self-processing. The computer ended up, without full training, being on par with and beating Stockfish, the world's best chess AI, which also is open source. All Google had to do was throw a bunch of money and insanely large computing processing power to beat what the people have created over the course of years - in only a few days. 

Comments

Popular posts from this blog

Reading 02: Hardware Hackers

Reading 04: Nerds and Hackers (Paul Graham)