hacker-blog

Hackers in the Bazaar "blog" posts 😎


Project maintained by Nuolong Hosted on GitHub Pages — Theme by mattgraham

07: 🅱️azaar

The bazaar is the idea of development to just do it, exchange ideas with others as smoothly as water flows and let natural selection meld a given project to perfection. The cathedral, on the contrary, involves building a program from start to finish in isolation, with careful craftsmanship. Matching their respective names, a bazaar is a place of open and unbounded exchange, while a cathedral is a carefully premeditated building from the start (in the eyes of an architect - psst, I was in a ‘History of the Christian Architect’ course at the start of the semester. [I dropped it, since I was done with my theology requirements already and the readings in that class were kinda terribad] There is so much that goes into building a place of worship. Not that I would know the specifics, but the fact that there’s an entire course just about it says a lot.) I personally don’t love the word ‘cathedral’ to describe what Raymond is getting at here, because it makes me want to say “lots of thought goes into cathedral projects,” which would have the unintended effect of making bazaar projects sound totally impulsive.

  1. I agree with this, if you define “good work” of software as something that can be passionately worked on and iterated upon almost endlessly. But sometimes a “personal itch” may not be as good a term over just a “necessity,” because it seems that an itch is something someone is assumed to have an interest in, whereas a “necessity” is not always so. Later mentioned: “But if you’re writing for the world, you have to listen to your customers—this doesn’t change just because they’re not paying you in money.” Hmm. Guess there’s a shift at some point there!
  2. Wait. This is actually… hmm. I remember finding other open source repositories about vocabulary training. It never occurred to me that maybe I should just copy paste it all and build on from there. Wait, I’m probably reading this point completely wrong - oops.
  3. Good to note this is dependent on the assumption that the program is something actually worthwhile and something actually interesting… otherwise, like this dumb thing, I’d never want to take a look at it again. (I guess it’s fair in my case because I just wanted to tkinter - excuse me - tinker around with Python)
  4. Paul Graham agrees much. I do too! But uh, sounds hard to actually get users in the first place.
  5. Linus Law.

Bazaars, with all their mingling, transforms bugs into shallow concepts, given that the number of co-developers approaches infinity. Cathedrals, on the other hand, with their isolated environments, must deal with bugs as they are first presented - deep and thought-provoking, because after all, there are such a small (finite) number of eyes to debug them. That’s how I understood Linus’s law. So far, it seems easy to understand bazaars but not as much for cathedrals. This is fine however, since Raymond seems to be an advocate for the bazaar, and rightfully so (so far).

Brook’s Law also seems to have been mentioned multiple times now. I don’t remember where of course, but here it is again. “Too many cooks in the kitchen” sorta deal. But in open source sense, people are able to work concurrently in ways that makes Brook’s law invisible.

  1. I don’t really understand this one? Is it essentially just saying to write clear code?
  2. I will literally be grateful for any beta-testers of anything I make. I will love and cherish them! Unless they’re big bullies!
  3. After skipping those two paragraphs (obviously because I don’t read things I don’t have to read), we’re all about good ideas. Though it seems to have a good idea in the first place is to be smart. So, that stinks.
  4. Cool. Though perhaps we can all agree that adding more to a program can still make it better? Depends on the program, I guess. But the takeaway here is to take a look at your open source project and see if it’s heading towards an insurmountable pile of obfuscated spaghetti instead of ideally remaining crystal clear.
  5. I don’t understand what this means due to my poor English and comprehension. Is it saying that an effective security is one that is kept secret? That is, to implement password encryption would be futile because everyone would know about it being a security measure?
  6. Wow! We made a circle. And I wholeheartedly agree with this one.

Sounds like the idea of creating a bazaar is to put together some jank-ass code with promises of a better future, under the condition that you get some hands and eyes on it. I had originally had the idea of working in a cathedral when starting out a project, and making a transition into a bazaar once you’ve made somewhat well enough progress to call your project “polished.” It’s quite nice to see my thought addressed here.

“…it is often cheaper and more effective to recruit self-selected volunteers from the Internet than it is to manage buildings full of people who would rather be doing something else.” Reminds me of the idea of the 10x engineer. Working on open source projects makes us the best! (Like okay, likely not 10x-tier, but makes us high-tier. If only managers would realize this! This doesn’t apply to me yet, I’m still a noob who wants to get into open source.) Shudders “Management” makes me cringe for sure, but that may be a side-effect of ethics class.

Raymond is pretty cool. So is Graham. I think I unjustly hated on Graham before. But both Raymond and Graham seem to claim to know the general recipe for success through their specific stories (with Raymond having more humility). Regardless, I understand them because it’s hard not to think you have the perfect recipe once you’ve achieved success yourself. But regardless, both authors do still have a handful of nice things to say for me to think about in their writings. Only thing about Raymond now is that it’s a sin wave of understanding what the heck he’s talking about. When he gets into details of certain things, he loses and bores me completely.

Home