23 ms·
First: Have you ever looked at a plot of people for/against mariage rights for gays vs age? I suspect that the clear divergence does exist, but may not mean wha
by jballanc 14y ago
First: Have you ever looked at a plot of people for/against mariage rights for gays vs age? I suspect that the clear divergence does exist, but may not mean what you think it means...
Second: I worked on OS X. In fact, I worked on Snow Leopard, and the start of Lion. What's interesting about that, is that Snow Leopard was the last version of OS X developed according to the "Cathedral" model. Also, while the Snow Leopard cathedral was being built, iOS was being developed firmly using the bazaar model...
Third: You know, I wonder if you've ever been to a bazaar before? I live in Turkey, where the bazaar is a way of life (and where one of the largest, oldest bazaars in the world is located). I've never found "spare parts" at a bazaar. What I have found is some of the highest quality jewelry, tapestries, rugs, and other hand-made goods you'll find anywhere.
Fourth: I think you're conflating "good quality"=>Cathedral and "poor quality"=>Bazaar. The only thing that distinguishes the Cathedral and the Bazaar is whether or not there is one single individual in whose head the only valid vision of the completed project exists. You might do well to read up a bit on the history of Kapalıcarşı. Throughout its history there were guilds to enforce authenticity and all manner of quality control mechanisms. It is possible to have a Bazaar and a very high quality product.
- thebooktocome 14y agoAccording to phkamp, iOS is a cathedral kind of project. I was hoping someone would bring up OS X and how horrible its cathedral-born API became around 10.5, but I was born in '85 and therefore have no right to speak in this thread.
- jballanc 14y agoWhile Apple would certainly like you to believe that the image of iOS sprang, fully-formed, from the mind of Steve Jobs like some sort of medieval cathedral, the reality is anything but. In fact, much of Apple's success is due to the extent to which it functions like a confederation of very well funded startups. Cupertino is very much a bazaar, wherein a shopper with very refined tastes (Jobs, for example) can pick and choose the finest wares. This article concludes that quality only happens if someone takes responsibility for it. Yes. You'll find no argument on that point from me. But cathedral's are not (edit: should say "not only") about one person taking responsibility for quality. They are about a priori design. Quality control can happen ex post facto but creativity, once strangled, dies.
- ori_b 14y agoI'm going to drop the cathedral and bazaar analogy, because I don't feel like debating the exact meaning of the terms. It seems to me that quality is about having someone on the top who is willing to give direction and vision to a project, instead of having every person who scratches their own itch full influence. Contributors are great. But letting everyone pull in their own direction doesn't lead to something that feels well engineered. PHK seems to be calling this vision and cohesive design (a-priori or not) the "cathedral model". I agree strongly that for a project to work well and feel "high quality", it needs some source of a unified idiom.
- jballanc 14y agoThe problem is that coherent vision and a prior design are NOT equivalent. Obviously, I cannot know what was going through the head of ESR when he wrote the original essay, but what I've always taken from it is that a priori design is inherently inflexible, prone to becoming disconnected from reality, and ultimately less inviting to creativity. If the suggestion of the article is that the only way to retain quality is to move back to the "single vision" world of a priori design, I'm sorry...that ship has sailed, the cat is out of the bag...whatever your favorite analogy, PHK is very right that the new generation has gotten used to not having instructions handed to them. Of course, anyone is free to start a project with a single vision, recruit new members, and do their best to grow the project. I suspect, however, that such an effort would loose out to one that figures out how to develop a coherent vision without the need for a priori design.
- phkamp 14y agoBrooks spends some time discussing these issues in the book, and I'm pretty much aligned with him: Nobody belives in "a priori design" and I somehow doubt that anybody did. Brooks points out that the original publication of the "waterfall model" was meant as "how not to..." and people got that wrong. But cathedrals are not about a priori design, they are about style, elegance, economy of means and coherency of design. But my point in the piece is that the lost generation doesn't even know what a cathedral is in the first place, having grown up in the bazaar.
- doktrin 14y agoAccording to phkamp, iOS is a cathedral kind of project. This is true. The OP has made several somewhat-arbitrary and vague assertions about what may or may not constitute a "Cathedral", on top of lambasting others for not agreeing with his definition ("Read Brooks Book") Excerpts from the HN discussion : "Windows and Office are actually not examples of cathedrals, because the architectural focus of Microsoft was not on software but on a near-monopoly market." -phkamp "...iOS is very much a Cathedral and has a designer and architect who cares and who is in control." -phkamp Does Apple not care about achieving market dominance? Did no version of Windows or Office have a lead architect who "cared"? Frankly, the entire concept of a "Cathedral" - rigidly defined as it appears to be here - is a little nebulous and hand-wavy.
- phkamp 14y agoYou never read ESR's essay/book, did you ?
- brlewis 14y agoI read ESR's essay. He was protesting how hard GNU makes it for outside contributors such as himself. Somehow the essay got construed as open source vs. closed source, and ESR pivoted to align with the popular interpretation of his essay. I've never read the book (someone would have to give me a really good reason), but I assume it doesn't focus on GNU. You're calling a ot of people out on using Microsoft as a cathedral example, so I assume you want the original bazaar-vs-cathedral reading of the paper. But if you do that, how can autoconf be a bazaar example, when it's GNU software?
- tedunangst 14y agoIn a world where software is designed by cathedrals, there is no need for autoconf. You read the POSIX spec and write software that conforms to it.
- brlewis 14y agoThat is true. But the article decries autoconf's implementation, not just the need for it. It implies that cathedral designers would never implement it, or if they did implement it, do a better job.
- anu_gupta 14y agoIt's interesting that a lot of people (myself included) think that Snow Leopard is a better OS than both Lion and Mountain Lion.
- jballanc 14y agoI wonder why you think that? I suspect it might be related to the focus on "consumer-centric" (as opposed to geek-centric) features. That is one interesting side-effect of the bazaar model: it's great at building what the majority want. If you are trying to build something that nobody is asking for, you can't beat the cathedral model! ;-) I will tell you, though, that Snow Leopard missed its ship date by 8 months (of course, you never heard about that because Apple is smarter than to announce an OS ship date before it goes GM). It was also nearly un-usable for about a month, and only marginally usable for two months beyond that, during development. Lion suffered from none of these issues...
- anonymoushn 14y agoThe software that replaced Spaces in Lion is so painful to use that I just don't use virtual desktops on OSX any more. I basically only moved to Lion because Snow Leopard would not work on my new machine.
- anu_gupta 14y agoFor me, it's stuff like my quad core iMac becoming unusable under heavy disk activity, or issues like scrolling web pages being impossible when running (quasi) full screen video in a dual monitor setup, or mouse lag under ML. Minor irritations like reworked Spaces and full screen mode making a second monitor pointless are irritations, but I wouldn't regard them as reflective of the quality of Lion and ML.
- MatthewPhillips 14y agoThe majority wanted to have scrolling inverted?
- dasil003 14y ago
- lifeisstillgood 14y agoI am sorry, but I would like to come in on that first comment. I think I understand the point you are making (if you grew up in a time of cathedrals you will rate them highly) but it can be taken as an ad hominem attack - one I am sure you did not intend, and would be beneath the HN quality level (its a Cathedral to debate round here)
- jballanc 14y agoNot intended as an ad hominem as much as a reductio ad absurdum. It is frequently true that the views held by those older are also more likely to be correct, but it is not guaranteed. This is especially true when the views relate to social norms, views on which few people change as they get older. Cathedral vs Bazaar is probably as close to an argument of social norms as the software world gets...
- lifeisstillgood 14y agoMy reading of PHK here is that Cathedrals often lead to better systems than the anarchy-bazaar that he feels has come to be most of the OSS world. I think bazaar's like the Turkish one referenced above (with guilds and standards of quality) are the best of all worlds. but to get there, a guild needs a strong, opinionated leader. Torvalds perhaps. (PHK seems to fit the bill too :-) So, what I suggest is the issue here, is too many people trying to build a cathedral in a bazaar - they want everyone to build it their way but cannot persuade enough others to follow them. As such the bazaar is full of many half-finished carpets instead of less, perfect carpets made by engaged teams. Software needs many talented people, working together, mentoring new ones in "their way". A bazaar is great for getting different talented people to find each other and choose between many different projects. A Cathedral is great for encouraging apprenticeships, the promulgation of culture and so on.
- natep 14y agoI think Torvalds does that play that role, but only for the Linux kernel. For user-space, which OP focuses on, there isn't one.
- flatline3 14y agoI also worked on OS X, and I think you're misinterpreting "Cathedral" vs "Bazaar", especially given your later definition: > The only thing that distinguishes the Cathedral and the Bazaar is whether or not there is one single individual in whose head the only valid vision of the completed project exists. Core OS and related groups has long consisted of VERY different teams each working in their own fiefdoms with their own methodologies. There was a somewhat coherent vision overall, but everybody achieved it in their own way, with very mixed results -- OS X has some tremendously terrible code. Security framework, Installer team, mDNS, anything related to Server ... To be honest, I'm not even sure what your point actually is.
- jballanc 14y agoMy point is that ideas flowed as often from "the bottom up" as from "the top down". Yes, there was a vision of the product held by those in charge, but there was also a thriving ecosystem of ideas. Some of the most successful engineers I knew at Apple made a habit of developing things they thought were amazing and should be included in the product. These were not components that were part of the original design. The point is that, if one of the workers building the Notre Dame had gotten hot after a day of work and said "You know what we should include here? A swimming pool!" well...he probably would've been committed. Coherent vision and a priori design are not the same thing. Apple has coherent vision. Bazaars can have coherent vision (should have coherent vision if they hope to be successful). But that's not the same thing as a Cathedral's a priori design...
- flatline3 14y ago> Coherent vision and a priori design are not the same thing. Apple has coherent vision. Bazaars can have coherent vision (should have coherent vision if they hope to be successful). But that's not the same thing as a Cathedral's a priori design... A priori design can adapt to new ideas. I'd argue that's what Apple did/does, in many cases. Likewise, I'd argue that the truly ad-hoc bazaar development is responsible for some of the worst ideas and bad code that can be found at Apple. The historical lack of good centralized vision on aspects of the Core OS -- such as Objective-C -- has led to staggering missteps and ridiculous inefficiencies on behalf of both the framework and compiler teams. This has been to nobody's benefit and the sum result is clearly inferior to better-designed language work done elsewhere (eg, MS). Likewise, the ability for applications teams to drive forward ill-conceived OS and framework hacks has led to some terrible long-lasting implementation failures, which is something a coherent top-down vision could have prevented. However, the fact is that products can succeed despite of their poor implementation. Costs may be higher, bug counts may be higher, and user satisfaction may be lower, but that hasn't always stopped Apple from building successful products. Where I take umbrage is in the notion that there's a dichotomy -- either you do things poorly and let intellectual lazy engineers take the lead, or your product does not succeed. That's not accurate. I don't think Apple is a good case study for your point.
- deleted 14y ago[deleted]