eric steven raymond - the cathedral and the bazaar.doc

Upload: ana-miron

Post on 04-Jun-2018

219 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/14/2019 Eric Steven Raymond - The Cathedral and the Bazaar.doc

    1/21

    The Cathedral and the Bazaar Eric Steven Raymond

    The Cathedral and the Bazaar

    by Eric Steven Raymond

    The Cathedral and the BazaarEric Steven Raymond$Date: 2000/08/24 22:37:44 $Copyright 2000 by Eric S! Raymond

    Copyright"ermi##ion i# granted to copy di#trib%te and/or modi&y thi# doc%ment %nder the term# o& the 'pen"%b(ication )icen#e ver#ion 2!0!Revision HistoryRevi#ion *!+*24 ,%g%#t 2000 Revi#ed by: e#r-ir#t Doc.oo ver#ion! inor %pdate# to -a(( 2000 on the time1#en#itive materia(!Revi#ion *!4+ ay 2000 Revi#ed by: e#r,dded the .S note on dead(ine# and #ched%(ing!Revi#ion *!+*3* ,%g%#t * Revi#ed by: e#rhi# the ver#ion that '5Rei((y printed in the &ir#t edition o& the boo!Revi#ion *!4+8 ,%g%#t * Revi#ed by: e#r

    ,dded the endnote# on the Sna&% "rincip(e 6prehi#torica( eamp(e# o& ba9aar deve(opment and origina(ity inthe ba9aar!Revi#ion *!442 %(y * Revi#ed by: e#r,dded the ;'n anagement and the aginot )ine< #ection #ome in#ight# abo%t the %#e&%(ne## o& ba9aar# &orep(oring de#iRevi#ion *!4020 =ov *8 Revi#ed by: e#r,dded a correction o& .roo# ba#ed on the a((o>een Doc%ment#!Revi#ion *!328 %(y *8 Revi#ed by: e#r? removed "a%( Eggert5# 5graph on @") v#! ba9aar in re#pon#e to cogent ag%ment# &rom RS onRevi#ion *!3*-ebr%ary *0 *8 Revi#ed by: e#r,dded ;Epi(og: =et#cape Embrace# the .a9aarAare< to ;open #o%rce

  • 8/14/2019 Eric Steven Raymond - The Cathedral and the Bazaar.doc

    2/21

    The Cathedral and the Bazaar Eric Steven Raymond

    #%gge#t prod%ctive ana(ogie# >ith other #e(&1correcting #y#tem# o& #e(&i#h agent# and conc(%de >ith#ome ep(oration o& the imp(ication# o& thi# in#ight &or the &%t%re o& #o&t>are!1. The Cathedral and the Bazaar)in% i# #%bver#ive! ho >o%(d have tho%ght even &ive year# ago 6** that a >or(d1c(a## operating#y#tem co%(d coa(e#ce a# i& by magic o%t o& part1time hacing by #evera( tho%#and deve(oper# #cattereda(( over the p(anet connected on(y by the ten%o%# #trand# o& the ?nternetFCertain(y not ?! .y the time )in% #>am onto my radar #creen in ear(y *3 ? had a(ready been invo(vedin Gni and open1#o%rce deve(opment &or ten year#! ? >a# one o& the &ir#t @=G contrib%tor# in themid1*80#! ? had re(ea#ed a good dea( o& open1#o%rce #o&t>are onto the net deve(oping or co1deve(oping#evera( program# 6nethac Emac#5# HC and @GD mode# (i&e and other# that are #ti(( in >ide %#etoday! ? tho%ght ? ne> ho> it >a# done!)in% overt%rned m%ch o& >hat ? tho%ght ? ne>! ? had been preaching the Gni go#pe( o& #ma(( too(#rapid prototyping and evo(%tionary programming &or year#! .%t ? a(#o be(ieved there >a# a certain critica(comp(eity above >hich a more centra(i9ed a priori approach >a# reI%ired! ? be(ieved that the mo#timportant #o&t>are 6operating #y#tem# and rea((y (arge too(# (ie the Emac# programming editor neededto be b%i(t (ie cathedra(# care&%((y cra&ted by individ%a( >i9ard# or #ma(( band# o& mage# >oring in

    #p(endid i#o(ation >ith no beta to be re(ea#ed be&ore it# time!)in%# orva(d#5# #ty(e o& deve(opment 1 re(ea#e ear(y and o&ten de(egate everything yo% can be open tothe point o& promi#c%ity 1 came a# a #%rpri#e! =o I%iet reverent cathedra(1b%i(ding here J rather the)in% comm%nity #eemed to re#emb(e a great babb(ing ba9aar o& di&&ering agenda# and approache#6apt(y #ymbo(i9ed by the )in% archive #ite# >ho5d tae #%bmi##ion# &rom anyone o%t o& >hich acoherent and #tab(e #y#tem co%(d #eeming(y emerge on(y by a #%cce##ion o& mirac(e#!he &act that thi# ba9aar #ty(e #eemed to >or and >or >e(( came a# a di#tinct #hoc! ,# ? (earned my>ay aro%nd ? >ored hard not %#t at individ%a( proect# b%t a(#o at trying to %nder#tand >hy the )in%>or(d not on(y didn5t &(y apart in con&%#ion b%t #eemed to go &rom #trength to #trength at a #peed bare(yimaginab(e to cathedra(1b%i(der#!2

    .y mid1*B ? tho%ght ? >a# beginning to %nder#tand! Chance handed me a per&ect >ay to te#t mytheory in the &orm o& an open1#o%rce proect that ? co%(d con#cio%#(y try to r%n in the ba9aar #ty(e! So ?did J and it >a# a #igni&icant #%cce##!hi# i# the #tory o& that proect! ?5(( %#e it to propo#e #ome aphori#m# abo%t e&&ective open1#o%rcedeve(opment! =ot a(( o& the#e are thing# ? &ir#t (earned in the )in% >or(d b%t >e5(( #ee ho> the )in%>or(d give# them partic%(ar point! ?& ?5m correct they5(( he(p yo% %nder#tand eact(y >hat it i# thatmae# the )in% comm%nity #%ch a &o%ntain o& good #o&t>are J and perhap# they >i(( he(p yo% becomemore prod%ctive yo%r#e(&!2. The Mail Must Get ThroughSince *3 ?5d been r%nning the technica( #ide o& a #ma(( &ree1acce## ?nternet #ervice provider ca((edChe#ter Co%nty ?nter)in 6CC?) in e#t Che#ter "enn#y(vania! ? co1&o%nded CC?) and >rote o%r%niI%e m%(ti%#er b%((etin1board #o&t>are J yo% can chec it o%t by te(netting to (oce!cci(!org

    6te(net://(oce!cci(!org! oday it #%pport# a(mo#t three tho%#and %#er# on thirty (ine#! he ob a((o>ed me241ho%r1a1day acce## to the net thro%gh CC?)5# +B (ine J in &act the ob practica((y demanded itA? had gotten I%ite %#ed to in#tant ?nternet emai(! ? &o%nd having to periodica((y te(net over to (oce tochec my mai( annoying! hat ? >anted >a# &or my mai( to be de(ivered on #nar 6my home #y#tem #othat ? >o%(d be noti&ied >hen it arrived and co%(d hand(e it %#ing a(( my (oca( too(#!he ?nternet5# native mai( &or>arding protoco( S" 6Simp(e ai( ran#&er "rotoco( >o%(dn5t #%it

    beca%#e it >or# be#t >hen machine# are connected &%((1time >hi(e my per#ona( machine i#n5t a(>ay#on the net and doe#n5t have a #tatic ?" addre##! hat ? needed >a# a program that >o%(d reach o%t overmy intermittent dia(%p connection and p%(( acro## my mai( to be de(ivered (oca((y! ? ne> #%ch thing#ei#ted and that mo#t o& them %#ed a #imp(e app(ication protoco( ca((ed "'" 6"o#t '&&ice "rotoco(! "'"i# no> >ide(y #%pported by mo#t common mai( c(ient# b%t at the time it >a#n5t b%i(t1in to the mai(

    reader ? >a# %#ing!? needed a "'"3 c(ient! So ? >ent o%t on the net and &o%nd one! ,ct%a((y ? &o%nd three or &o%r! ? %#edone o& them &or a >hi(e b%t it >a# mi##ing >hat #eemed an obvio%# &eat%re the abi(ity to hac the

    2

  • 8/14/2019 Eric Steven Raymond - The Cathedral and the Bazaar.doc

    3/21

    The Cathedral and the Bazaar Eric Steven Raymond

    addre##e# on &etched mai( #o rep(ie# >o%(d >or proper(y!he prob(em >a# thi#: #%ppo#e #omeone named Koe5 on (oce #ent me mai(! ?& ? &etched the mai( to #narand then tried to rep(y to it my mai(er >o%(d cheer&%((y try to #hip it to a nonei#tent Koe5 on #nar!3

    and1editing rep(y addre##e# to tac on KLcci(!org5 I%ic(y got to be a #erio%# pain!hi# >a# c(ear(y #omething the comp%ter o%ght to be doing &or me! .%t none o& the ei#ting "'" c(ient#ne> ho>A ,nd thi# bring# %# to the &ir#t (e##on:*! Every good >or o& #o&t>are #tart# by #cratching a deve(oper5# per#ona( itch!"erhap# thi# #ho%(d have been obvio%# 6it5# (ong been proverbia( that ;=ece##ity i# the mother o&inventionare deve(oper# #pend their day# grinding a>ay &or pay at program# theyneither need nor (ove! .%t not in the )in% >or(d J >hich may ep(ain >hy the average I%a(ity oo&t>are originated in the )in% comm%nity i# #o high!So did ? immediate(y (a%nch into a &%rio%# >hir( o& coding %p a brand1ne> "'"3 c(ient to compete >iththe ei#ting one#F =ot on yo%r (i&eA ? (ooed care&%((y at the "'" %ti(itie# ? had in hand a#ing my#e(&;>hich one i# c(o#e#t to >hat ? >antF< .eca%#e2! @ood programmer# no> >hat to >rite! @reat one# no> >hat to re>rite 6and re%#e!

    hi(e ? don5t c(aim to be a great programmer ? try to imitate one! ,n important trait o& the great one# i#con#tr%ctive (a9ine##! hey no> that yo% get an , not &or e&&ort b%t &or re#%(t# and that it5# a(mo#ta(>ay# ea#ier to #tart &rom a good partia( #o(%tion than &rom nothing at a((!)in%# orva(d# 6http://>>>!t%edo!org/Me#r/&aI#/(in%# &or eamp(e didn5t act%a((y try to >rite )in%&rom #cratch! ?n#tead he #tarted by re%#ing code and idea# &rom ini a tiny Gni1(ie operating #y#tem&or "C c(one#! Event%a((y a(( the ini code >ent a>ay or >a# comp(ete(y re>ritten J b%t >hi(e it >a#there it provided #ca&&o(ding &or the in&ant that >o%(d event%a((y become )in%!?n the #ame #pirit ? >ent (ooing &or an ei#ting "'" %ti(ity that >a# rea#onab(y >e(( coded to %#e a# adeve(opment ba#e!he #o%rce1#haring tradition o& the Gni >or(d ha# a(>ay# been &riend(y to code re%#e 6thi# i# >hy the@=G proect cho#e Gni a# a ba#e 'S in #pite o& #erio%# re#ervation# abo%t the 'S it#e(&! he )in%

    >or(d ha# taen thi# tradition near(y to it# techno(ogica( (imitN it ha# terabyte# o& open #o%rce# genera((yavai(ab(e! So #pending time (ooing &or #ome e(#e5# a(mo#t1good1eno%gh i# more (ie(y to give yo% goodre#%(t# in the )in% >or(d than any>here e(#e!4

    ,nd it did &or me! ith tho#e ?5d &o%nd ear(ier my #econd #earch made %p a tota( o& nine candidate# J&etchpop "opart get1mai( g>pop pimp pop1per( popc popmai( and %pop! he one ? &ir#t #ett(ed on>a# K&etchpop5 by Se%ng1ong 'h! ? p%t my header1re>rite &eat%re in it and made vario%# otherimprovement# >hich the a%thor accepted into hi# *! re(ea#e!, &e> >ee# (ater tho%gh ? #t%mb(ed acro## the code &or Kpopc(ient5 by Car( arri# and &o%nd ? had a

    prob(em! ho%gh &etchpop had #ome good origina( idea# in it 6#%ch a# it# bacgro%nd1daemon mode itco%(d on(y hand(e "'"3 and >a# rather amate%ri#h(y coded 6Se%ng1ong >a# at that time a bright b%tineperienced programmer and both trait# #ho>ed! Car(5# code >a# better I%ite pro&e##iona( and #o(id

    b%t hi# program (aced #evera( important and rather tricy1to1imp(ement &etchpop &eat%re# 6inc(%dingtho#e ?5d coded my#e(&!Stay or #>itchF ?& ? #>itched ?5d be thro>ing a>ay the coding ?5d a(ready done in echange &or a betterdeve(opment ba#e!, practica( motive to #>itch >a# the pre#ence o& m%(tip(e1protoco( #%pport! "'"3 i# the mo#t common(y%#ed o& the po#t1o&&ice #erver protoco(# b%t not the on(y one! -etchpop and the other competition didn5tdo "'"2 R"'" or ,"'" and ? >a# a(ready having vag%e tho%ght# o& perhap# adding ?,"6http://>>>!imap!org 6?nternet e##age ,cce## "rotoco( the mo#t recent(y de#igned and mo#t po>er&%(

    po#t1o&&ice protoco( %#t &or &%n!.%t ? had a more theoretica( rea#on to thin #>itching might be a# good an idea a# >e(( #omething ?(earned (ong be&ore )in%!

    3! ;"(an to thro> one a>ayN yo% >i(( anyho>!< 6-red .roo# ;he ythica( an1onth

  • 8/14/2019 Eric Steven Raymond - The Cathedral and the Bazaar.doc

    4/21

    The Cathedral and the Bazaar Eric Steven Raymond

    right be ready to #tart over at least once O.P!e(( 6? to(d my#e(& the change# to &etchpop had been my &ir#t try! So ? #>itched!,&ter ? #ent my &ir#t #et o& popc(ient patche# to Car( arri# on 2+ %ne *B ? &o%nd o%t that he had

    ba#ica((y (o#t intere#t in popc(ient #ome time be&ore! he code >a# a bit d%#ty >ith minor b%g# hangingo%t! ? had many change# to mae and >e I%ic(y agreed that the (ogica( thing &or me to do >a# tae overthe program!5

    itho%t my act%a((y noticing the proect had e#ca(ated! =o (onger >a# ? %#t contemp(ating minorpatche# to an ei#ting "'" c(ient! ? too on maintaining an entire one and there >ere idea# b%bb(ing inmy head that ? ne> >o%(d probab(y (ead to maor change#!?n a #o&t>are c%(t%re that enco%rage# code1#haring thi# i# a nat%ra( >ay &or a proect to evo(ve! ? >a#acting o%t thi# princip(e:4! ?& yo% have the right attit%de intere#ting prob(em# >i(( &ind yo%!.%t Car( arri#5# attit%de >a# even more important! e %nder#tood that+! hen yo% (o#e intere#t in a program yo%r (a#t d%ty to it i# to hand it o&& to a competent #%cce##or!itho%t ever having to di#c%## it Car( and ? ne> >e had a common goa( o& having the be#t #o(%tion o%t

    there! he on(y I%e#tion &or either o& %# >a# >hether ? co%(d e#tab(i#h that ? >a# a #a&e pair o& hand#!'nce ? did that he acted >ith grace and di#patch! ? hope ? >i(( do a# >e(( >hen it come# my t%rn!3. The Importane o! Having "sers,nd #o ? inherited popc(ient! %#t a# important(y ? inherited popc(ient5# %#er ba#e! G#er# are >onder&%(thing# to have and not %#t beca%#e they demon#trate that yo%5re #erving a need that yo%5ve done#omething right! "roper(y c%(tivated they can become co1deve(oper#!,nother #trength o& the Gni tradition one that )in% p%#he# to a happy etreme i# that a (ot o& %#er# arehacer# too! .eca%#e #o%rce code i# avai(ab(e they can be effective hacer#! hi# can be tremendo%#(y%#e&%( &or #hortening deb%gging time! @iven a bit o& enco%ragement yo%r %#er# >i(( diagno#e prob(em##%gge#t &ie# and he(p improve the code &ar more I%ic(y than yo% co%(d %naided!B! reating yo%r %#er# a# co1deve(oper# i# yo%r (ea#t1ha##(e ro%te to rapid code improvement and e&&ective

    deb%gging!he po>er o& thi# e&&ect i# ea#y to %ndere#timate! ?n &act pretty >e(( a(( o& %# in the open1#o%rce >or(ddra#tica((y %ndere#timated ho> >e(( it >o%(d #ca(e %p >ith n%mber o& %#er# and again#t #y#tem6

    comp(eity %nti( )in%# orva(d# #ho>ed %# di&&erent(y!?n &act ? thin )in%#5# c(evere#t and mo#t con#eI%entia( hac >a# not the con#tr%ction o& the )in%erne( it#e(& b%t rather hi# invention o& the )in% deve(opment mode(! hen ? epre##ed thi# opinion inhi# pre#ence once he #mi(ed and I%iet(y repeated #omething he ha# o&ten #aid: ;?5m ba#ica((y a very (a9y

    per#on >ho (ie# to get credit &or thing# other peop(e act%a((y do!< )a9y (ie a &o! 'r a# Robert ein(ein&amo%#(y >rote o& one o& hi# character# too (a9y to &ai(!?n retro#pect one precedent &or the method# and #%cce## o& )in% can be #een in the deve(opment o& the@=G Emac# )i#p (ibrary and )i#p code archive#! ?n contra#t to the cathedra(1b%i(ding #ty(e o& the Emac#

    C core and mo#t other @=G too(# the evo(%tion o& the )i#p code poo( >a# &(%id and very %#er1driven!?dea# and prototype mode# >ere o&ten re>ritten three or &o%r time# be&ore reaching a #tab(e &ina( &orm!,nd (oo#e(y1co%p(ed co((aboration# enab(ed by the ?nternet a (a )in% >ere &reI%ent!?ndeed my o>n mo#t #%cce##&%( #ing(e hac previo%# to &etchmai( >a# probab(y Emac# HC 6ver#ioncontro( mode a )in%1(ie co((aboration by emai( >ith three other peop(e on(y one o& >hom 6RichardSta((man the a%thor o& Emac# and &o%nder o& the -ree So&t>are -o%ndation 6http://>>>!&!org ? havemet to thi# day! ?t >a# a &ront1end &or SCCS RCS and (ater CHS &rom >ithin Emac# that o&&ered;one1to%ch< ver#ion contro( operation#! ?t evo(ved &rom a tiny cr%de #cc#!e( mode #omebody e(#e had>ritten! ,nd the deve(opment o& HC #%cceeded beca%#e %n(ie Emac# it#e(& Emac# )i#p code co%(d gothro%gh re(ea#e/te#t/improve generation# very I%ic(y!#. Release $arly% Release &!ten

    Ear(y and &reI%ent re(ea#e# are a critica( part o& the )in% deve(opment mode(! o#t deve(oper#6inc(%ding me %#ed to be(ieve thi# >a# bad po(icy &or (arger than trivia( proect# beca%#e ear(y ver#ion#are a(mo#t by de&inition b%ggy ver#ion# and yo% don5t >ant to >ear o%t the patience o& yo%r %#er#!

    4

  • 8/14/2019 Eric Steven Raymond - The Cathedral and the Bazaar.doc

    5/21

    The Cathedral and the Bazaar Eric Steven Raymond

    hi# be(ie& rein&orced the genera( commitment to a cathedra(1b%i(ding #ty(e o& deve(opment! ?& theoverriding obective >a# &or %#er# to #ee a# &e> b%g# a# po##ib(e >hy then yo%5d on(y re(ea#e a ver#ionevery #i month# 6or (e## o&ten and >or (ie a dog on deb%gging bet>een re(ea#e#! he Emac# C core>a# deve(oped thi# >ay! he )i#p (ibrary in e&&ect >a# not J beca%#e there >ere active )i#p archive#o%t#ide the -S-5# contro( >here yo% co%(d go to &ind ne> and deve(opment code ver#ion# independent(yo& Emac#5# re(ea#e cyc(e OQRP!7

    he mo#t important o& the#e the 'hio State e(i#p archive anticipated the #pirit and many o& the &eat%re#o& today5# big )in% archive#! .%t &e> o& %# rea((y tho%ght very hard abo%t >hat >e >ere doing or abo%t>hat the very ei#tence o& that archive #%gge#ted abo%t prob(em# in the -S-5# cathedra(1b%i(dingdeve(opment mode(! ? made one #erio%# attempt aro%nd *2 to get a (ot o& the 'hio code &orma((ymerged into the o&&icia( Emac# )i#p (ibrary! ? ran into po(itica( tro%b(e and >a# (arge(y %n#%cce##&%(!.%t by a year (ater a# )in% became >ide(y vi#ib(e it >a# c(ear that #omething di&&erent and m%chhea(thier >a# going on there! )in%#5# open deve(opment po(icy >a# the very oppo#ite o&cathedra(1b%i(ding! )in%5# ?nternet archive# >ere b%rgeoning m%(tip(e di#trib%tion# >ere being &(oated!,nd a(( o& thi# >a# driven by an %nheard1o& &reI%ency o& core #y#tem re(ea#e#!

    )in%# >a# treating hi# %#er# a# co1deve(oper# in the mo#t e&&ective po##ib(e >ay:7! Re(ea#e ear(y! Re(ea#e o&ten! ,nd (i#ten to yo%r c%#tomer#!)in%#5# innovation >a#n5t #o m%ch in doing I%ic1t%rnaro%nd re(ea#e# incorporating (ot# o& %#er&eedbac 6#omething (ie thi# had been Gni1>or(d tradition &or a (ong time b%t in #ca(ing it %p to a(eve( o& inten#ity that matched the comp(eity o& >hat he >a# deve(oping! ?n tho#e ear(y time# 6aro%nd** it >a#n5t %nno>n &or him to re(ea#e a ne> erne( more than once a day .eca%#e he c%(tivated hi#

    ba#e o& co1deve(oper# and (everaged the ?nternet &or co((aboration harder than anyone e(#e thi# >ored!.%t ho! did it >orF ,nd >a# it #omething ? co%(d d%p(icate or did it re(y on #ome %niI%e geni%# o&)in%# orva(d#F? didn5t thin #o! @ranted )in%# i# a damn &ine hacer! o> many o& %# co%(d engineer an entire

    prod%ction1I%a(ity operating #y#tem erne( &rom #cratchF! .%t )in% didn5t repre#ent any a>e#ome

    concept%a( (eap &or>ard! )in%# i# not 6or at (ea#t not yet an innovative geni%# o& de#ign in the >ay that#ay Richard Sta((man or ame# @o#(ing 6o& =eS and ava are! Rather )in%# #eem# to me to be ageni%# o& engineering and imp(ementation >ith a #ith #en#e &or avoiding b%g# and deve(opmentdead1end# and a tr%e nac &or &inding the minim%m1e&&ort path &rom point , to point .! ?ndeed the>ho(e de#ign o& )in% breathe# thi# I%a(ity and mirror# )in%#5# e##entia((y con#ervative and #imp(i&yingde#ign approach!So i& rapid re(ea#e# and (everaging the ?nternet medi%m to the hi(t >ere not accident# b%t integra( part#o& )in%#5# engineering1geni%# in#ight into the minim%m1e&&ort path >hat >a# he maimi9ingF hat >a#he craning o%t o& the machineryF""%t that >ay the I%e#tion an#>er# it#e(&! )in%# >a# eeping hi# hacer/%#er# con#tant(y #tim%(ated andre>arded J #tim%(ated by the pro#pect o& having an ego1#ati#&ying piece o& the action re>arded by the

    #ight o& con#tant 6even daily improvement in their >or!)in%# >a# direct(y aiming to maimi9e the n%mber o& per#on1ho%r# thro>n at deb%gging anddeve(opment even at the po##ib(e co#t o& in#tabi(ity in the code and %#er1ba#e b%rno%t i& any #erio%# b%g

    proved intractab(e! )in%# >a# behaving a# tho%gh he be(ieved #omething (ie thi#:8! @iven a (arge eno%gh beta1te#ter and co1deve(oper ba#e a(mo#t every prob(em >i(( be characteri9ed I%ic(yand the &i obvio%# to #omeone!'r (e## &orma((y ;@iven eno%gh eyeba((# a(( b%g# are #ha((o>!< ? d%b thi#: ;)in%#5# )a>a# that every prob(em ;>i(( be tran#parent to #omebodyho %nder#tand# and &ie# the prob(em i# not nece##ari(y or even %#%a((y the per#on >ho &ir#tcharacteri9e# it! ;Somebody &ind# the prob(em< he #ay# ;and #omebody else %nder#tand# it! ,nd ?5(( goon record a# #aying that &inding it i# the bigger cha((enge!< .%t the point i# that both thing# tend to

    happen rapid(y!ere ? thin i# the core di&&erence %nder(ying the cathedra(1b%i(der and ba9aar #ty(e#! ?n thecathedra(1b%i(der vie> o& programming b%g# and deve(opment prob(em# are tricy in#idio%# deep

    +

  • 8/14/2019 Eric Steven Raymond - The Cathedral and the Bazaar.doc

    6/21

    The Cathedral and the Bazaar Eric Steven Raymond

    phenomena! ?t tae# month# o& #cr%tiny by a dedicated &e> to deve(op con&idence that yo%5ve >in(edthem a(( o%t! h%# the (ong re(ea#e interva(# and the inevitab(e di#appointment >hen (ong1a>aitedre(ea#e# are not per&ect!?n the ba9aar vie> on the other hand yo% a##%me that b%g# are genera((y #ha((o> phenomena J or at(ea#t that they t%rn #ha((o> pretty I%ic(y >hen epo#ed to a tho%#and eager co1deve(oper# po%nding onevery #ing(e ne> re(ea#e! ,ccording(y yo% re(ea#e o&ten in order to get more correction# and a# a

    bene&icia( #ide e&&ect yo% have (e## to (o#e i& an occa#iona( botch get# o%t the door!,nd that5# it! hat5# eno%gh! ?& ;)in%#5# )a>< i# &a(#e then any #y#tem a# comp(e a# the )in% erne(

    being haced over by a# many hand# a# the )in% erne( #ho%(d at #ome point have co((ap#ed %nder the>eight o& %n&or#een bad interaction# and %ndi#covered ;deep< b%g#! ?& it5# tr%e on the other hand it i##%&&icient to ep(ain )in%5# re(ative (ac o& b%ggine## and it# contin%o%# %ptime# #panning month# oreven year#!#aybe it #ho%(dn5t have been #%ch a #%rpri#e at that! Socio(ogi#t# year# ago di#covered that the averagedopinion o& a ma## o& eI%a((y epert 6or eI%a((y ignorant ob#erver# i# I%ite a bit more re(iab(e a predictorthan that o& a #ing(e random(y1cho#en one o& the ob#erver#! hey ca((ed thi# the ;De(phi e&&ect

    appear# that >hat )in%# ha# #ho>n i# that thi# app(ie# even to deb%gging an operating #y#tem J that theDe(phi e&&ect can tame deve(opment comp(eity even at the comp(eity (eve( o& an 'S erne(!'ne #pecia( &eat%re o& the )in% #it%ation that c(ear(y he(p# a(ong the De(phi e&&ect i# the &act that thecontrib%tor# &or any given proect are #e(&1#e(ected! ,n ear(y re#pondent pointed o%t that contrib%tion#are received not &rom a random #amp(e b%t &rom peop(e >ho are intere#ted eno%gh to %#e the #o&t>are(earn abo%t ho> it >or# attempt to &ind #o(%tion# to prob(em# they enco%nter and act%a((y prod%ce anapparent(y rea#onab(e &i! ,nyone >ho pa##e# a(( the#e &i(ter# i# high(y (ie(y to have #omething %#e&%( tocontrib%te!? am indebted to my &riend e&& D%ty_d%tyL>am!%md!ed%_&or pointing o%t that )in%#5# )a> can berephra#ed a# ;Deb%gging i# para((e(i9ab(eith #ome coordinating deve(oper it doe#n5t reI%ire #igni&icant coordination bet>een

    deb%gger#! h%# it doe#n5t &a(( prey to the #ame I%adratic comp(eity and management co#t# that maeadding deve(oper# prob(ematic!?n practice the theoretica( (o## o& e&&iciency d%e to d%p(ication o& >or by deb%gger# a(mo#t never #eem#to be an i##%e in the )in% >or(d! 'ne e&&ect o& a ;re(ea#e ear(y and o&ten po(icy< i# to minimi9e #%chd%p(ication by propagating &ed1bac &ie# I%ic(y OP!.roo# 6the a%thor o& ;he ythica( an1onthide(y %#ed program i# typica((y 40 percent or more o& the co#t o&deve(oping it! S%rpri#ing(y thi# co#t i# #trong(y a&&ected by the n%mber o& %#er#!$ore %sers find more&%'s!< 6my empha#i#!ore %#er# &ind more b%g# beca%#e adding more %#er# add# more di&&erent >ay# o& #tre##ing the

    program! hi# e&&ect i# amp(i&ied >hen the %#er# are co1deve(oper#! Each one approache# the ta# o& b%gcharacteri9ation >ith a #(ight(y di&&erent percept%a( #et and ana(ytica( too(it a di&&erent ang(e on the

    prob(em! he ;De(phi e&&ect< #eem# to >or preci#e(y beca%#e o& thi# variation! ?n the #peci&ic contet o&deb%gging the variation a(#o tend# to red%ce d%p(ication o& e&&ort!So adding more beta1te#ter# may not red%ce the comp(eity o& the c%rrent ;deepe#t< b%g &rom thedevelo(er)spoint o& vie> b%t it increa#e# the probabi(ity that #omeone5# too(it >i(( be matched to the

    prob(em in #%ch a >ay that the b%g i# #ha((o> to that (erson!1*

    )in%# copper# hi# bet# too! ?n ca#e there are #erio%# b%g# )in% erne( ver#ion are n%mbered in #%ch a>ay that potentia( %#er# can mae a choice either to r%n the (a#t ver#ion de#ignated ;#tab(e< or to ride thec%tting edge and ri# b%g# in order to get ne> &eat%re#! hi# tactic i# not yet &orma((y imitated by mo#t)in% hacer# b%t perhap# it #ho%(d beN the &act that either choice i# avai(ab(e mae# both moreattractive! O.SP

    '. (hen Is ) Rose *ot ) Rose+aving #t%died )in%#5# behavior and &ormed a theory abo%t >hy it >a# #%cce##&%( ? made a con#cio%#deci#ion to te#t thi# theory on my ne> 6admitted(y m%ch (e## comp(e and ambitio%# proect!

    B

  • 8/14/2019 Eric Steven Raymond - The Cathedral and the Bazaar.doc

    7/21

    The Cathedral and the Bazaar Eric Steven Raymond

    .%t the &ir#t thing ? did >a# reorgani9e and #imp(i&y popc(ient a (ot! Car( arri#5# imp(ementation >a#very #o%nd b%t ehibited a ind o& %nnece##ary comp(eity common to many C programmer#! e treatedthe code a# centra( and the data #tr%ct%re# a# #%pport &or the code! ,# a re#%(t the code >a# bea%ti&%( b%tthe data #tr%ct%re de#ign ad1hoc and rather %g(y 6at (ea#t by the high #tandard# o& thi# o(d )?S" hacer!? had another p%rpo#e &or re>riting be#ide# improving the code and the data #tr%ct%re de#ign ho>ever!hat >a# to evo(ve it into #omething ? %nder#tood comp(ete(y! ?t5# no &%n to be re#pon#ib(e &or &iing

    b%g# in a program yo% don5t %nder#tand!-or the &ir#t month or #o then ? >a# #imp(y &o((o>ing o%t the imp(ication# o& Car(5# ba#ic de#ign! he&ir#t #erio%# change ? made >a# to add ?," #%pport! ? did thi# by reorgani9ing the protoco( machine#into a generic driver and three method tab(e# 6&or "'"2 "'"3 and ?,"! hi# and the previo%#change# i((%#trate a genera( princip(e that5# good &or programmer# to eep in mind e#pecia((y in(ang%age# (ie C that don5t nat%ra((y do dynamic typing:! Smart data #tr%ct%re# and d%mb code >or# a (ot better than the other >ay aro%nd!.roo# Chapter : ;Sho> me yo%r OcodeP and concea( yo%r Odata #tr%ct%re#P and ? #ha(( contin%e to bemy#ti&ied! Sho> me yo%r Odata #tr%ct%re#P and ? >on5t %#%a((y need yo%r OcodePN it5(( be obvio%#!chart#< and ;tab(e#ing &or thirty year# o& termino(ogica(/c%(t%ra( #hi&t

    it5# a(mo#t the #ame point!11,t thi# point 6ear(y September *B abo%t #i >ee# &rom 9ero ? #tarted thining that a name changemight be in order J a&ter a(( it >a#n5t %#t a "'" c(ient any more! .%t ? he#itated beca%#e there >a# a# yetnothing gen%ine(y ne> in the de#ign! y ver#ion o& popc(ient had yet to deve(op an identity o& it# o>n!hat changed radica((y >hen &etchmai( (earned ho> to &or>ard &etched mai( to the S" port! ?5(( getto that in a moment! .%t &ir#t: ? #aid above that ?5d decided to %#e thi# proect to te#t my theory abo%t>hat )in%# orva(d# had done right! o> 6yo% may >e(( a# did ? do thatF ?n the#e >ay#: ? re(ea#ed ear(y and o&ten 6a(mo#t never (e## o&ten than every ten day#N d%ring period# o& inten#edeve(opment once a day! ? gre> my beta (i#t by adding to it everyone >ho contacted me abo%t &etchmai(!

    ? #ent chatty anno%ncement# to the beta (i#t >henever ? re(ea#ed enco%raging peop(e to participate! ,nd ? (i#tened to my beta te#ter# po((ing them abo%t de#ign deci#ion# and #troing them >heneverthey #ent in patche# and &eedbac!he payo&& &rom the#e #imp(e mea#%re# >a# immediate! -rom the beginning o& the proect ? got b%greport# o& a I%a(ity mo#t deve(oper# >o%(d i(( &or o&ten >ith good &ie# attached! ? got tho%ght&%(critici#m ? got &an mai( ? got inte((igent &eat%re #%gge#tion#! hich (ead# to:*0! ?& yo% treat yo%r beta1te#ter# a# i& they5re yo%r mo#t va(%ab(e re#o%rce they >i(( re#pond by becoming yo%rmo#t va(%ab(e re#o%rce!'ne intere#ting mea#%re o& &etchmai(5# #%cce## i# the #heer #i9e o& the proect beta (i#t &etchmai(1&riend#!,t the time o& (a#t revi#ion 6,%g%#t 2000 it ha# 24 member# and i# adding t>o or three a >ee!,ct%a((y a# ? revi#e in (ate ay *7 the (i#t i# beginning to (o#e member# &rom it# high o& c(o#e to 300&or an intere#ting rea#on! Severa( peop(e have a#ed me to %n#%b#cribe them beca%#e &etchmai( i#

    >oring #o >e(( &or them that they no (onger need to #ee the (i#t tra&&icA "erhap# thi# i# part o& the norma((i&e1cyc(e o& a mat%re ba9aar1#ty(e proect!,. -oplient eomes /ethmailhe rea( t%rning point in the proect >a# >hen arry ochhei#er #ent me hi# #cratch code &or &or>ardingmai( to the c(ient machine5# S" port! ? rea(i9ed a(mo#t immediate(y that a re(iab(e imp(ementation o&thi# &eat%re >o%(d mae a(( the other mai( de(ivery mode# net to ob#o(ete!12-or many >ee# ? had been t>eaing &etchmai( rather incrementa((y >hi(e &ee(ing (ie the inter&acede#ign >a# #erviceab(e b%t gr%bby J ine(egant and >ith too many eig%o%# option# hanging o%t a(( over!he option# to d%mp &etched mai( to a mai(bo &i(e or #tandard o%tp%t partic%(ar(y bothered me b%t ?co%(dn5t &ig%re o%t >hy!

    6?& yo% don5t care abo%t the technica(ia o& ?nternet mai( the net t>o paragraph# can be #a&e(y #ipped!hat ? #a> >hen ? tho%ght abo%t S" &or>arding >a# that popc(ient had been trying to do too manything#! ?t had been de#igned to be both a mai( tran#port agent 6, and a (oca( de(ivery agent 6D,!

    7

  • 8/14/2019 Eric Steven Raymond - The Cathedral and the Bazaar.doc

    8/21

    The Cathedral and the Bazaar Eric Steven Raymond

    ith S" &or>arding it co%(d get o%t o& the D, b%#ine## and be a p%re , handing o&& mai( toother program# &or (oca( de(ivery %#t a# #endmai( doe#!hy me## >ith a(( the comp(eity o& con&ig%ring a mai( de(ivery agent or #etting %p (oc1and1append ona mai(bo >hen port 2+ i# a(mo#t g%aranteed to be there on any p(at&orm >ith C"/?" #%pport in the &ir#t

    p(aceF E#pecia((y >hen thi# mean# retrieved mai( i# g%aranteed to (oo (ie norma( #ender1initiatedS" mai( >hich i# rea((y >hat >e >ant any>ay!6.ac to a higher (eve(!!!Even i& yo% didn5t &o((o> the preceding technica( argon there are #evera( important (e##on# here! -ir#tthi# S"1&or>arding concept >a# the bigge#t #ing(e payo&& ? got &rom con#cio%#(y trying to em%(ate)in%#5# method#! , %#er gave me thi# terri&ic idea J a(( ? had to do >a# %nder#tand the imp(ication#!**! he net be#t thing to having good idea# i# recogni9ing good idea# &rom yo%r %#er#! Sometime# the (atter i#

    better!?ntere#ting(y eno%gh yo% >i(( I%ic(y &ind that i& yo% are comp(ete(y and #e(&1deprecating(y tr%th&%(abo%t ho> m%ch yo% o>e other peop(e the >or(d at (arge >i(( treat yo% (ie yo% did every bit o& theinvention yo%r#e(& and are %#t being becoming(y mode#t abo%t yo%r innate geni%#!e can a(( #ee ho>>e(( thi# >ored &or )in%#A

    6hen ? gave my ta( at the "er( con&erence in ,%g%#t *7 hacer etraordinaire )arrya(( >a# in the&ront ro>! ,# ? got to the (a#t (ine above he ca((ed o%t re(igio%#1reviva( #ty(e ;e(( it te(( it brotherAho(e a%dience (a%ghed beca%#e they ne> thi# had >ored &or the inventor o& "er( too!13

    ,&ter a very &e> >ee# o& r%nning the proect in the #ame #pirit ? began to get #imi(ar prai#e not %#t&rom my %#er# b%t &rom other peop(e to >hom the >ord (eaed o%t! ? #ta#hed a>ay #ome o& that emai(N?5(( (oo at it again #ometime i& ? ever #tart >ondering >hether my (i&e ha# been >orth>hi(e :1!.%t there are t>o more &%ndamenta( non1po(itica( (e##on# here that are genera( to a(( ind# o& de#ign!*2! '&ten the mo#t #triing and innovative #o(%tion# come &rom rea(i9ing that yo%r concept o& the prob(em >a#>rong!? had been trying to #o(ve the >rong prob(em by contin%ing to deve(op popc(ient a# a combined

    ,/D, >ith a(( ind# o& &%ny (oca( de(ivery mode#! -etchmai(5# de#ign needed to be retho%ght&rom the gro%nd %p a# a p%re , a part o& the norma( S"1#peaing ?nternet mai( path!hen yo% hit a >a(( in deve(opment J >hen yo% &ind yo%r#e(& hard p%t to thin pa#t the net patch J it5#o&ten time to a# not >hether yo%5ve got the right an#>er b%t >hether yo%5re a#ing the right I%e#tion!"erhap# the prob(em need# to be re&ramed!e(( ? had re&ramed my prob(em! C(ear(y the right thing to do >a# 6* hac S" &or>arding #%pportinto the generic driver 62 mae it the de&a%(t mode and 63 event%a((y thro> o%t a(( the other de(iverymode# e#pecia((y the de(iver1to1&i(e and de(iver1to1#tandard1o%tp%t option#!? he#itated over #tep 3 &or #ome time &earing to %p#et (ong1time popc(ient %#er# dependent on thea(ternate de(ivery mechani#m#! ?n theory they co%(d immediate(y #>itch to !&or>ard &i(e# or theirnon1#endmai( eI%iva(ent# to get the #ame e&&ect#! ?n practice the tran#ition might have been me##y!.%t >hen ? did it the bene&it# proved h%ge! he cr%&tie#t part# o& the driver code vani#hed! Con&ig%ration

    got radica((y #imp(er J no more grove((ing aro%nd &or the #y#tem D, and %#er5# mai(bo no more>orrie# abo%t >hether the %nder(ying 'S #%pport# &i(e (ocing!,(#o the on(y >ay to (o#e mai( vani#hed! ?& yo% #peci&ied de(ivery to a &i(e and the di# got &%(( yo%rmai( got (o#t! hi# can5t happen >ith S" &or>arding beca%#e yo%r S" (i#tener >on5t ret%rn '%n(e## the me##age can be de(ivered or at (ea#t #poo(ed &or (ater de(ivery!,(#o per&ormance improved 6tho%gh not #o yo%5d notice it in a #ing(e r%n! ,nother not in#igni&icant

    bene&it o& thi# change >a# that the man%a( page got a (ot #imp(er!14

    )ater ? had to bring de(ivery via a %#er1#peci&ied (oca( D, bac in order to a((o> hand(ing o& #omeob#c%re #it%ation# invo(ving dynamic S)?"! .%t ? &o%nd a m%ch #imp(er >ay to do it!he mora(F Don5t he#itate to thro> a>ay #%perann%ated &eat%re# >hen yo% can do it >itho%t (o## o&

    e&&ectivene##! ,ntoine de Saint1E%pry 6>ho >a# an aviator and aircra&t de#igner >hen he >a#n5t beingthe a%thor o& c(a##ic chi(dren5# boo# #aid:*3! ;"er&ection 6in de#ign i# achieved not >hen there i# nothing more to add b%t rather >hen there i# nothing

    8

  • 8/14/2019 Eric Steven Raymond - The Cathedral and the Bazaar.doc

    9/21

    The Cathedral and the Bazaar Eric Steven Raymond

    more to tae a>ay!hen yo% +no! it5# right! ,nd in the proce##the &etchmai( de#ign acI%ired an identity o& it# o>n di&&erent &rom the ance#tra( popc(ient!?t >a# time &or the name change! he ne> de#ign (ooed m%ch more (ie a d%a( o& #endmai( than the o(d

    popc(ient hadN both are ,# b%t >here #endmai( p%#he# then de(iver# the ne> popc(ient p%((# thende(iver#! So t>o month# o&& the b(oc# ? renamed it &etchmai(!here i# a more genera( (e##on in thi# #tory abo%t ho> S" de(ivery came to &etchmai(! ?t i# not on(ydeb%gging that i# para((e(i9ab(eN deve(opment and 6to a perhap# #%rpri#ing etent ep(oration o& de#ign#pace i# too! hen yo%r deve(opment mode i# rapid(y iterative deve(opment and enhancement may

    become #pecia( ca#e# o& deb%gging J &iing Kb%g# o& omi##ion5 in the origina( capabi(itie# or concept o&the #o&t>are!Even at a higher (eve( o& de#ign it can be very va(%ab(e to have the thining o& (ot# o& co1deve(oper#random1>a(ing thro%gh the de#ign #pace near yo%r prod%ct! Con#ider the >ay a p%dd(e o& >ater &ind# adrain or better yet ho> ant# &ind &ood: ep(oration e##entia((y by di&&%#ion &o((o>ed by ep(oitationmediated by a #ca(ab(e comm%nication mechani#m! hi# >or# very >e((N a# >ith arry ochhei#er andme one o& yo%r o%trider# may >e(( &ind a h%ge >in nearby that yo% >ere %#t a (itt(e too c(o#e1&oc%#ed to

    #ee!0. /ethmail Gros "phere ? >a# >ith a neat and innovative de#ign code that ? ne> >ored >e(( beca%#e ? %#ed it every dayand a b%rgeoning beta (i#t! ?t grad%a((y da>ned on me that ? >a# no (onger engaged in a trivia( per#ona(15

    hac that might happen to be %#e&%( to &e> other peop(e! ? had my hand# on a program every hacer >itha Gni bo and a S)?"/""" mai( connection rea((y need#!ith the S" &or>arding &eat%re it p%((ed &ar eno%gh in &ront o& the competition to potentia((y becomea ;category i((erer&%( that a&ter>ard the re#%(t# %#t #eem inevitab(e nat%ra( even &oreordained! he on(y >ay to try&or idea# (ie that i# by having (ot# o& idea# J or by having the engineering %dgment to tae otherpeop(e#5 good idea# beyond >here the originator# tho%ght they co%(d go!,ndy anenba%m had the origina( idea to b%i(d a #imp(e native Gni &or ?. "C# &or %#e a# a teachingtoo( 6he ca((ed it ini! )in%# orva(d# p%#hed the ini concept &%rther than ,ndre> probab(y tho%ghtit co%(d go J and it gre> into #omething >onder&%(! ?n the #ame >ay 6tho%gh on a #ma((er #ca(e ? too#ome idea# by Car( arri# and arry ochhei#er and p%#hed them hard! =either o& %# >a# Korigina(5 inthe romantic >ay peop(e thin i# geni%#! .%t then mo#t #cience and engineering and #o&t>aredeve(opment i#n5t done by origina( geni%# hacer mytho(ogy to the contrary!he re#%(t# >ere pretty heady #t%&& a(( the #ame J in &act %#t the ind o& #%cce## every hacer (ive# &orA,nd they meant ? >o%(d have to #et my #tandard# even higher! o mae &etchmai( a# good a# ? no> #a> itco%(d be ?5d have to >rite not %#t &or my o>n need# b%t a(#o inc(%de and #%pport &eat%re# nece##ary to

    other# b%t o%t#ide my orbit! ,nd do that >hi(e eeping the program #imp(e and rob%#t!he &ir#t and over>he(ming(y mo#t important &eat%re ? >rote a&ter rea(i9ing thi# >a# m%(tidrop #%pport Jthe abi(ity to &etch mai( &rom mai(boe# that had acc%m%(ated a(( mai( &or a gro%p o& %#er# and thenro%te each piece o& mai( to it# individ%a( recipient#!? decided to add the m%(tidrop #%pport part(y beca%#e #ome %#er# >ere c(amoring &or it b%t mo#t(y

    beca%#e ? tho%ght it >o%(d #hae b%g# o%t o& the #ing(e1drop code by &orcing me to dea( >ith addre##ingin &%(( genera(ity! ,nd #o it proved! @etting R-C 8226http://in&o!internet!i#i!ed%:80/in1note#/r&c/&i(e#/r&c822!tt addre## par#ing right too me a remarab(y(ong time not beca%#e any individ%a( piece o& it i# hard b%t beca%#e it invo(ved a pi(e o& interdependentand &%##y detai(#!.%t m%(tidrop addre##ing t%rned o%t to be an ece((ent de#ign deci#ion a# >e((! ere5# ho> ? ne>:

    16*4! ,ny too( #ho%(d be %#e&%( in the epected >ay b%t a tr%(y great too( (end# it#e(& to %#e# yo% never epected!he %nepected %#e &or m%(ti1drop &etchmai( i# to r%n mai(ing (i#t# >ith the (i#t ept and a(ia# epan#ion

  • 8/14/2019 Eric Steven Raymond - The Cathedral and the Bazaar.doc

    10/21

    The Cathedral and the Bazaar Eric Steven Raymond

    done on the client #ide o& the ?nternet connection! hi# mean# #omeone r%nning a per#ona( machinethro%gh an ?S" acco%nt can manage a mai(ing (i#t >itho%t contin%ing acce## to the ?S"5# a(ia# &i(e#!,nother important change demanded by my beta te#ter# >a# #%pport &or 81bit ?E 6%(tip%rpo#e?nternet ai( Eten#ion# operation! hi# >a# pretty ea#y to do beca%#e ? had been care&%( to eep thecode 81bit c(ean! =ot beca%#e ? anticipated the demand &or thi# &eat%re b%t rather in obedience to anotherr%(e:*+! hen >riting gate>ay #o&t>are o& any ind tae pain# to di#t%rb the data #tream a# (itt(e a# po##ib(e J andUneverU thro> a>ay in&ormation %n(e## the recipient &orce# yo% toAad ? not obeyed thi# r%(e 81bit ?E #%pport >o%(d have been di&&ic%(t and b%ggy! ,# it >a# a(( ? hadto do i# read the ?E #tandard 6R-C *B+2 6http://in&o!internet!i#i!ed%:80/in1note#/r&c/&i(e#/r&c*B+2!ttand add a trivia( bit o& header1generation (ogic!Some E%ropean %#er# b%gged me into adding an option to (imit the n%mber o& me##age# retrieved per#e##ion 6#o they can contro( co#t# &rom their epen#ive phone net>or#! ? re#i#ted thi# &or a (ong timeand ?5m #ti(( not entire(y happy abo%t it! .%t i& yo%5re >riting &or the >or(d yo% have to (i#ten to yo%rc%#tomer# J thi# doe#n5t change %#t beca%#e they5re not paying yo% in money!. ) /e More essons /rom /ethmail

    .e&ore >e go bac to genera( #o&t>are1engineering i##%e# there are a co%p(e more #peci&ic (e##on# &romthe &etchmai( eperience to ponder! =ontechnica( reader# can #a&e(y #ip thi# #ection!he rc 6contro( &i(e #ynta inc(%de# optiona( Knoi#e5 ey>ord# that are entire(y ignored by the par#er!he Eng(i#h1(ie #ynta they a((o> i# con#iderab(y more readab(e than the traditiona( ter#eey>ord1va(%e pair# yo% get >hen yo% #trip them a(( o%t!he#e #tarted o%t a# a (ate1night eperiment >hen ? noticed ho> m%ch the rc &i(e dec(aration# >ere

    beginning to re#emb(e an imperative mini(ang%age! 6hi# i# a(#o >hy ? changed the origina( popc(ient17

    K#erver5 ey>ord to Kpo((5!?t #eemed to me that trying to mae that imperative mini(ang%age more (ie Eng(i#h might mae it ea#ierto %#e! =o> a(tho%gh ?5m a convinced parti#an o& the ;mae it a (ang%age< #choo( o& de#ign a#

    eemp(i&ied by Emac# and ) and many databa#e engine# ? am not norma((y a big &an o&;Eng(i#h1(ie< #yntae#!raditiona((y programmer# have tended to &avor contro( #yntae# that are very preci#e and compact andhave no red%ndancy at a((! hi# i# a c%(t%ra( (egacy &rom >hen comp%ting re#o%rce# >ere epen#ive #o

    par#ing #tage# had to be a# cheap and #imp(e a# po##ib(e! Eng(i#h >ith abo%t +0V red%ndancy (ooed(ie a very inappropriate mode( then!hi# i# not my rea#on &or norma((y avoiding Eng(i#h1(ie #yntae#N ? mention it here on(y to demo(i#h it!ith cheap cyc(e# and core ter#ene## #ho%(d not be an end in it#e(&! =o>aday# it5# more important &or a(ang%age to be convenient &or h%man# than to be cheap &or the comp%ter!here remain ho>ever good rea#on# to be >ary! 'ne i# the comp(eity co#t o& the par#ing #tage J yo%don5t >ant to rai#e that to the point >here it5# a #igni&icant #o%rce o& b%g# and %#er con&%#ion in it#e(&!,nother i# that trying to mae a (ang%age #ynta Eng(i#h1(ie o&ten demand# that the ;Eng(i#h< it #pea#

    be bent #erio%#(y o%t o& #hape #o m%ch #o that the #%per&icia( re#emb(ance to nat%ra( (ang%age i# a#con&%#ing a# a traditiona( #ynta >o%(d have been! 6To% #ee thi# bad e&&ect in a (ot o& #o1ca((ed ;&o%rthgeneration< and commercia( databa#e1I%ery (ang%age#!he &etchmai( contro( #ynta #eem# to avoid the#e prob(em# beca%#e the (ang%age domain i# etreme(yre#tricted! ?t5# no>here near a genera(1p%rpo#e (ang%ageN the thing# it #ay# #imp(y are not verycomp(icated #o there5# (itt(e potentia( &or con&%#ion in moving menta((y bet>een a tiny #%b#et o& Eng(i#hand the act%a( contro( (ang%age! ? thin there may be a >ider (e##on here:*B! hen yo%r (ang%age i# no>here near %ring1comp(ete #yntactic #%gar can be yo%r &riend!,nother (e##on i# abo%t #ec%rity by ob#c%rity! Some &etchmai( %#er# a#ed me to change the #o&t>are to#tore pa##>ord# encrypted in the rc &i(e #o #nooper# >o%(dn5t be ab(e to ca#%a((y #ee them!? didn5t do it beca%#e thi# doe#n5t act%a((y add protection! ,nyone >ho5# acI%ired permi##ion# to read

    yo%r rc &i(e >i(( be ab(e to r%n &etchmai( a# yo% any>ay J and i& it5# yo%r pa##>ord they5re a&ter they5dbe ab(e to rip the nece##ary decoder o%t o& the &etchmai( code it#e(& to get it!1"

    *0

  • 8/14/2019 Eric Steven Raymond - The Cathedral and the Bazaar.doc

    11/21

    The Cathedral and the Bazaar Eric Steven Raymond

    ,(( !&etchmai(rc pa##>ord encryption >o%(d have done i# give a &a(#e #en#e o& #ec%rity to peop(e >hodon5t thin very hard! he genera( r%(e here i#:*7! , #ec%rity #y#tem i# on(y a# #ec%re a# it# #ecret! .e>are o& p#e%do1#ecret#!4. *eessary -reonditions !or the Bazaar 5tyleEar(y revie>er# and te#t a%dience# &or thi# paper con#i#tent(y rai#ed I%e#tion# abo%t the precondition# &or#%cce##&%( ba9aar1#ty(e deve(opment inc(%ding both the I%a(i&ication# o& the proect (eader and the #tateo& code at the time one goe# p%b(ic and #tart# to try to b%i(d a co1deve(oper comm%nity!?t5# &air(y c(ear that one cannot code &rom the gro%nd %p in ba9aar #ty(e O?=P! 'ne can te#t deb%g andimprove in ba9aar #ty(e b%t it >o%(d be very hard to ori'inate a proect in ba9aar mode! )in%# didn5t tryit! ? didn5t either! To%r na#cent deve(oper comm%nity need# to have #omething r%nnab(e and te#tab(e to

    p(ay >ith!hen yo% #tart comm%nity1b%i(ding >hat yo% need to be ab(e to pre#ent i# a(la%si&le (romise! To%r

    program doe#n5t have to >or partic%(ar(y >e((! ?t can be cr%de b%ggy incomp(ete and poor(ydoc%mented! hat it m%#t not &ai( to do i# 6a r%n and 6b convince potentia( co1deve(oper# that it can beevo(ved into #omething rea((y neat in the &ore#eeab(e &%t%re!)in% and &etchmai( both >ent p%b(ic >ith #trong attractive ba#ic de#ign#! any peop(e thining abo%t

    the ba9aar mode( a# ? have pre#ented it have correct(y con#idered thi# critica( then %mped &rom it to theconc(%#ion that a high degree o& de#ign int%ition and c(everne## in the proect (eader i# indi#pen#ab(e!.%t )in%# got hi# de#ign &rom Gni! ? got mine initia((y &rom the ance#tra( popc(ient 6tho%gh it >o%(d(ater change a great dea( m%ch more proportionate(y #peaing than ha# )in%! So doe# the(eader/coordinator &or a ba9aar1#ty(e e&&ort rea((y have to have eceptiona( de#ign ta(ent or can he get byon (everaging the de#ign ta(ent o& other#F? thin it i# not critica( that the coordinator be ab(e to originate de#ign# o& eceptiona( bri((iance b%t it i#ab#o(%te(y critica( that the coordinator be ab(e to reco'nize 'ood desi'n ideas from others!1#

    .oth the )in% and &etchmai( proect# #ho> evidence o& thi#! )in%# >hi(e not 6a# previo%#(y di#c%##ed a#pectac%(ar(y origina( de#igner ha# di#p(ayed a po>er&%( nac &or recogni9ing good de#ign and

    integrating it into the )in% erne(! ,nd ? have a(ready de#cribed ho> the #ing(e mo#t po>er&%( de#ignidea in &etchmai( 6S" &or>arding came &rom #omebody e(#e!Ear(y a%dience# o& thi# paper comp(imented me by #%gge#ting that ? am prone to %nderva(%e de#ignorigina(ity in ba9aar proect# beca%#e ? have a (ot o& it my#e(& and there&ore tae it &or granted! heremay be #ome tr%th to thi#N de#ign 6a# oppo#ed to coding or deb%gging i# certain(y my #tronge#t #i((!.%t the prob(em >ith being c(ever and origina( in #o&t>are de#ign i# that it get# to be a habit J yo% #tartre&(eive(y maing thing# c%te and comp(icated >hen yo% #ho%(d be eeping them rob%#t and #imp(e! ?have had proect# cra#h on me beca%#e ? made thi# mi#tae b%t ? managed not to >ith &etchmai(!So ? be(ieve the &etchmai( proect #%cceeded part(y beca%#e ? re#trained my tendency to be c(everN thi#arg%e# 6at (ea#t again#t de#ign origina(ity being e##entia( &or #%cce##&%( ba9aar proect#! ,nd con#ider)in%! S%ppo#e )in%# orva(d# had been trying to p%(( o&& &%ndamenta( innovation# in operating #y#temde#ign d%ring the deve(opmentN doe# it #eem at a(( (ie(y that the re#%(ting erne( >o%(d be a# #tab(e and

    #%cce##&%( a# >hat >e haveF, certain ba#e (eve( o& de#ign and coding #i(( i# reI%ired o& co%r#e b%t ? epect a(mo#t anybody#erio%#(y thining o& (a%nching a ba9aar e&&ort >i(( a(ready be above that minim%m! he open1#o%rcecomm%nity5# interna( maret in rep%tation eert# #%bt(e pre##%re on peop(e not to (a%nch deve(opmente&&ort# they5re not competent to &o((o> thro%gh on! So &ar thi# #eem# to have >ored pretty >e((!here i# another ind o& #i(( not norma((y a##ociated >ith #o&t>are deve(opment >hich ? thin i# a#important a# de#ign c(everne## to ba9aar proect# J and it may be more important! , ba9aar proectcoordinator or (eader m%#t have good peop(e and comm%nication# #i((#!hi# #ho%(d be obvio%#! ?n order to b%i(d a deve(opment comm%nity yo% need to attract peop(e intere#tthem in >hat yo%5re doing and eep them happy abo%t the amo%nt o& >or they5re doing! echnica(#i99(e >i(( go a (ong >ay to>ard# accomp(i#hing thi# b%t it5# &ar &rom the >ho(e #tory! he per#ona(ity

    yo% proect matter# too!?t i# not a coincidence that )in%# i# a nice g%y >ho mae# peop(e (ie him and >ant to he(p him! ?t5# nota coincidence that ?5m an energetic etrovert >ho enoy# >oring a cro>d and ha# #ome o& the de(ivery

    **

  • 8/14/2019 Eric Steven Raymond - The Cathedral and the Bazaar.doc

    12/21

    The Cathedral and the Bazaar Eric Steven Raymond

    and in#tinct# o& a #tand1%p comic! o mae the ba9aar mode( >or it he(p# enormo%#(y i& yo% have at(ea#t a (itt(e #i(( at charming peop(e!2*

    16. The 5oial Conte7t o! &pen85oure 5o!tare?t i# tr%(y >ritten: the be#t hac# #tart o%t a# per#ona( #o(%tion# to the a%thor5# everyday prob(em# and#pread beca%#e the prob(em t%rn# o%t to be typica( &or a (arge c(a## o& %#er#! hi# tae# %# bac to thematter o& r%(e * re#tated in a perhap# more %#e&%( >ay:*8! o #o(ve an intere#ting prob(em #tart by &inding a prob(em that i# intere#ting to yo%!So it >a# >ith Car( arri# and the ance#tra( popc(ient and #o >ith me and &etchmai(! .%t thi# ha# been%nder#tood &or a (ong time! he intere#ting point the point that the hi#torie# o& )in% and &etchmai( #eemto demand >e &oc%# on i# the net #tage J the evo(%tion o& #o&t>are in the pre#ence o& a (arge and activecomm%nity o& %#er# and co1deve(oper#!?n ;he ythica( an1onthare proect mae# it (ater! e arg%ed that the comp(eity and comm%nicationco#t# o& a proect ri#e >ith the #I%are o& the n%mber o& deve(oper# >hi(e >or done on(y ri#e# (inear(y!hi# c(aim ha# #ince become no>n a# ;.roo#5# )a>< and i# >ide(y regarded a# a tr%i#m! .%t i&

    .roo#5# )a> >ere the >ho(e pict%re )in% >o%(d be impo##ib(e!@era(deinberg5# c(a##ic ;he "#ycho(ogy '& Comp%ter "rogramming< #%pp(ied >hat in hind#ight >ecan #ee a# a vita( correction to .roo#! ?n hi# di#c%##ion o& ;ego(e## programminghere deve(oper# are not territoria( abo%t their code and enco%rage other peop(e to (oo &or

    b%g# and potentia( improvement# in it improvement happen# dramatica((y &a#ter than e(#e>here!einberg5# choice o& termino(ogy ha# perhap# prevented hi# ana(y#i# &rom gaining the acceptance itde#erved J one ha# to #mi(e at the tho%ght o& de#cribing ?nternet hacer# a# ;ego(e##hat >e5re (earning &rom )in% 6and >hat ?5ve veri&iedeperimenta((y on a #ma((er #ca(e by de(iberate(y copying )in%#5# method# OE@CSP! hat i# that >hi(ecoding remain# an e##entia((y #o(itary activity the rea((y great hac# come &rom harne##ing the attention

    and brainpo>er o& entire comm%nitie#! he deve(oper >ho %#e# on(y hi# or her o>n brain in a c(o#edproect i# going to &a(( behind the deve(oper >ho no># ho> to create an open evo(%tionary contet in>hich &eedbac ep(oring the de#ign #pace code contrib%tion# b%g1#potting and other improvement#come bac &rom h%ndred# 6perhap# tho%#and# o& peop(e!21.%t the traditiona( Gni >or(d >a# prevented &rom p%#hing thi# approach to the %(timate by #evera(&actor#! 'ne >a# the (ega( contraint# o& vario%# (icen#e# trade #ecret# and commercia( intere#t#! ,nother6in hind#ight >a# that the ?nternet >a#n5t yet good eno%gh!.e&ore cheap ?nternet there >ere #ome geographica((y compact comm%nitie# >here the c%(t%reenco%ragedeinberg5# ;ego(e##< programming and a deve(oper co%(d ea#i(y attract a (ot o& #i((edibit9er# and co1deve(oper#! .e(( )ab# the ? ,? )ab GC .ere(ey J the#e became the home o&innovation# that are (egendary and #ti(( potent!

    )in% >a# the &ir#t proect to mae a con#cio%# and #%cce##&%( e&&ort to %#e the entire !orld a# it# ta(entpoo(! ? don5t thin it5# a coincidence that the ge#tation period o& )in% coincided >ith the birth o& theor(d ide eb and that )in% (e&t it# in&ancy d%ring the #ame period in *31*4 that #a> thetaeo&& o& the ?S" ind%#try and the ep(o#ion o& main#tream intere#t in the ?nternet! )in%# >a# the &ir#t

    per#on >ho (earned ho> to p(ay by the ne> r%(e# that perva#ive ?nternet acce## made po##ib(e!hi(e cheap ?nternet >a# a nece##ary condition &or the )in% mode( to evo(ve ? thin it >a# not by it#e(&a #%&&icient condition! ,nother vita( &actor >a# the deve(opment o& a (eader#hip #ty(e and #et o&cooperative c%#tom# that co%(d a((o> deve(oper# to attract co1deve(oper# and get maim%m (everage o%to& the medi%m!.%t >hat i# thi# (eader#hip #ty(e and >hat are the#e c%#tom#F hey cannot be ba#ed on po>erre(ation#hip# J and even i& they co%(d be (eader#hip by coercion >o%(d not prod%ce the re#%(t# >e #ee!

    einberg I%ote# the a%tobiography o& the *th1cent%ry R%##ian anarchi#t "yotr ,(eeyvich ropotin5#$emoirs of a Revol%tionist to good e&&ect on thi# #%bect:aving been bro%ght %p in a #er&1o>ner5# &ami(y ? entered active (i&e (ie a(( yo%ng men o& my time >ith a

    *2

  • 8/14/2019 Eric Steven Raymond - The Cathedral and the Bazaar.doc

    13/21

    The Cathedral and the Bazaar Eric Steven Raymond

    great dea( o& con&idence in the nece##ity o& commanding ordering #co(ding p%ni#hing and the (ie! .%t >henat an ear(y #tage ? had to manage #erio%# enterpri#e# and to dea( >ith O&reeP men and >hen each mi#tae>o%(d (ead at once to heavy con#eI%ence# ? began to appreciate the di&&erence bet>een acting on the princip(eo& command and di#cip(ine and acting on the princip(e o& common %nder#tanding! he &ormer >or# admirab(yin a mi(itary parade b%t it i# >orth nothing >here rea( (i&e i# concerned and the aim can be achieved on(ythro%gh the #evere e&&ort o& many converging >i((#!he ;#evere e&&ort o& many converging >i((#< i# preci#e(y >hat a proect (ie )in% reI%ire# J and the;princip(e o& command< i# e&&ective(y impo##ib(e to app(y among vo(%nteer# in the anarchi#t5# paradi#e>e ca(( the ?nternet! o operate and compete e&&ective(y hacer# >ho >ant to (ead co((aborative proect#have to (earn ho> to recr%it and energi9e e&&ective comm%nitie# o& intere#t in the mode vag%e(y22

    #%gge#ted by ropotin5# ;princip(e o& %nder#tanding!OS"PEar(ier ? re&erred to the ;De(phi e&&ect< a# a po##ib(e ep(anation &or )in%#5# )a>! .%t more po>er&%(ana(ogie# to adaptive #y#tem# in bio(ogy and economic# a(#o irre#i#tab(y #%gge#t them#e(ve#! he )in%>or(d behave# in many re#pect# (ie a &ree maret or an eco(ogy a co((ection o& #e(&i#h agent# attemptingto maimi9e %ti(ity >hich in the proce## prod%ce# a #e(&1correcting #pontaneo%# order more e(aborate

    and e&&icient than any amo%nt o& centra( p(anning co%(d have achieved! ere then i# the p(ace to #ee the;princip(e o& %nder#tandingn ego #ati#&action and rep%tation among other hacer#! 6'ne may ca(( their motivation;a(tr%i#ticor thi# >ay are not act%a((y %ncommonN one other in >hich ? have (ong

    participated i# #cience &iction &andom >hich %n(ie hacerdom ha# (ong ep(icit(y recogni9ed ;egoboohich the deve(opment i#mo#t(y done by other# and n%rt%ring intere#t in the proect %nti( it became #e(&1#%#taining ha# #ho>n an

    ac%te gra#p o& ropotin5# ;princip(e o& #hared %nder#tanding o& the )in%>or(d enab(e# %# to #ee ho> that %nder#tanding i# app(ied!e may vie> )in%#5# method a# a >ay to create an e&&icient maret in ;egoboo< J to connect the#e(&i#hne## o& individ%a( hacer# a# &irm(y a# po##ib(e to di&&ic%(t end# that can on(y be achieved by#%#tained cooperation!ith the &etchmai( proect ? have #ho>n 6a(beit on a #ma((er #ca(e that hi#method# can be d%p(icated >ith good re#%(t#! "erhap# ? have even done it a bit more con#cio%#(y and#y#tematica((y than he!any peop(e 6e#pecia((y tho#e >ho po(itica((y di#tr%#t &ree maret# >o%(d epect a c%(t%re oe(&1directed egoi#t# to be &ragmented territoria( >a#te&%( #ecretive and ho#ti(e! .%t thi# epectation i#c(ear(y &a(#i&ied by 6to give %#t one eamp(e the #t%nning variety I%a(ity and depth o& )in%doc%mentation! ?t i# a ha((o>ed given that programmer# hate doc%mentingN ho> i# it then that )in%hacer# generate #o m%ch o& itF Evident(y )in%5# &ree maret in egoboo >or# better to prod%ce

    virt%o%# other1directed behavior than the ma##ive(y1&%nded doc%mentation #hop# o& commercia(#o&t>are prod%cer#!.oth the &etchmai( and )in% erne( proect# #ho> that by proper(y re>arding the ego# o& many other23

    hacer# a #trong deve(oper/coordinator can %#e the ?nternet to capt%re the bene&it# o& having (ot# o&co1deve(oper# >itho%t having a proect co((ap#e into a chaotic me##! So to .roo#5# )a> ?co%nter1propo#e the &o((o>ing:*: "rovided the deve(opment coordinator ha# a medi%m at (ea#t a# good a# the ?nternet and no># ho> to (ead>itho%t coercion many head# are inevitab(y better than one!? thin the &%t%re o& open1#o%rce #o&t>are >i(( increa#ing(y be(ong to peop(e >ho no> ho> to p(ay)in%#5# game peop(e >ho (eave behind the cathedra( and embrace the ba9aar! hi# i# not to #ay that

    individ%a( vi#ion and bri((iance >i(( no (onger matterN rather ? thin that the c%tting edge o& open1#o%rce#o&t>are >i(( be(ong to peop(e >ho #tart &rom individ%a( vi#ion and bri((iance then amp(i&y it thro%ghthe e&&ective con#tr%ction o& vo(%ntary comm%nitie# o& intere#t!

    *3

  • 8/14/2019 Eric Steven Raymond - The Cathedral and the Bazaar.doc

    14/21

    The Cathedral and the Bazaar Eric Steven Raymond

    "erhap# thi# i# not on(y the &%t%re o& o(en,so%rce #o&t>are! =o c(o#ed1#o%rce deve(oper can match thepoo( o& ta(ent the )in% comm%nity can bring to bear on a prob(em! Hery &e> co%(d a&&ord even to hirethe more than t>o h%ndred 6*: #i h%ndred 2000: eight h%ndred peop(e >ho have contrib%ted to&etchmai(A"erhap# in the end the open1#o%rce c%(t%re >i(( tri%mph not beca%#e cooperation i# mora((y right or#o&t>are ;hoarding< i# mora((y >rong 6a##%ming yo% be(ieve the (atter >hich neither )in%# nor ? do b%t#imp(y beca%#e the c(o#ed1#o%rce >or(d cannot >in an evo(%tionary arm# race >ith open1#o%rcecomm%nitie# that can p%t order# o& magnit%de more #i((ed time into a prob(em!11. &n Management and the Maginot inehe origina( ;Cathedra( and .a9aar< paper o& *7 ended >ith the vi#ion above J that o& happynet>ored horde# o& programmer/anarchi#t# o%tcompeting and over>he(ming the hierarchica( >or(d o&conventiona( c(o#ed #o&t>are!, good many #eptic# >eren5t convinced ho>everN and the I%e#tion# they rai#e de#erve a &airengagement! o#t o& the obection# to the ba9aar arg%ment come do>n to the c(aim that it# proponent#have %ndere#timated the prod%ctivity1m%(tip(ying e&&ect o& conventiona( management!raditiona((y1minded #o&t>are1deve(opment manager# o&ten obect that the ca#%a(ne## >ith >hich

    proect gro%p# &orm and change and di##o(ve in the open1#o%rce >or(d negate# a #igni&icant part o& the24apparent advantage o& n%mber# that the open1#o%rce comm%nity ha# over any #ing(e c(o#ed1#o%rcedeve(oper! hey >o%(d ob#erve that in #o&t>are deve(opment it i# rea((y #%#tained e&&ort over time andthe degree to >hich c%#tomer# can epect contin%ing inve#tment in the prod%ct that matter# not %#t ho>many peop(e have thro>n a bone in the pot and (e&t it to #immer!here i# #omething to thi# arg%ment to be #%reN in &act ? have deve(oped the idea that epected &%t%re#ervice va(%e i# the ey to the economic# o& #o&t>are prod%ction in he agic Ca%(dron6http://>>>!t%edo!org/Me#r/>riting#/magic1ca%(dron/!.%t thi# arg%ment a(#o ha# a maor hidden prob(emN it# imp(icit a##%mption that open1#o%rcedeve(opment cannot de(iver #%ch #%#tained e&&ort! ?n &act there have been open1#o%rce proect# that

    maintained a coherent direction and an e&&ective maintainer comm%nity over I%ite (ong period# o& time>itho%t the ind# o& incentive #tr%ct%re# or in#tit%tiona( contro(# that conventiona( management &ind#e##entia(! he deve(opment o& the @=G Emac# editor i# an etreme and in#tr%ctive eamp(eN it ha#ab#orbed the e&&ort# o& h%ndred# o& contrib%tor# over &i&teen year# into a %ni&ied architect%ra( vi#ionde#pite high t%rnover and the &act that on(y one per#on 6it# a%thor ha# been contin%o%#(y active d%ringa(( that time! =o c(o#ed1#o%rce editor ha# ever matched thi# (ongevity record!hi# #%gge#t# a rea#on &or I%e#tioning the advantage# o& conventiona((y1managed #o&t>are deve(opmentthat i# independent o& the re#t o& the arg%ment# over cathedra( v#! ba9aar mode! ?& it5# po##ib(e &or @=GEmac# to epre## a con#i#tent architect%ra( vi#ion over &i&teen year# or &or an operating #y#tem (ie)in% to do the #ame over eight year# o& rapid(y changing hard>are and p(at&orm techno(ogyN and i& 6a#i# indeed the ca#e there have been many >e((1architected open1#o%rce proect# o& more than &ive year#d%ration J then >e are entit(ed to >onder >hat i& anything the tremendo%# overhead o&

    conventiona((y1managed deve(opment i# act%a((y b%ying %#!hatever it i# certain(y doe#n5t inc(%de re(iab(e eec%tion by dead(ine or on b%dget or to a(( &eat%re# o&the #peci&icationN it5# a rare Kmanaged5 proect that meet# even one o& the#e goa(# (et a(one a(( three! ?ta(#o doe# not appear to be abi(ity to adapt to change# in techno(ogy and economic contet d%ring the

    proect (i&etime eitherN the open1#o%rce comm%nity ha# provenfar more e&&ective on that #core 6a# onecan readi(y veri&y &or eamp(e by comparing the thirty1year hi#tory o& the ?nternet >ith the #hortha(&1(ive# o& proprietary net>oring techno(ogie# J or the co#t o& the *B1bit to 321bit tran#ition inicro#o&tindo># >ith the near(y e&&ort(e## %p1migration o& )in% d%ring the #ame period not on(ya(ong the ?nte( (ine o& deve(opment b%t to more than a do9en other hard>are p(at&orm# inc(%ding theB41bit ,(pha a# >e((!'ne thing many peop(e thin the traditiona( mode b%y# yo% i# #omebody to ho(d (ega((y (iab(e and

    potentia((y recover compen#ation &rom i& the proect goe# >rong! .%t thi# i# an i((%#ionN mo#t #o&t>are25

    (icen#e# are >ritten to di#c(aim even >arranty o& merchantabi(ity (et a(one per&ormance J and ca#e# o&

    *4

  • 8/14/2019 Eric Steven Raymond - The Cathedral and the Bazaar.doc

    15/21

    The Cathedral and the Bazaar Eric Steven Raymond

    #%cce##&%( recovery &or #o&t>are nonper&ormance are vani#hing(y rare! Even i& they >ere common&ee(ing com&orted by having #omebody to #%e >o%(d be mi##ing the point! To% didn5t >ant to be in a(a>#%itN yo% >anted >oring #o&t>are!So >hat i# a(( that management overhead b%yingF?n order to %nder#tand that >e need to %nder#tand >hat #o&t>are deve(opment manager# be(ieve they do!, >oman ? no> >ho #eem# to be very good at thi# ob #ay# #o&t>are proect management ha# &ive&%nction#: o define 'oals and eep everybody pointed in the #ame direction! o monitor and mae #%re cr%cia( detai(# don5t get #ipped! o motivatepeop(e to do boring b%t nece##ary dr%dge>or! o or'anize the dep(oyment o& peop(e &or be#t prod%ctivity! o marshal reso%rces needed to #%#tain the proect!,pparent(y >orthy goa(# a(( o& the#eN b%t %nder the open1#o%rce mode( and in it# #%rro%nding #ocia(contet they can begin to #eem #trange(y irre(evant!e5(( tae them in rever#e order!y &riend report# that a (ot o& reso%rce marshallin' i# ba#ica((y de&en#iveN once yo% have yo%r peop(eand machine# and o&&ice #pace yo% have to de&end them &rom peer manager# competing &or the #ame

    re#o%rce# and higher1%p# trying to a((ocate the mo#t e&&icient %#e o& a (imited poo(!.%t open1#o%rce deve(oper# are vo(%nteer# #e(&1#e(ected &or both intere#t and abi(ity to contrib%te to the

    proect# they >or on 6and thi# remain# genera((y tr%e even >hen they are being paid a #a(ary to hacopen #o%rce! he vo(%nteer etho# tend# to tae care o& the Kattac5 #ide o& re#o%rce1mar#ha((inga%tomatica((yN peop(e bring their o>n re#o%rce# to the tab(e! ,nd there i# (itt(e or no need &or a managerto Kp(ay de&en#e5 in the conventiona( #en#e!,ny>ay in a >or(d o& cheap "C# and &a#t ?nternet (in# >e &ind pretty con#i#tent(y that the on(y rea((y(imiting re#o%rce i# #i((ed attention! 'pen1#o%rce proect# >hen they &o%nder e##entia((y never do #o&or >ant o& machine# or (in# or o&&ice #paceN they die on(y >hen the deve(oper# them#e(ve# (o#e intere#t!26

    hat being the ca#e it5# do%b(y important that open1#o%rce hacer# or'anize themselves &or maim%m

    prod%ctivity by #e(&1#e(ection J and the #ocia( mi(ie% #e(ect# r%th(e##(y &or competence! y &riend&ami(iar >ith both the open1#o%rce >or(d and (arge c(o#ed proect# be(ieve# that open #o%rce ha# been#%cce##&%( part(y beca%#e it# c%(t%re on(y accept# the mo#t ta(ented +V or #o o& the programming

    pop%(ation! She #pend# mo#t o& her time organi9ing the dep(oyment o& the other +V and ha# th%#ob#erved &ir#t1hand the >e((1no>n variance o& a &actor o& one h%ndred in prod%ctivity bet>een the mo#tab(e programmer# and the mere(y competent!he #i9e o& that variance ha# a(>ay# rai#ed an a>>ard I%e#tion: >o%(d individ%a( proect# and the &ie(da# a >ho(e be better o&& >itho%t more than +0V o& the (ea#t ab(e in itF ho%ght&%( manager# have%nder#tood &or a (ong time that i& conventiona( #o&t>are management5# on(y &%nction >ere to convert the(ea#t ab(e &rom a net (o## to a margina( >in the game might not be >orth the cand(e!he #%cce## o& the open1#o%rce comm%nity #harpen# thi# I%e#tion con#iderab(y by providing hardevidence that it i# o&ten cheaper and more e&&ective to recr%it #e(&1#e(ected vo(%nteer# &rom the ?nternet

    than it i# to manage b%i(ding# &%(( o& peop(e >ho >o%(d rather be doing #omething e(#e!hich bring# %# neat(y to the I%e#tion o& motivation! ,n eI%iva(ent and o&ten1heard >ay to #tate my&riend5# point i# that traditiona( deve(opment management i# a nece##ary compen#ation &or poor(ymotivated programmer# >ho >o%(d not other>i#e t%rn o%t good >or!hi# an#>er %#%a((y trave(# >ith a c(aim that the open1#o%rce comm%nity can on(y be re(ied on to do>or that i# K#ey5 or technica((y #>eetN anything e(#e >i(( be (e&t %ndone 6or done on(y poor(y %n(e##it5# ch%rned o%t by money1motivated c%bic(e peon# >ith manager# cracing >hip# over them! ? addre##the p#ycho(ogica( and #ocia( rea#on# &or being #eptica( o& thi# c(aim in ;ome#teading the =oo#phereever ? thin it5# more intere#ting to point o%t the imp(ication# o& accepting it a#tr%e!?& the conventiona( c(o#ed1#o%rce heavi(y1managed #ty(e o& #o&t>are deve(opment i# rea((y de&ended

    on(y by a #ort o& aginot (ine o& prob(em# cond%cive to boredom then it5# going to remain viab(e ineach individ%a( app(ication area &or on(y #o (ong a# nobody &ind# tho#e prob(em# rea((y intere#ting andnobody e(#e &ind# any >ay to ro%te aro%nd them! .eca%#e the moment there i# open1#o%rce competition

    *+

  • 8/14/2019 Eric Steven Raymond - The Cathedral and the Bazaar.doc

    16/21

    The Cathedral and the Bazaar Eric Steven Raymond

    &or a Kboring5 piece o& #o&t>are c%#tomer# are going to no> that it >a# &ina((y tac(ed by #omeone >hocho#e that prob(em to #o(ve beca%#e o& a &a#cination >ith the prob(em it#e(& J >hich in #o&t>are a# inother ind# o& creative >or i# a &ar more e&&ective motivator than money a(one!27

    aving a conventiona( management #tr%ct%re #o(e(y in order to motivate then i# probab(y good tactic#b%t bad #trategyN a #hort1term >in b%t in the (onger term a #%rer (o##!So &ar conventiona( deve(opment management (oo# (ie a bad bet no> again#t open #o%rce on t>o

    point# 6re#o%rce mar#ha((ing organi9ation and (ie it5# (iving on borro>ed time >ith re#pect to a third6motivation! ,nd the poor be(eag%ered conventiona( manager i# not going to get any #%cco%r &rom themonitorin' i##%eN the #tronge#t arg%ment the open1#o%rce comm%nity ha# i# that decentra(i9ed peerrevie> tr%mp# a(( the conventiona( method# &or trying to en#%re that detai(# don5t get #(ipped!Can >e #ave definin' 'oals a# a %#ti&ication &or the overhead o& conventiona( #o&t>are proectmanagementF "erhap#N b%t to do #o >e5(( need good rea#on to be(ieve that management committee# andcorporate roadmap# are more #%cce##&%( at de&ining >orthy and >ide(y1#hared goa(# than the proect(eader# and triba( e(der# >ho &i(( the ana(ogo%# ro(e in the open1#o%rce >or(d!hat i# on the &ace o& it a pretty hard ca#e to mae! ,nd it5# not #o m%ch the open1#o%rce #ide o& the

    ba(ance 6the (ongevity o& Emac# or )in%# orva(d#5# abi(ity to mobi(i9e horde# o& deve(oper# >ith ta( o&;>or(d domination&%(ne## o& conventiona(mechani#m# &or de&ining the goa(# o& #o&t>are proect#!'ne o& the be#t1no>n &o( theorem# o& #o&t>are engineering i# that B0V to 7+V o& conventiona(#o&t>are proect# either are never comp(eted or are reected by their intended %#er#! ?& that range i#any>here near tr%e 6and ?5ve never met a manager o& any eperience >ho di#p%te# it then more proect#than not are being aimed at goa(# that are either 6a not rea(i#tica((y attainab(e or 6b %#t p(ain >rong!hi# more than any other prob(em i# the rea#on that in today5# #o&t>are engineering >or(d the very

    phra#e ;management committee< i# (ie(y to #end chi((# do>n the hearer5# #pine J even 6or perhap#e#pecia((y i& the hearer i# a manager! he day# >hen on(y programmer# griped abo%t thi# pattern are(ong pa#tN KDi(bert5 cartoon# hang over e-ec%tives) de## no>!

    '%r rep(y then to the traditiona( #o&t>are deve(opment manager i# #imp(e J i& the open1#o%rcecomm%nity ha# rea((y %ndere#timated the va(%e o& conventiona( management !hy do so many of yo%dis(lay contem(t for yo%r o!n (rocess.

    'nce again the ei#tence o& the open1#o%rce comm%nity #harpen# thi# I%e#tion con#iderab(y J beca%#e>e havef%n doing >hat >e do! '%r creative p(ay ha# been racing %p technica( maret1#hare andmind1#hare #%cce##e# at an a#to%nding rate! e5re proving not on(y that >e can do better #o&t>are b%tthat/oy is an asset!2"

    >o and a ha(& year# a&ter the &ir#t ver#ion o& thi# e##ay the mo#t radica( tho%ght ? can o&&er to c(o#e >ithi# no (onger a vi#ion o& an open1#o%rce1dominated #o&t>are >or(dN that a&ter a(( (oo# p(a%#ib(e to a (oto& #ober peop(e in #%it# the#e day#!Rather ? >ant to #%gge#t >hat may be a >ider (e##on abo%t #o&t>are 6and probab(y abo%t every ind o&

    creative or pro&e##iona( >or! %man being# genera((y tae p(ea#%re in a ta# >hen it &a((# in a #ort o&optima(1cha((enge 9oneN not #o ea#y a# to be boring not too hard to achieve! , happy programmer i# one>ho i# neither %nder%ti(i9ed nor >eighed do>n >ith i((1&orm%(ated goa(# and #tre##&%( proce## &riction!

    En/oyment (redicts efficiency0!Re(ating to yo%r o>n >or proce## >ith &ear and (oathing 6even in the di#p(aced ironic >ay #%gge#ted

    by hanging %p Di(bert cartoon# #ho%(d there&ore be regarded in it#e(& a# a #ign that the proce## ha#&ai(ed! oy h%mor and p(ay&%(ne## are indeed a##et#N it >a# not main(y &or the a((iteration that ? >rote o&Whappy horde#W above and it i# no mere oe that the )in% ma#cot i# a c%dd(y neoteno%# peng%in!?t may >e(( t%rn o%t that one o& the mo#t important e&&ect# o& open #o%rce5# #%cce## >i(( be to teach %#that p(ay i# the mo#t economica((y e&&icient mode o& creative >or!12. )9noledgements

    hi# paper >a# improved by conver#ation# >ith a (arge n%mber o& peop(e >ho he(ped deb%g it! "artic%(arthan# to e&& D%ty_d%tyL>am!%md!ed%_ >ho #%gge#ted the ;deb%gging i# para((e(i9ab(eare management! "hi(%d#on_phi(!h%d#onLiname!com_reminded me that the #ocia( organi9ation o& the hacer c%(t%remirror# the organi9ation o& it# #o&t>are and vice1ver#a! -ina((y )in%# orva(d#5# comment# >ere he(p&%(and hi# ear(y endor#ement very enco%raging!2#

    13. /or /urther Reading? I%oted #evera( bit# &rom -rederic "! .roo#5# c(a##ic The $ythical $an,$onthbeca%#e in manyre#pect# hi# in#ight# have yet to be improved %pon! ? hearti(y recommend the 2+th ,nniver#ary edition&rom ,ddi#on1e#(ey 6?S.= 0120*183++1 >hich add# hi# *8B o Silver B%lletpaper!

    he ne> edition i# >rapped %p by an inva(%ab(e 201year#1(ater retro#pective in >hich .roo# &orthright(yadmit# to the &e> %dgement# in the origina( tet >hich have not #tood the te#t o& time! ? &ir#t read theretro#pective a&ter the &ir#t p%b(ic ver#ion o& thi# paper >a# #%b#tantia((y comp(ete and >a# #%rpri#ed todi#cover that .roo# attrib%te# ba9aar1(ie practice# to icro#o&tA 6?n &act ho>ever thi# attrib%tiont%rned o%t to be mi#taen! ?n *8 >e (earned &rom the a((o>een Doc%ment#6http://>>>!open#o%rce!org/ha((o>een/ that icro#o&t5# interna( deve(oper comm%nity i# heavi(y

    ba(ani9ed >ith the ind o& genera( #o%rce acce## needed to #%pport a ba9aar not even tr%(y po##ib(e!@era(d ! einberg5# The sycholo'y f Com(%ter ro'rammin' 6=e> Tor Han =o#trand Reinho(d*7* introd%ced the rather %n&ort%nate(y1(abe(ed concept o& ;ego(e## programminga#no>here near the &ir#t per#on to rea(i9e the &%ti(ity o& the ;princip(e o& commanda# probab(y the&ir#t to recogni9e and arg%e the point in partic%(ar connection >ith #o&t>are deve(opment!

    Richard "! @abrie( contemp(ating the Gni c%(t%re o& the pre1)in% era re(%ctant(y arg%ed &or the#%periority o& a primitive ba9aar1(ie mode( in hi# *8 paperis( 8ood e!s9 Bad e!s9 and :o! To;in Bi'! ho%gh dated in #ome re#pect# thi# e##ay i# #ti(( right(y ce(ebrated among )i#p &an# 6inc(%dingme! , corre#pondent reminded me that the #ection tit(ed ;or#e ?# .etter< read# a(mo#t a# ananticipation o& )in%! he paper i# acce##ib(e on the or(d ide eb athttp://>>>!nagg%m!no/>or#e1i#1better!htm(!De arco and )i#ter5#eo(le!are rod%ctive ro/ects and Teams 6=e> TorN Dor#et o%#e *87N?S.= 0132B3310+1B i# an %nderappreciated gem >hich ? >a# de(ighted to #ee -red .roo# cite in hi#retro#pective! hi(e (itt(e o& >hat the a%thor# have to #ay i# direct(y app(icab(e to the )in% oropen1#o%rce comm%nitie# the a%thor#5 in#ight into the condition# nece##ary &or creative >or i# ac%teand >orth>hi(e &or anyone attempting to import #ome o& the ba9aar mode(5# virt%e# into a commercia(contet!

    -ina((y ? m%#t admit that ? very near(y ca((ed thi# paper ;he Cathedra( and the ,gorahen )in% r%bbed my no#e in them &ive year# (ater! he#e paper# are avai(ab(e on the eb athttp://>>>!agoric#!com/agorpaper#!htm(!1#. $pilog: *etsape $mraes the Bazaar?t5# a #trange &ee(ing to rea(i9e yo%5re he(ping mae hi#tory!!!!'n an%ary 22 *8 approimate(y #even month# a&ter ? &ir#t p%b(i#hed ;he Cathedra( and the .a9aaray the #o%rce &or =et#cape Comm%nicator

    6http://>>>!net#cape!com/ne>#re&/pr/ne>#re(ea#e++8!htm(! ? had had no c(%e thi# >a# going to happenbe&ore the day o& the anno%ncement!Eric ahn Eec%tive Hice "re#ident and Chie& echno(ogy '&&icer at =et#cape emai(ed me #hort(y

    *7

  • 8/14/2019 Eric Steven Raymond - The Cathedral and the Bazaar.doc

    18/21

    The Cathedral and the Bazaar Eric Steven Raymond

    a&ter>ard# a# &o((o>#: ;'n beha(& o& everyone at =et#cape ? >ant to than yo% &or he(ping %# get to thi#point in the &ir#t p(ace! To%r thining and >riting# >ere &%ndamenta( in#piration# to o%r deci#ion!ing >ee ? &(e> o%t to Si(icon Ha((ey at =et#cape5# invitation &or a day1(ong #trategycon&erence 6on -eb 4 *8 >ith #ome o& their top eec%tive# and technica( peop(e!e de#igned

    =et#cape5# #o%rce1re(ea#e #trategy and (icen#e together!, &e> day# (ater ? >rote the &o((o>ing:

    =et#cape i# abo%t to provide %# >ith a (arge1#ca(e rea(1>or(d te#t o& the ba9aar mode( in the commercia( >or(d!he open1#o%rce c%(t%re no> &ace# a dangerN i& =et#cape5# eec%tion doe#n5t >or the open1#o%rce conceptmay be #o di#credited that the commercia( >or(d >on5t to%ch it again &or another decade!'n the other hand thi# i# a(#o a #pectac%(ar opport%nity! ?nitia( reaction to the move on a(( Street ande(#e>here ha# been ca%tio%#(y po#itive! e5re being given a chance to prove o%r#e(ve# too! ?& =et#cape regain##%b#tantia( maret #hare thro%gh thi# move it %#t may #et o&& a (ong1overd%e revo(%tion in the #o&t>areind%#try!he net year #ho%(d be a very in#tr%ctive and intere#ting time!31

    ,nd indeed it >a#! ,# ? >rite in mid1* the deve(opment o& >hat >a# (ater named Ko9i((a5 ha# been

    on(y a I%a(i&ied #%cce##! ?t achieved =et#cape5# origina( goa( >hich >a# to deny icro#o&t a monopo(y(oc on the bro>#er maret! ?t ha# a(#o achieved #ome dramatic #%cce##e# 6notab(y the re(ea#e o& thenet1generation @eco rendering engine!o>ever it ha# not yet garnered the ma##ive deve(opment e&&ort &rom o%t#ide =et#cape that the o9i((a&o%nder# had origina((y hoped &or! he prob(em here #eem# to be that &or a (ong time the o9i((adi#trib%tion act%a((y broe one o& the ba#ic r%(e# o& the ba9aar mode(N they didn5t #hip #omething

    potentia( contrib%tor# co%(d ea#i(y r%n and #ee >oring! 6Gnti( more than a year a&ter re(ea#e b%i(dingo9i((a &rom #o%rce reI%ired a (icen#e &or the proprietary oti& (ibrary!o#t negative(y 6&rom the point o& vie> o& the o%t#ide >or(d the o9i((a gro%p ha# yet to #hip a

    prod%ction1I%a(ity bro>#er J and one o& the proect5# principa(# ca%#ed a bit o& a #en#ation by re#igningcomp(aining o& poor management and mi##ed opport%nitie#! ;'pen #o%rce< he correct(y ob#erved ;i#

    not magic piie d%#t! 6in ,%g%#t2000 than it did at the time o& amie Xa>in#i5# re#ignation (etter J b%t he >a# right to point o%t thatgoing open >i(( not nece##ari(y #ave an ei#ting proect that #%&&er# &rom i((1de&ined goa(# or #paghetticode or any o& the #o&t>are engineering5# other chronic i((#! o9i((a ha# managed to provide an eamp(e#im%(taneo%#(y o& ho> open #o%rce can #%cceed and ho> it co%(d &ai(!?n the mean time ho>ever the open1#o%rce idea ha# #cored #%cce##e# and &o%nd bacer# e(#e>here!*8 and (ate * #a> a tremendo%# ep(o#ion o& intere#t in the open1#o%rce deve(opment mode( atrend both driven by and driving the contin%ing #%cce## o& the )in% operating #y#tem! he trend o9i((ato%ched o&& i# contin%ing at an acce(erating rate!1'. $ndnotes ?nro'ramin' earls the noted comp%ter1#cience aphori#t on .ent(ey comment# on .roo#5#

    ob#ervation >ith ;?& yo% p(an to thro> one a>ay yo% >i(( thro> a>ay t>o!rong it5# that #tarting over >ith the right idea i# %#%a((y more e&&ective than trying to #a(vage a me##!

  • 8/14/2019 Eric Steven Raymond - The Cathedral and the Bazaar.doc

    19/21

    The Cathedral and the Bazaar Eric Steven Raymond

    #eem to be a net drag on open1#o%rce deve(opment! e propo#e# >hat ?5(( d%b ;a#(er5# )a>or tend to #ca(e #%b1Iadratica((y >ith team #i9e J that i# more #(o>(y than the p(anningand management overhead that >o%(d be needed to e(iminate them!hi# c(aim act%a((y doe# not contradict .roo#5# )a>! ?t may be the ca#e that tota( comp(eity overheadand v%(nerabi(ity to b%g# #ca(e# >ith the #I%are o& team #i9e b%t that the co#t# &rom d%(licated >or areneverthe(e## a #pecia( ca#e that #ca(e# more #(o>(y! ?t5# not hard to deve(op p(a%#ib(e rea#on# &or thi##tarting >ith the %ndo%bted &act that it i# m%ch ea#ier to agree on &%nctiona( bo%ndarie# bet>een di&&erentdeve(oper#5 code that >i(( prevent d%p(ication o& e&&ort than it i# to prevent the ind# o& %np(anned badinteraction# acro## the >ho(e #y#tem that %nder(y mo#t b%g#!he combination o& )in%#5# )a> and a#(er5# )a> #%gge#t# that there are act%a((y three critica( #i9eregime# in #o&t>are proect#! 'n #ma(( proect# 6? >o%(d #ay one to at mo#t three deve(oper# nomanagement #tr%ct%re more e(aborate than picing a (ead programmer i# needed! ,nd there i# #omeintermediate range above that in >hich the co#t o& traditiona( management i# re(ative(y (o> #o it#

    bene&it# &rom avoiding d%p(ication o& e&&ort b%g1tracing and p%#hing to #ee that detai(# are notover(ooed act%a((y net o%t po#itive!,bove that ho>ever the combination o& )in%#5# )a> and a#(er5# )a> #%gge#t# there i# a (arge1proect

    range in >hich the co#t# and prob(em# o& traditiona( management ri#e m%ch &a#ter than the epected co#t&rom d%p(ication o& e&&ort! =ot the (ea#t o& the#e co#t# i# a #tr%ct%ra( inabi(ity to harne## themany1eyeba((# e&&ect >hich 6a# >e5ve #een #eem# to do a m%ch better ob than traditiona( managementat maing #%re b%g# and detai(# are not over(ooed! h%# in the (arge1proect ca#e the combination o&the#e (a># e&&ective(y drive# the net payo&& o& traditiona( management to 9ero! he #p(it bet>een )in%5# eperimenta( and #tab(e ver#ion# ha# another &%nction re(ated to b%tdi#tinct &rom hedging ri#! he #p(it attac# another prob(em: the dead(ine## o& dead(ine#! hen

    programmer# are he(d both to an imm%tab(e &eat%re (i#t and a &ied drop1dead date I%a(ity goe# o%t the>indo> and there i# (ie(y a co(o##a( me## in the maing! ? am indebted to arco ?an#iti and ,(an33

    acCormac o& the arvard .%#ine## Schoo( &or pointing me at evidence that re(aing either one o&

    the#e con#traint# can mae #ched%(ing >orab(e!'ne >ay to do thi# i# to &i the dead(ine b%t (eave the &eat%re (i#t &(eib(e a((o>ing &eat%re# to drop o&& i&not comp(eted by dead(ine! hi# i# e##entia((y the #trategy o& the W#tab(eW erne( branchN ,(an Co 6the#tab(e1erne( maintainer p%t# o%t re(ea#e# at &air(y reg%(ar interva(# b%t mae# no g%arantee# abo%t>hen partic%(ar b%g# >i(( be &ied or &eat%re# bac1ported &rom the eperimenta( branch!he other >ay to do thi# i# to #et a de#ired &eat%re (i#t and de(iver on(y >hen it i# done! hi# i# e##entia((ythe #trategy o& the Weperimenta(W erne( branch! De arco and )i#ter cited re#earch #ho>ing that thi##ched%(ing po(icy 6W>ae me %p >hen it5# doneW prod%ce# not on(y the highe#t I%a(ity b%t on average#horter de(ivery time# than either Wrea(i#ticW or Waggre##iveW #ched%(ing!? have come to #%#pect 6a# o& ear(y 2000 that in ear(ier ver#ion# o& thi# paper ? #evere(y %ndere#timatedthe importance o& the W>ae me %p >hen it5# doneW anti1dea(ine po(icy to the open1#o%rce comm%nity5#

    prod%ctivity and I%a(ity! @enera( eperience >ith the r%#hed @='E *!0 in * #%gge#t# that pre##%re

    &or a premat%re re(ea#e can ne%tra(i9e many o& the I%a(ity bene&it# open #o%rce norma((y con&er#!?t may >e(( t%rn o%t to be that the proce## tran#parency o& open #o%rce i# one o& three coeI%a( driver# o&it# I%a(ity a(ong >ith W>ae me %p >hen it5# doneW #ched%(ing and deve(oper #e(&1#e(ection! ,n i##%e re(ated to >hether one can #tart proect# &rom 9ero in the ba9aar #ty(e i# >hether the ba9aar#ty(e i# capab(e o& #%pporting tr%(y innovative >or! Some c(aim that (acing #trong (eader#hip the

    ba9aar can on(y hand(e the c(oning and improvement o& idea# a(ready pre#ent at the engineering #tate o&the art b%t i# %nab(e to p%#h the #tate o& the art! hi# arg%ment >a# perhap# mo#t in&amo%#(y made bythe a((o>een Doc%ment# 6http://>>>!open#o%rce!org/ha((o>een/ t>o embarra##ing interna( icro#o&tmemoranda >ritten abo%t the open1#o%rce phenomenon! he a%thor# compared )in%5# deve(opment o& aGni1(ie operating #y#tem to ;cha#ing tai((ight#iththe #tate1o&1the1art the (eve( o& management nece##ary to p%#h to>ard# ne> &rontier# become# ma##ive!e(( o%t#ide the )in% comm%nity! 'ther eamp(e# are (egion a# a vi#it to-re#hmeat 6http://&re#hmeat!net/ on any given day >i(( I%ic(y prove!.%t there i# a more &%ndamenta( error in the imp(icit a##%mption that the cathedral model 6or the ba9aarmode( or any other ind o& management #tr%ct%re can #omeho> mae innovation happen re(iab(y! hi#i# non#en#e! @ang# don5t have breathro%gh in#ight# J even vo(%nteer gro%p# o& ba9aar anarchi#t# are%#%a((y incapab(e