Abstract
I anatomize a successful open-source project, fetchmail, that was run as a deliberate test of the surprising theories about software engineering suggested by the history of Linux. I discuss these theories in terms of two fundamentally different development styles, the "cathedral" model of most of the commercial world versus the "bazaar" model of the Linux world. I show that these models derive from opposing assumptions about the nature of the software-debugging task. I then make a sustained argument from the Linux experience for the proposition that "Given enough eyeballs, all bugs are shallow", suggest productive analogies with other self-correcting systems of selfish agents, and conclude with some exploration of the implications of this insight for the future of software.
Tiivistelmä
Tässä esseessä analysoidaan Fetchmailia, avoimen lähdekoodin projektia, jossa tarkoituksella testattiin Linuxin historiaan pohjautuvia ohjelmistonkehityksen yllättäviä teorioita. Käsittelen näitä teorioita kahden, toisistaan jyrkästi eroavan ohjelmistonkehitystavan näkökulmasta. ”Katedraali”-mallia käytetään yleisesti kaupallisissa ohjelmistoissa, kun taas Linux-maailmassa toimii ”basaari”-malli. Osoitan, että mallien erot perustuvat vastakkaisiin käsityksiin ohjelmistovirheiden korjaamisen (debugging) luonteesta. Sitten esitän Linux-kokemuksen perusteella, että ”kun on tarpeeksi silmäpareja, kaikki virheet havaitaan”. Esitän myös vertauskohtia muihin itseään korjaaviin järjestelmiin, jotka koostuvat itsekkäistä toimijoista. Lopuksi tarkastelen, miten tämä kaikki vaikuttaa tulevaisuuden ohjelmistoihin.
Selfish = itsekäs; sanavalinta selittyy myöhemmissä luvuissa.
Muutoksia: -- 'Eyeballs' - Suomessa puhutaan silmäpareista, ei yksittäisistä silmistä tällaisessa yhteydessä.
Aiemmin on todettu, että "anatomize" - leikellä ruumista, voitaisiin kääntää "riisua paljaaksi" ja että useiden sanakirjojen mukaan anatomize tarkoittaa myös: "analyze down to the smallest detail" -- Ehdotan, että tässä käännetään "anatomize" yksinkertaisesti 'analysoinniksi'. . - Jopi
