News for hackers. Stuff that matters.
Re:A Generation Lost in the Bazaar by jballanc on Monday August 20, 2012 @10:31AM (#4407762)
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.

Re:A Generation Lost in the Bazaar by flatline3 on Monday August 20, 2012 @01:09PM (#4408578)
I 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.

Re:A Generation Lost in the Bazaar by jballanc on Monday August 20, 2012 @01:30PM (#4408706)
My 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...

Re:A Generation Lost in the Bazaar by flatline3 on Monday August 20, 2012 @01:35PM (#4408742)
> 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.

Re:A Generation Lost in the Bazaar by jballanc on Monday August 20, 2012 @02:02PM (#4408887)
If a priori design adapts, then it was never more than a coherent vision to begin with. The notion of a priori design is "we're going to do A, B, and C, and don't even think of changing the plan until those are done". As ESR talks about in his original essay, the "Cathedrals" were mostly developed in chunks. What was different about the Linux "Bazaar" was the way everyone could see and give input to the development along the way.
Re:A Generation Lost in the Bazaar by flatline3 on Monday August 20, 2012 @02:12PM (#4408946)
That's a false dichotomy -- a straw-man -- that's you're using to discredit the idea of planning ahead.

Compare FreeBSD kernel design versus Linux.

kqueue vs. dnotify/inotify/???

Mach-descended VM vs. a string of linux-vms

BSD scheduler, ULE scheduler vs. how many different schedulers?

Linux churns through ill-conceived solutions to problems until they find one acceptable enough. FreeBSD grinds on one until it definitively works.

FreeBSD almost invariably winds up with the better solution, in less time. See kqueue, for example -- the foundation upon which Apple's GCD is built.

Re:A Generation Lost in the Bazaar by jballanc on Monday August 20, 2012 @02:20PM (#4408987)
It's very interesting that you bring up kqueue. I was about to bring up kqueue, but for a different reason.

Planning ahead can lead to great things. The Notre Dame, and the dozens of other cathedrals throughout Europe are positively stunning...

I love and I hate kqueue. I mean, I love kqueue. I love the way it can be used from C, I love the way it's integrated in MacRuby...I spent the weekend studying Clojure's reducers and was dying to have some time to work on ClojureC just so I could implement reducers with kqueue...

I hate kqueue because, in all likelihood, I'll never get to use it in a production system, because it's not in Linux.

Cathedrals can be nice to look at. Bazaars are often more functional.

Re:A Generation Lost in the Bazaar by flatline3 on Monday August 20, 2012 @02:43PM (#4409112)
> I hate kqueue because, in all likelihood, I'll never get to use it in a production system, because it's not in Linux. Cathedrals can be nice to look at. Bazaars are often more functional.

Except that FreeBSD is functional in production, so what is the actual problem? That market effects and accidents of history resulted in Linux becoming more widely adopted?

What does that argue for, exactly?

Re:A Generation Lost in the Bazaar by jballanc on Monday August 20, 2012 @02:54PM (#4409165)
If Linux became more popular/more widely supported by mere chance, then there's nothing to argue about, and nothing to learn...
Re:A Generation Lost in the Bazaar by flatline3 on Monday August 20, 2012 @03:00PM (#4409196)
It's not chance, but it was very likely due to market conditions that have little to do with development methodologies or outright code quality.

http://en.wikipedia.org/wiki/USL_v._BSDi was hugely crippling at a very critical moment.

In a similar vein, PostgreSQL lost out to MySQL in no small part due to:

- PHP supported MySQL out of the box.

- MySQL was slightly easier to get running.

If there's a lesson we ought to learn, it's that market success may be partially or fully disassociated from actual merit relative to other market entrants. We've seen this in commercial software. It would be foolish to think it doesn't apply to open-source.

Re:A Generation Lost in the Bazaar by npsimons on Monday August 20, 2012 @05:00PM (#4409768)
FreeBSD grinds on one until it definitively works.

And what happens if it never works?

Re:A Generation Lost in the Bazaar by flatline3 on Monday August 20, 2012 @05:22PM (#4409864)
An example:

libkse was an attempt to implement M:N thread scheduling. This is something that can, in theory, provide significant benefits over 1:1 thread scheduling, but in practice, is extremely complicated to implement and has fallen out of favor across the board: Solaris abandoned the approach in Solaris 9, and FreeBSD abandoned it in (IIRC) FreeBSD 7.

Concurrent to libkse, libthr was developed by David Xu, and was also included in the FreeBSD base system. It implemented 1:1 threading, is far simpler than libkse, and has replaced libkse as the default threading library.

I would argue that in this case, FreeBSD's cathedral model failed; M:N threading ideally would have never been attempted, and it was wasteful to attempt to implement two distinct threading libraries. However, considerable thought and expertise went into the work, and the work (and decisions around it) were not made flippantly or taken lightly.

It was simple a case where despite best intentions and best effort, the wrong choice was made. At the same time, in what some might call "bazaar-like", David Xu maintained libthr as an alternative. It remained there, ready for adoption as the default threading library, until such time as it became apparent that M:N via libkse was a dead-end.

This was a mistake, but no entity is perfect, and the success rate of FreeBSD's considered decision-making remains statistically high. In this case where something never worked, it was replaced with something equally well-considered and far more successful.

Moreover, compared to Linux's gross missteps with their threading implementations (including such gems as setuid() being thread-local as an implementation side-effect), libkse was a minor fender-bender.

Re:A Generation Lost in the Bazaar by phkamp on Monday August 20, 2012 @05:51PM (#4409972)
I was intimately involved in those discussions and decisions.

There seems to be some underlying assumptions of omniperfection hung of the "cathedral" meme in these parts. That is simply unfounded in both theory and practice.

Second, cathedral vs. bazaar is not really about governance, but about architecture, and they are two separate power-structures, although most organizations, including FreeBSD, mingle them, to their own disadvantage.

We can argue if attempting M:N was a wise or a factually based decision, but that has nothing to do with cathedral vs. bazaar, certainly not in this particular case: What happened was that M:N came first and that was that.

Only once it clearly transpired that it could not sustain its promises in practice (partly because every thread programmer assumed 1:1) did the actual decision making aparatus of FreeBSD kick into gear.

In Linux, (which is much more cathedral than FreeBSD) or OpenBSD (at the time even more so), that decision would probably have been executed practically instantly, but in FreeBSD which is mostly consensus driven, it took some time (and angry words etc.)

But overall the libkse vs. libthr saga has almost nothing to do with cathedral vs. bazaar, because architecture was not the driving force at any time during that saga.

Re:A Generation Lost in the Bazaar by jballanc on Monday August 20, 2012 @06:47PM (#4410176)
I just wanted to quickly point out that you have referred to Linux as "much more cathedral than...". Considering that Linux was the original motivation for "The Cathedral and the Bazaar", identified as "the Bazaar", I highly suspect that you are not using the terms in the same way the original essay intended.

Indeed, throughout this discussion it has become clear that you regard anything with a sense of design and some amount of quality control as a "Cathedral". If you want to discuss the benefits of design and quality control, that's a perfectly fine discussion to have, but it also seems to be completely orthogonal to the original discussion of cathedrals and bazaars, which was wholly focused on the development process.

In fact, I wonder if your arguments would be better focused on the concept of "craftsmanship" (or lack thereof) in programming...keeping in mind, of course, that both cathedral builders and bazaar artisans have historically had a notion of craftsmanship.

Re:A Generation Lost in the Bazaar by spartango on Tuesday August 21, 2012 @03:39AM (#4411580)
ESR seemed to target linux userland and GNU-toolchain/utilities in his description of Linux as a Bazaar, although not to the exclusion of the kernel.

I think it is plausible to describe the kernel as much more Cathedral-like, at least in parts where Linus is very strict about how components should be integrated. I can see where parent could have got this impression.

At the same time, there are parts of kernel that are bazaars. Virtualization/Hypervisor support is the area I'm most familiar with; the various hypervisor vendors basically crammed their paravirt calls and passthrough drivers in, without unifying the interface at all. Yes, Linus and others were very aggressive with maintaining the code quality, but less with the architecture. There are other areas of kernel (particular drivers), where we've seen similar situations.

Re:A Generation Lost in the Bazaar by flatline3 on Monday August 20, 2012 @05:59PM (#4409999)
Thanks for weighing in. I worry about going out on a limb describing FreeBSD in a thread you're a part of. While I'd never assume omniperfection, I expect top-down enforced careful consideration to more often produce correct decisions.

That said, given your response, I think perhaps still don't understand the meaning behind your cathedral/bazaar dichotomy.

Re:A Generation Lost in the Bazaar by npsimons on Monday August 20, 2012 @06:19PM (#4410079)
Thank you for actually dignifying my reply with a reply :)

While it's been years since I mucked about in Linux kernel space, I always remember it as being a very open and egalitarian community. Although I never made the attempt to contribute to any of the BSDs, I got the impression that they were much less open to newer contributors and divergences from "accepted wisdom" (this could be put more politely as being more discriminating (as in taste) and careful). That being said, the majority of decisions I was witness to on LKML appeared to be well-considered, and make no mistake that patches and design ideas were not just accepted willy-nilly. While Linux has stumbled across many missteps, I still personally prefer the wild possibilities and endless choices that eventually shake out a solution, at the same time keeping with a distribution (Debian stable) that filters out the issues for the end users (myself included).

I also find very interesting the parallels between this discussion and the "worse is better" essay, where UNIX was supposed to be in the "worse" camp, and now it's Linux.

Re:A Generation Lost in the Bazaar by snogglethorpe on Tuesday August 21, 2012 @01:10AM (#4411282)
> I always remember it as being a very open and egalitarian community

It definitely is, in my experience. Most importantly, despite the obvious presence of "celebrities," even completely unknown people can jump into the middle of a conversation on an important topic, and if they have their shit together, will be accorded pretty much instant respect and be treated as an equal. There's very little sense of "needing to pay one's dues."

But you definitely have to have your shit together. If you don't, you will be quickly eviscerated.

It's really rather nice, especially compared to many dev communities where there's often much more sense of entrenched factions.

Re:A Generation Lost in the Bazaar by thebooktocome on Monday August 20, 2012 @10:38AM (#4407799)
According 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.

Re:A Generation Lost in the Bazaar by jballanc on Monday August 20, 2012 @11:55AM (#4408151)
While 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.

Re:A Generation Lost in the Bazaar by ori_b on Monday August 20, 2012 @01:08PM (#4408572)
I'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.

Re:A Generation Lost in the Bazaar by jballanc on Monday August 20, 2012 @01:40PM (#4408762)
The 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.

Re:A Generation Lost in the Bazaar by phkamp on Monday August 20, 2012 @01:54PM (#4408840)
Brooks 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.

Re:A Generation Lost in the Bazaar by jballanc on Monday August 20, 2012 @02:09PM (#4408934)
But did they grow up in the Bazaar? or in the Mad House?

ESRs original prototype for the "Bazaar" was Linux. Do you feel that Linux is lacking in coherency of design? You refer to the dot-com bubble, but the problem with the bubble wasn't, I think, that it was the "Bazaar". Indeed, I don't think the dot-com bubble of the late 90s was characterized by much open source development at all!

It was, rather, consumed with "flashiness" and "wow factor". I definitely see the continued obsession with these things as a problem. I would say that, for example, much of the obsession with Node.js today is a consequence of this obsession. But that isn't a Bazaar.

It's a disco.

Re:A Generation Lost in the Bazaar by btrask on Monday August 20, 2012 @01:34PM (#4408733)
Can I, the customer, pick and choose the finest wares? If not, it's not a bazaar.
Re:A Generation Lost in the Bazaar by dllthomas on Monday August 20, 2012 @04:10PM (#4409542)
The original essay is about how you build a cathedral versus how you build a bazaar, not what you use them for.
Re:A Generation Lost in the Bazaar by doktrin on Monday August 20, 2012 @12:04PM (#4408203)
According 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.

Re:A Generation Lost in the Bazaar by phkamp on Monday August 20, 2012 @12:10PM (#4408243)
You never read ESR's essay/book, did you ?
Re:A Generation Lost in the Bazaar by brlewis on Monday August 20, 2012 @12:51PM (#4408483)
I 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?

Re:A Generation Lost in the Bazaar by tedunangst on Monday August 20, 2012 @01:55PM (#4408843)
In 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.
Re:A Generation Lost in the Bazaar by brlewis on Monday August 20, 2012 @02:15PM (#4408962)
That 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.
Re:A Generation Lost in the Bazaar by snogglethorpe on Tuesday August 21, 2012 @01:48AM (#4411335)
I suppose this is the essence, because however much he may chaff at autoconf's implementation (and it surely is ugly), it actually works pretty well. Users (in this case, "user" = "developer") never see the ugliness for the most part.

With more open development communities there are tradeoffs, but often the result is that you can do stuff you simply wouldn't have the manpower to do in closed communities.

I think most of us would love it if every library and tool we used was pretty and elegant, but in the end, it's often better to have something, however much you'd ideally wish for it to be prettier.

Morever, a community in which different components are often the result of disparate teams with different thinking probably results in more attention paid to robust and simple interfaces between them, simply because that's the only way you can get everything to work. Systems composed of heterogeneous components with robust and simple interfaces between them, are, I think, a good thing. I suspect they tend to be more future proof than systems with everything designed by one person from the top down, because in the end, change is inevitable, so having to deal with heterogeneity from the beginning is an advantage.

Re:A Generation Lost in the Bazaar by bjourne on Tuesday August 21, 2012 @04:05AM (#4411637)
No stop it! Don't defend autoconf, it is not worth it and the software does not deserve it. Users of autoconf, that is developers that try to use that POS to build their software definitely experiences its pains.

It is not just that M4 is a horribly ugly, badly, inconsistent language. You also have about a million leaky caches in the build process to deal with. Autoconf rewrites the build scripts in three stages, each which is cached and also keeps an autom4te.cache directory around. So what happens is that you update something in the M4 build script and then have to spend hours hunting down why the change didn't change anything because some stupid autoconf cache wasn't flushed.

What autoconf has done is to separate free software developers into two categories. Those who can hack the source (the .c and .h files) and those who understand the "autoconf magic." It should be telling that people refer to it as "magic" - it's a fing build system, not rocket science.

The only reason this ugly piece of software has lived on is because people treat it as some kind of magical device and inertia. Configuring and building software is an easy problem. It gets even easier if you finally decide to drop support for 30 year old unices that no one uses. The autoconf team consistently refuses to do that which why the software wont ever become better.

CMake, SCons, Waf and probably half a dozen more tools all do a much better job configuring software than autoconf ever will. People really need to try those alternatives and I'm sure they will realize autoconf needs to die, die, DIE.

Re:A Generation Lost in the Bazaar by snogglethorpe on Tuesday August 21, 2012 @05:53AM (#4411987)
Shrug. You don't like autoconf, great; that's clear. As a user of it, I think it's sometimes ugly, but basically fine for its intended purpose (easing portability amongst POSIX-compatible systems). [If you like Windows, you're probably outside its target audience.]

CMake, SCons, etc, all have their pros and cons. They are hardly paragons of virtue though. [Yes, even as a mere "consumer" of CMake (someone who occasionally needs to build packages that use it), I've been bitten and frustrated by it.]

As far as I've found, there really isn't any build tool that really gets everything right -- which suggests that the problem is harder than you suggest. [Although judging from the number of people who try to write their own build tool (most of which languish and eventually die, but cause some pain along the way), it's clear enough that many people think it's a simple problem...]

> autoconf needs to die, die, DIE

Decaf?

Re:A Generation Lost in the Bazaar by bjourne on Tuesday August 21, 2012 @12:31PM (#4413427)
You sound a lot like my colleagues when I tell them why I much favor dynamic languages like Ruby and Python over Java. :) They listen politely to my arguments, then shrug their shoulders and go "meh, Java works fine for me". CVS users are the same when it comes to Subversion users who are the same when it comes to Git users.

It doesn't matter for a "works fine" person how many faults their current tool has or how much smoother "your" tool solves all those problems, they won't listen. Logic doesn't work maybe because it is very hard for them to get used to something new. Maybe because if you haven't experienced any alternatives it is very hard to imagine that something could be better.

Re:A Generation Lost in the Bazaar by lifeisstillgood on Monday August 20, 2012 @11:12AM (#4407952)
I 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)
Re:A Generation Lost in the Bazaar by jballanc on Monday August 20, 2012 @11:17AM (#4407968)
Not 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...
Re:A Generation Lost in the Bazaar by lifeisstillgood on Monday August 20, 2012 @11:58AM (#4408175)
My 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.

Re:A Generation Lost in the Bazaar by natep on Monday August 20, 2012 @01:46PM (#4408788)
I think Torvalds does that play that role, but only for the Linux kernel. For user-space, which OP focuses on, there isn't one.
Re:A Generation Lost in the Bazaar by npsimons on Monday August 20, 2012 @06:24PM (#4410098)
It is frequently true that the views held by those older are also more likely to be correct, but it is not guaranteed.

I think that one of the best lessons to take away from this whole flame fest is that history is something to learn from, and not just blindly revere. But first, that requires knowing about history, which far too many people don't. The whole issue of whether cathedrals or bazaars produce better software is orthogonal, and needs to be addressed to different situations.

First, are there still places where cathedral style development is a very good idea, hinging on being necessary? Yes, but it has to be done right, and unfortunately, cathedrals aren't (usually) very flexible. The Mars rovers were all cathedral programmed and work pretty darn well; on the other end of the spectrum you can find all sorts of big projects that went awry, even with "coherent design".

Second, is cathedral design necessary for all software today? No. I'm fortunate enough to have the perspective of a second generation programmer; my father started in middle school by sending punch cards to the university and would get his results a week later. Careful planning was not just a good idea then; it was absolutely necessary. These days he has a computer with more power and connectivity in his pocket than was available when he was born. His turnaround time for seeing results on software changes these days is well under five minutes.

So the computing industry has come so far so fast that it's not just unnecessary to make grandiose plans in advance, it may actually be a bad idea in a number of cases (what was it Paul Graham said? "If you want a recipe for a startup that's going to die, here it is: a couple of founders who have some great idea they know everyone is going to love, and that's what they're going to build, no matter what.").

It's kind of nice that anyone can just pick up a computer and start writing software these days. Sure, sometimes it's scary too, to think of all the inefficiencies, and wrong results and security holes that plague software. But it's so nice and liberating to think: "you know what? I can do it better, I have the freedom to try to make something better." And you can develop all cathedral style if you want!

Could software be improved? Definitely! Should people learn from history? Yes, including the mistakes. Would more design and coherent vision help make better software? Maybe; go ahead and prove it (a quick note: unfortunately, the market doesn't select the best software or designs, so you will have to prove it some other way, but being successful market wise is a good start).

Re:A Generation Lost in the Bazaar by anu_gupta on Monday August 20, 2012 @10:43AM (#4407816)
It's interesting that a lot of people (myself included) think that Snow Leopard is a better OS than both Lion and Mountain Lion.
Re:A Generation Lost in the Bazaar by jballanc on Monday August 20, 2012 @10:51AM (#4407861)
I 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...

Re:A Generation Lost in the Bazaar by pmjordan on Monday August 20, 2012 @11:15AM (#4407963)
I can't speak for the gp, but I certainly would still be on Snow Leopard if development for the current version of iOS was still supported on it. I'm now seriously considering switching back to Linux as a desktop OS as I hardly do any iOS work anymore. (I've rather fallen out of love with that platform too as it's pretty clear that the only objective is selling me a new iPad+iPhone every year as this year's iOS always runs like crap on last year's hardware)

I guess post Snow Leopard era OSX and Apple apps just feel cheap, unpolished and rushed. It actually feels a lot like Windows, where quality of different parts of the system varies wildly.

Examples: Finder and anything file browsing related beachballs much more than before (particularly when dealing with network shares). Visual design seems to have taken a hit - everything seems to just consist of either different murky shades of grey, or jarring skeumorphism. The 10.6-era AHCI kernel panic hasn't happened for a while now, so maybe that was fixed in a newer revision of 10.7 or 10.8, but userspace stability seems much worse. Some of it is crashes, some just weird UI glitches that require a restart or Force Quit. Old problems (like Mail.app reliability or the heap of shit that is iTunes) are ignored completely in favour of sexing up the UI. (the runaway dynamic pager issue FINALLY seems better on 10.8, but again we get loads of other regressions)

Add to that what you say: the "improvements" leave most people I know completely cold or even get in the way, and that's not just power users/developers. Since we're "paying" for the (subjectively) unnecessary bling with regressions, the overall impression is that of a negative change.

Not that any of this is particularly relevant to the development model. You can end up with festering layers of crap with either model if nobody feels responsible for overall quality. I suspect the objective for Lion was "make OSX look kind of like iOS and get rid of all of that GPLv3 software" and that's basically what was achieved. I guess bug-free software isn't good business, Microsoft were printing money for decades.

Re:A Generation Lost in the Bazaar by crag on Monday August 20, 2012 @04:09PM (#4409537)
"I suspect the objective for Lion was "make OSX look kind of like iOS and get rid of all of that GPLv3 software" and that's basically what was achieved. I guess bug-free software isn't good business, Microsoft were printing money for decades."

You can say that again. Frankly, after using Mac for 10 years, this is my last one.

Re:A Generation Lost in the Bazaar by sounds on Tuesday August 21, 2012 @03:33PM (#4414336)
Just out of curiosity, would you use newer Apple hardware if you could run older OS X versions on it?

Hackintosh or something even worse (and I am with you 100% on the horrible state of OS X) -- I wouldn't want to discount the quality of the hardware.

Re:A Generation Lost in the Bazaar by r00fus on Monday August 20, 2012 @06:20PM (#4410088)
As someone who's been on OSX since Panther, I think you may have a slightly rose-tinted view of the past - lots of stuff in OSX has been improved - I remember pretty horrible kernel panics in 10.4 and userland issues in 10.5 that no longer exist since 10.6/10.7 (or have yet to show themselves). Driver support from vendors is vastly improved, and overall, though I agree that quality has been a bit hit-or-miss, the overall usability is improved, IMHO.
Re:A Generation Lost in the Bazaar by fusiongyro on Monday August 20, 2012 @11:39PM (#4411047)
I've been here since 10.2 and IMO the only great releases of OS X were Panther and Snow Leopard, though Panther did begin the whole idiotic metal UI thing. Maybe 10.9 will rock?
Re:A Generation Lost in the Bazaar by protomyth on Tuesday August 21, 2012 @11:50AM (#4413229)
I'm actually finding Mountain Lion much more stable than Lion or Snow Leopard. Lion had some really weird memory things and I did get multiple kernel panics in early Snow Leopard.
Re:A Generation Lost in the Bazaar by sounds on Tuesday August 21, 2012 @03:35PM (#4414343)
Ok, so who's telling the truth? Was Snow Leopard good or did it kernel panic? Is Mountain Lion stable or have users just not reported the issues yet?
Re:A Generation Lost in the Bazaar by protomyth on Tuesday August 21, 2012 @04:01PM (#4414481)
I think we are both telling the truth as we saw / see it. It might come down to machine, configuration, and type of jobs.
Re:A Generation Lost in the Bazaar by sounds on Tuesday August 21, 2012 @04:59PM (#4414746)
Sounds reasonable to me.
Re:A Generation Lost in the Bazaar by rsync on Monday August 20, 2012 @04:03PM (#4409517)
Not to fork this discussion further, but it bears repeating how much things changed after SL.

In fact, it actually reminds me a lot of the change from FreeBSD 4.x to 5.x ... things worked, people were happy ... and then boom.

That was when all of my desktops and laptops stopped running FreeBSD and I "switched" to the mac. I am fairly certain that once running SL stops being practical, I will switch again.

Re:A Generation Lost in the Bazaar by splicer on Tuesday August 21, 2012 @10:11PM (#4415748)
My feelings exactly! I now do virtually all my development in Linux (or ssh'ed into a Linux box from my MacBook Air). I hate what OS X has become. The only thing I now find superior about OS X to Linux is that it runs Logic Pro 9 (which I can't do without); yay for vendor lock-in!
Re:A Generation Lost in the Bazaar by ralfd on Monday August 20, 2012 @07:12PM (#4410280)
> it's pretty clear that the only objective is selling me a new iPad+iPhone every year as this year's iOS always runs like crap on last year's hardware

Nothing against a good conspiracy theory, but if you truly think this is intentionally planned then this thought is a bit … dumb.

Re:A Generation Lost in the Bazaar by parasubvert on Monday August 20, 2012 @08:10PM (#4410479)
I've not experienced this "bug-free software" you speak of. Where might I find such a thing?

It does feel that Apple's development model is changing to an annual release cycle, wherein larger/systemic bug fixes are deferred to the next major release, rather than in a point release. In fact, most OS X release these days feel like "minor tweaks that make consumers happy + a truckload of bug fixes and plumbing". The fact that they deferred so much 10.0-era plumbing to 10.6 and beyond is indicative of why there's a lot of regressions, IMO.

Re:A Generation Lost in the Bazaar by anu_gupta on Monday August 20, 2012 @10:59AM (#4407897)
For 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.

Re:A Generation Lost in the Bazaar by roc on Monday August 20, 2012 @11:49AM (#4408115)
I think you're confusing two largely-unrelated issues.

Whether products are developed according to what users want vs what builders want has almost nothing to do with bazaar vs cathedral.

Indeed, many bazaar-style projects (the linux ecosystem in general, gimp, etc) are almost cautionary tales about "builders creating what they want for their own niche purposes and if anyone disagrees they're free to fork off".

Re:A Generation Lost in the Bazaar by MatthewPhillips on Monday August 20, 2012 @11:03AM (#4407914)
The majority wanted to have scrolling inverted?
Re:A Generation Lost in the Bazaar by randallsquared on Monday August 20, 2012 @11:55AM (#4408150)
No, the majority wanted to stop it from continuing to be inverted, as it has been for decades. If you do a significant percentage of your computing on a touchscreen, having the touchpad work the same way is really, really nice. After a few days of Lion, I switched all my other machines to do scrolling the same way. Now that I'm moving to Linux instead of Mountain Lion, I was happy to note that I can swap the up and down scroll with a simple command, and almost everything respects it (oddly, some things don't).
Re:A Generation Lost in the Bazaar by MatthewPhillips on Monday August 20, 2012 @11:58AM (#4408172)
Have any actual data on that (to be clear, data that says that people didn't like / wanted to change the way that computer scrolling has worked for the last 25 years)?
Re:A Generation Lost in the Bazaar by randallsquared on Monday August 20, 2012 @01:51PM (#4408824)
I have no data. The first part of that bit ("... majority wanted ...") was intended to be somewhat hyperbolic, but I would expect that a survey would show that heavy smartphone and tablet users tend to keep the Lion default, rather than switch it back to the traditional scroll behavior. Haven't actually done the survey, though. :)
Re:A Generation Lost in the Bazaar by acdha on Monday August 20, 2012 @01:10PM (#4408592)
You are aware that the same “simple command“ is a checkbox in the OS X system preferences, right?
Re:A Generation Lost in the Bazaar by randallsquared on Monday August 20, 2012 @01:53PM (#4408835)
Yes, I am. I was just pointing out something about Linux that was easier than I'd expected, not dissing OS X. If you read the last coupla years of my history, you'll note some bitter rants from me about how 2010's Linux hadn't improved nearly as much as I'd hoped since I moved to OS X in 2003. So, I'm often pleasantly surprised these days. :)
Re:A Generation Lost in the Bazaar by dasil003 on Monday August 20, 2012 @11:17AM (#4407970)
The majority have never known an Apple product that worked any other way.
Re:A Generation Lost in the Bazaar by MatthewPhillips on Monday August 20, 2012 @11:23AM (#4408002)
?
Re:A Generation Lost in the Bazaar by recoiledsnake on Monday August 20, 2012 @11:55AM (#4408158)
I think he's referring to the OS X users that started out with the iPhone, iPod or the iPad as their first Apple device and then bought a Mac. (Not that I agree with the argument).
Re:A Generation Lost in the Bazaar by MatthewPhillips on Monday August 20, 2012 @11:59AM (#4408178)
I know, but if he's speaking to expectations, the brand of computer isn't relevant.
Re:A Generation Lost in the Bazaar by jfb on Monday August 20, 2012 @06:03PM (#4410017)
I don't think this follows.
Re:A Generation Lost in the Bazaar by anonymoushn on Monday August 20, 2012 @12:57PM (#4408521)
The 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.