Linux 'Awfully Cathedral-Like' - Java's a Bazaar
jg21 writes "LinuxWorld draws attention to a curious use of ESR's The Cathedral and the Bazaar by the Sun Microsystems exec who currently talks about Linux more than he does even about Java. Apparently Sun's President and COO Jonathan Schwartz said at a press briefing last week that Java with its JCP is more like ESR's Bazaar than Linux, which he dismissed as being "awfully cathedral-like" since Linus is the final arbiter (or Great Dictator), and not a committee." But be sure you don't mis-use the word Java in this Bazaar or the Mall Police will totally get you.
Linux is holy and Java is bizarre.
Sun is completely lacking in clue here, as always.
Sun, of course, feels heavily threatened by Linux and is merely spreading FUD in order to cement Sun's (TINY) market share and bolster Sun's (TINY) share price.
I have been an active member of the Linux community since its inception and we have been exorbitantly friendly to new users and developers. Sun, by contrast, makes you sign restrictive participatory agreements and agree to non-Free licences for community-owned code.
Sun is dead. Long live Linux.
I'm not Seth Finkelstein. I still speak the truth.
Windows is awfully cathedral like, because what Bill or Balmer says goes, and that's the only version of windows I'm ever likely to see.
Linux on the other hand, I can muck around in the code myself however I like. I can include other people's patches that Linus *does not* approve, or I can even change it myself (though between you and me, don't expect it to do a damn thing other than crash).
How is that cathedral like?
And how is java superior in any significant way?
Presumably this refers to the kernel itself and not the horde (hoard?) of packages and applications that sit around it.
"Linux" as most people understand the term is the 2-5 CDs full of software that makes a PC do interesting things.
And it's about as bazaar as it can be.
Sig for sale or rent. One previous user. Inquire within.
It seems to me that using generalisations on what development leadership strategy is best is wrong. I mean, look at the totally different method Linux has compared to Apache compared to any other successfull project. The deciding factor for success for each of these very different strategies is in how well it fits the people involved and how well it gets the best results through. One size does definitely not fit all.
Cmdr Taco's homepage was just Slashdotted! There is justice in the world!
... and I can definitely affirm that Java is bizarre. B-dum-chee! Thank you! Tip your waiters!
Seriously, Schwartz's bias is clear. The Java Community Process which involves committees of experts and interested parties does indeed yield enhancements to the Java API that are nicely featured and well thought out. But getting on those committees in the first place requires surmounting quite a hurdle. And in the end, Sun itself remains every bit as much a "final arbiter" to the core in which any enhancement runs, the virtual machine.
Anybody can fork the kernel. Most distributions do. Multiple threads of development happening independently versus everything having to go through a single party is what characterises the bazaar as separate from the cathedral, and this means that Linux is the epitome of the bazaar development process.
Pretty soon, Jonathan Schwartz is going to be taking over the "Plays the Rabid Linux Media Like a Violin" title from Darl McBride.
What I'm listening to now on Pandora...
I don't think that the original idea of the "bazaar" development model was "everyone does whatever the hell they want". You need someone at the top of the tree to decide what stays and what goes. The fact that this is a person and not a number of people is just a coincidence of the way that Linux has emerged, and doesn't represent a large divergence from the bazaar model.
In short: Shut up Schwarz.
apterous.org
Here you go courtesy of google.
Cathedral and Bazaar
Good judgement comes from experience, and experience comes from bad judgement.
- W. Wriston, former Citibank CEO
Someone saying something "bad" about their competition!
In other news, MS claims use of Linux violates 1m of their patents and has been known in the state of california to cause cancer.
Mod me down with all of your hatred and your journey towards the dark side will be complete!
Cathedral vs Bazaar (redux)
Corp-SW is a cathedral; big, complex, rigid, takes AGES to make, intrinsically linked to a strict hierarchical power structure. Nominally direction and decision making comes from the top.
OSS is a bazaar; big, complex, but a collection of LOADS of different things, each able to do its thing its way. Nominally the whole system supports redundant/competing sections, anyone can stake themselves out a chunk and hawk their wares.
The original article, as I recall, goes off on one about some hippy-comune "noo-space" bollocks, and how projects garner their development effort via "coolness" and "reputation" (positing that you gain reputation in the bazaar by having either a really cool idea, or having successfully done something cool before (cool includes hard to do in the "noo-space")
Essentially the worthwile aspect of the article is describing the difference between "monolithic" system architecture and "collective" architecture in terms of project management (as in rather than monolithic computer systems)
I recall it actually bemoans that Linux as such has NO overall dictator of strategy. (Linus IIRC controls what goes in the Kernal, not whether a rival to the GIMP gets developed).
The cathedral means developing inside a small circle and releasing only in great intervals. The bazaar means releasing all the time and letting lots of people submit patches. By that definition, the JCP is certainly more cathedral-like than Linux.
(Note that the cathedral/bazaar difference doesn't refer to free vs. non-free; the FSF's early free software was developed in a more of a cathedral model.)
I find when corporate CEOs openly attack the opposition it's from a position of fear and weakness more than anything. When you're attacked by your competitor, you're doing something right. Maybe I'm wrong, but I don't hear Jobs attacking Linux and it's in direct competition with OSX in the server market. What did he do instead? He embraces it. I'd love for Sun to enter the desktop market more like I think they want to, but they have to give up on the "let's replace MS" dream.
Luck favors the prepared, darling.
Reason? If Linux users don't like the direction Linus decides to take, the code is there, and may be freely forked to provide a starting point for a new, different direction.
If Java(tm) users don't like the direction Java(tm) is taking... Tough. They're stuck with it.
Athletic Scholarships to universities make as much sense as academic scholarships to sports teams.
Hasn't it mostly been agreed that the successful OS projects are those where there is a lead developer who steers the project?
Frankly, I always hated the whole cathedral vs bazaar metaphor. I don't think it portrays well the virtues and faults of open source and proprietary software. I use proprietary software (MacOS + some closed apps) for the same reason I prefer to "dine out" rather than cook my own meals. I just want to choose something delicious from the restaurant's menu - and I don't care that my choices are limited. Yes, if you cook in your own kitchen, you can customize you meal the way you like it - as it is with open source software. But this will consume you a lot of time and effort, so most people would rather avoid it - unless they really enjoy cooking, have really to much spare time or are really short on cash. It's similar with Free Software - you use it if you really like to 'tinker' with everything or are really short on cash. But if you don't like the former and are not limited by latter, you will rather go to a store with proprietary solutions - where your choices are obviously limited, but you're saving time and effort. So I think restaurant vs kitchen is a better metaphor for proprietary vs free/open.
[The Bazaar model]
is based on the assumption that a million men are wiser than one man. How's that again? I missed something.
[The Cathedral model]
is based on the assumption that one man is wiser than a million men. Let's play that over again, too. Who decides?
R3
Stuff that matters: circuitbreakers, vacuum-cleaners coffee makers, calculators generators, matching salt+pepper shakers
As the sainted Lindsay Marshall pointed out to ESR
at a conference some years ago, cathedrals (which
we know a bit about in Europe) weren't built like
ESR thinks. They were built over the course of
generations, by a sequence of random people, and
if you had the money to put up (say) a side-chapel
for your recently deceased son, you could do so.
In that sense, they are precisely like Linux: a
set of guiding lights, an overall architecture,
and a framework into which anyone with time and
money can put their additions. If you go to one
of the larger, more complex cathedrals in Europe
you'll see they changed massively in plan and
intent over the some hundreds of years they took
to build.
ian
...a cathedral is delivering the Holy Scripture down on people. While Linux may have some of the same structure, it is instead producing it downwards up. Each kernel dev contributes something that, if considered worthy, will be included in the Linux source tree.
Linux is a cathedral only because people find it most effective. Why create conflict, just for the sake of having conflict? Nothing says Linux can't be "wrestled" from Linus' control, just like x.org took xfree, if he drives it in a direction people don't appriciate.
If anything, this tells me that Linux developers very much agree on where Linux is going, unlike KDE/Gnome/Third party WM discussions, dozens of various frameworks and whatnot you see elsewhere in the OSS world.
Kjella
Live today, because you never know what tomorrow brings
I haven't written much either, but then I don't describe myself as "one of the senior technical cadre that makes the Internet work"
Athletic Scholarships to universities make as much sense as academic scholarships to sports teams.
Give me a cathedral over a bazaar any day. I can't think of a better situation than having a thoughtful, intelligent leader who considers all the input of the group and then makes moderate suggestions of what should be implemented. Linus is at the top because he's proven that he can make great decisions for such a large project. If he was ever to lose his naturally good judgement, he wouldn't be able to influence the multitudes of developers anyway. I count us as lucky to have him as long as he's willing to help.
Its amazing how someone can take a great concept and paraphrase it to complete bullshit.
ESR's distinction has nothing to do with closed or open, good or evil, or any moral judgement you ascribe to it.
The Cathedral is a small group working in isolation to a common and predefined goal. "In isolation" meaning not involving collaborators outside the group during development. ESR himself says "It's fairly clear that one cannot code from the ground up in bazaar style. One can test, debug and improve in bazaar style, but it would be very hard to originate a project in bazaar mode. Linus didn't try it. I didn't either." Open source projects general start in Cathedral style.
The Bazaar has everything open for collaboration from anyone during development. Some small group chooses and manages what does and doesn't go into the final "product", but there are only loose and informal goals. The product gets pushing into the shape of whatever anyone and everyone want it to be for them.
You can't modify Linux to do what you want. You can take the Linux source and make a derivation that does what you want, but its not the Linux that the rest of the world uses. Its not product development. Its not the Bazaar. The Bazaar is about contributing to a product, not forking it. The Bazaar is managed, it just doesn't look that way. The source tree isn't open for just anyone to modify, only to read, and to suggest modifications.
Java and Linux present an interesting case to which to apply TCATB.
Java uses a Cathedral style -- development on a revision is performed in isolation by a small group working to specified goals, then the result is released (with source code, but maybe not under your favourite license). But the determination of Java's goals uses the Bazaar style -- everyone gets to make their suggestion and have their say. Depending on community support (either in terms of being vocal or by contributing reference code or technically beneficial suggestions) the desired features may or may not be implemented during the next Cathedral phase.
Linux on the other hand uses Bazaar development. Anyone can hack on the code and contribute changes. But near the top there are a small group who are managing what changes do or do not make it into the official kernel, and ultimately Linus makes the final choice. So assuming that Linus and the patch managers have their own predetermined goals for Linux, the patches they admit to the official kernel tree are more typical of a Cathedral model, in that they are committed by a small group working towards a common and predetermined goal. Of course the argument can be made that Linus and co. don't have specific goals. I believe the truth is somewhere in between -- the goals of the patch managers change from time to time, but are (in the short term) generally predefined.
i-name =twylite [http://public.xdi.org/=twylite], see idcommons.net
A camel is a horse designed by a committee
You can also obtain and modify Java's code as you wish (see http://java.sun.com/j2se/1.5.0/download.jsp) but you can only *distribute* your modifications for the purpose of "research" (so not as part of a commercial product for example).
1 6#linux_is_an_open_source) has aspects of both the cathedral and the bazaar.
r /cathedral-bazaar/index.html) to be an essential read, but it's terminology is IMHO too obscure to be used effectively in discussions like this; I find well-known terms like "dictatorship" (Linux kernel), "meritocracy" (Mozilla.org, "Individual Expert"s on the Java JCP Committee) and "feudal" (GNOME.org) are clearer.
Java is "bazaar"-like because the JCP provides a mechanism for groups and individuals to create proposals to evolve or extend Java which are ratified by a committe (again of groups and individuals, essentially chosen in a meritocratic manner). This could be compared with Mozilla's team of super-reviewers.
Jonathan's point is that Linux (the kernel) is cathedral-like because decisions about changes to the kernel are made exclusively by Linus Torvalds.
Java has open processes for becoming a member of the change committee (see http://www.jcp.org/en/participation/membership) and for submitting proposals (see http://www.jcp.org/en/procedures/jcp2#1).
"Linux" in the broadest sense (see http://blogs.sun.com/roller/page/ColmSmyth/200411
I really find Eric Raymond's seminal CATB article (see http://www.catb.org/~esr/writings/cathedral-bazaa
http://blogs.sun.com/ColmSmyth/
Linux is developed the way it is because it works, after a fashion.
Java is developed the way it is because it works, after a fashion.
Now which method is better is impossinle to tell since Java and Linux do very different things.
If they were both operating systems, you might compare with a bunch of benchmarks, like number of computers installed with it, market share, job vacancies administrating it, whatever, and draw some conclusions. But they're not, so you can't.
This is a bit like saying my way of making ice cream is better than your way of making sports cars.
Perhaps Schwarz should put out the new open source Solaris' with his preferred bazaar-like development model and show Linus and the rest of us how it's done.
This is in a nutshell, FUD.
Sun is watching it's market share of Unix spiral downwards. Sun's solution to this problem isn't to innovate but to go after the competition.
It's the classic bare assed emperor...
Yes Francis, the world has gone crazy.
The individual kernel project run by Linus might be cathedral-like, but Linux (and free software projects in general) are not. Actually, most free software projects, insofar as they retain an identity, are cathedral like: go to any random project on Sourceforge, and there's essentially no chance that you can commit changes to the codebase without approval from one of the project runners.
To analogize it to the proverbial bazaar, it's like noticing that each individual shop is run with an iron fist by its owner, and then claiming that the whole bazaar is a cathedral because each owner doesn't let his shop be run by any random Joe who comes along.
Yes, Linus manages his shop (project) with an iron fist, but anyone can take the kernel and set up their own shop (project) next door. That's still following the bazaar model.
Being both familiar with Linux and Java, let me propose a different analogy: Linux is like being caressed by milky-skinned maidens, and Java is like being kicked in the nuts by a Visigoth.
"Destroy science and religion. Science would re-emerge exactly the same; but not religion." - Penn Jillette, paraphrased
when you manage to delegate more important stuff, contribution comes from greater people. status has weight.
Not exactly correct... you cannot draw the conclusion that delegating important stuff to other people necessarily means that they are greater people.
"when you manage to delegate more important stuff, contribution comes from a greater number people."
Which may have merit in making something better, but it might not either. I remember sayins such as "design by committee" and "too many cooks spoil the broth" that tend to warn against having too many people trying to do something. Basically, the statement is a tautism in that if you delegate more stuff out to more people, then more people have contribution into it. It doesn't really mean much else.
Schwartz is referring not so much to Linux the kernel, but Linux the OS that is installed in corporate computers - against which he actually competes. That means Red Hat, SuSE, and even other smaller distros, from MontaVista to JoesGarageLinux.com - Sun competes against Linux distros that have passed through Linus' compiler, because that's what corporations install. From that point of view, there is no bazaar, because Sun's corporate customers require the validation by Linus, backed up by each other's use/testing of it. The corporate cult of "me, too" is propped up by such crossreference. So Schwartz is disingenuous in his comparison, because the code Linus validates is collected from a widely distributed community, without Linus dictating priorities and policies. It's a cathedral erected inside a bazaar, with no doors in the doorways, and a loudspeaker preaching the gospel.
Personally, I don't like the idea that all of Linux depends on Linus. What if he gets hit by a bus (driven by a recently "retired" Microserf)? But the chaos ensuing from a disappearing Linus would resolve quickly, though possibly in a Great Schism with multiple inheriting popes across the Net, like *BSD. Time for a new paradigm to overextend, Jonathan.
--
make install -not war
It all comes down to community involvement. And both Linux and Java communities do a very good job at that.
Btw...
Have you ever wondered what would have happened if a more organizationally-minded person ran the kernel development?
Linus is very authoritative, and has yet to form an official public community/legal entity that develops and protects the kernel in the 10 year+ that he has been doing it.
What happens if he gets hit by a bus?
Heck what happens today when large factions of kernel developers disagree with him? ( Kernel debugger )
I am not saying Linus is doing a bad job; but couldn't the Linux kernel as an organization be a lot further than it is today?
Based on upvotes, Ageism is the only "-ism" Slashdotters care about and think isn't SJW
Whatever the claims about "Community Process", Sun runs Java and Scott McNealy runs Sun when it really comes down to it. I would suggest asking long term Sun folks(the folks that built that company and were there over 15 year ago) what they really think of that means of governance.
Say what you will about Java and Sun, but here's how I see things:
I'm much more productive writing Java code than C or C++ code, at least for the kinds of applications I build.
Java is well supported. Most often, how well a language is supported is just as important as how good the language itself is.
Sun has done an excellent job listening to the community and making sure Java continues to grow.
Java is perhaps the only serious competitor to Microsoft's .NET, and in my opinion, if .NET "wins", we all lose.
Suggesting that Scott McNealy has some kind of low level control over Java's growth is ridiculous.
All in all, I would say Java is an excellent technology with a bright future, and to fear it because "OMG OMG, evil dumb stupid Scott McNealy controls Java, OMG OMG, it sux0rz, it's proprietary, run for the hills!" is foolish.
Linus really is the Great Dictator. In fact, Linus has outright rejected or slowed the progress of many things (stable binary driver API, the initial rejection of kernel pre-emption as "not needed" which is now in the official kernel, etc.).
Completely disregarding Sun in the discussion, is the point still valid?
Of that pony-tailed oik Schwartz.
He is such a jack-off it makes me think that he is an industry sleeper - someone sent to destroy all credibility of Sun.
M$ has thier own monkey boy, a semi-self-styled nut who says anything he wants, and M$ quizzically apologises for him, and does that half eye roll, well he is nuttier than squirrel shit look and hopefully get away with it.
What the fuck are they trying to prove, Linux is an OS, Java is a devleopment platform, what is the point all this rhetorical FUD? Does it make sense man?
I think not. Now to compound matters the sub blurb on this book is:
Musings of open source blah blah by an accidental revolutionary.
WTF? WHO-TF more like... Also, he is a gun nut. Just what we need. ITS GNU NOT GUN you nozz.
http://www.catb.org/~esr/guns/.
Did this make sense to anybody else? Is this Sun's take of M$ OS costs more? Is it just my sugar deprived brain thinking this is all too wierd?
#hostfile 0.0.0.0 primidi.com 0.0.0.0 www.primidi.com 0.0.0.0 radio.weblogs.com
Eric S. Raymond has just responded to Sun's Jonathan Schwartz and he says, among other things "any time [Sun] try to use my work to justify retaining proprietary control or argue that Linux is somehow less open, that's either culpable stupidity or dishonesty and they should expect to get kicked in the teeth for it by the entire open-source community, starting with me."
If Microsoft so wants to destroy Linux, why not hire a few dozen developers, create a fork of Linux that is incompatible with Linus' but includes more desireable (likely patented) features than Linus'? They could basically take control of Linux.
In the same way, you can put additions in Microsoft Windows, or in Sun Java. But, in order to do so, you must be a big corporation, you must pay, and it must be done according to Microsoft's or Sun's specs.
Which is it, guys? You can't have it both ways.
LRC, the best-read libertarian site on the web
This is the same guy who wants to redine words to suit his meaning -- even the term 'Open Source' itself:8 #rewriting_history_and_vocabulary/
http://blogs.sun.com/roller/page/jonathan/2004080
I tend to think not. "There's more than one way to do it" is a phrase I associate with the Perl language--probably the best example of an open development process applied to language development. I don't recall Larry Wall micro-managing the process, enforcing special licensing requirements on developers of Perl programming tools or sending nasty-grams to developers for using the name "Perl" in a project title.
By and large, the source for Perl and its libraries is wide open (I believe the "artistic license" allows the code to be "stolen" for proprietary use..not sure though). Despite the "lack of discipline" Perl is quite consistent between platforms. I've written some pretty fancy Perl that runs without modification on my Linux box as well as in the ActiveState perl on Microsoft Windows.
I think Python and Ruby are also quite open and neither seems to have problems with forking or undue platform incompatibilities. I don't think that it matters if it is open or proprietary, headed by a "benevolent dictator" or designed by committee in terms of design stability and compatibility. If the leaders are responsive and genuinely considerate to users and other developers needs then it will result in success.
If it was indeed true that Linus was becoming beligerent or uncooperative (I see no indicatoin of that) then the license allows disgruntled users to produce a fork that addresses those needs. If Sun and/or the 900 or so merchants in their "bazaar" become disconnected then...well you're SOL and have to invent your own alternative/derivative and it had better not have a coffee-related name (and it has happened--I do not think it was MS' fault alone that it created an incompatible Java and its own alternative in C#--Sun created the environment that allowed it to happen). Open projects are also not immune to the problem--XFree86 for example. In the end though things sort themselves out and we get Linux and Perl and Apache and Mozilla/Firefox and a whole host of successful applications (even closed ones--MS Office and Visual Studio.NET are pretty successful by many measures by and large because they cater to the user's needs).
That's rather unfair. Of course they're going after the competition, as any smart marketing organisation always will. But accusing the people who have contributed so significantly to the state of IT today, through Java, Star/OpenOffice and of course Solaris, of not being innovative is just asinine.
If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
The reason people get confused about the Cathedral and the Bazaar, and why Schwartz isn't the first to consider Linux pretty cathedral like, is that the way real cathedrals were generally built pretty closely followed ESR's "bazaar" metaphor, with thousands of just-ordinary-folks with a huge variety of skills popping in to do their part. The architect/builder (or builders, for many cathedrals took generations to reach their final form) had far less control over the implementation than Linus does.
Eric really needs to take a step or two back and ask if he really said what he thought he said.
Sun could turn the standard over to an independent committee. They don't want to do that. You can argue the merits (or lack thereof) of their position but that's a different conversation and isn't comparable to Linus' control of the kernel (which is arguably an implementation of the POSIX standard.)
For the billionth time, Java IS run by a standards body - the JCP. Sun has a vote on future changes to Java, just like many other companies - such as IBM. JSR's are as valid a standard as anything POSIX.
Do you think IBM (or other companies) would have got so on board with Java if the process for changing the language was not open?
"There is more worth loving than we have strength to love." - Brian Jay Stanley