[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

The Cathedral And The Bazaar -- Developping Open Software



I really enjoyed reading this article and recommend it
highly.

And if you use Emacspeak heavily it's a must read since it
will give you a better sense of how you can improve the
system, get new features you desire incorporated etc.

http://sagan.earthspace.net/~esr/writings/cathedral-bazaar/cathedral-bazaar-1.html



Next Previous Contents
------------------------------------------------------------------------------

1. The Cathedral and the Bazaar


Linux is subversive. Who would have thought even five years ago that a
world-class operating system could coalesce as if by magic out of part-time
hacking by several thousand developers scattered all over the planet,
connected only by the tenuous strands of the Internet?

Certainly not I. By the time Linux swam onto my radar screen in early 1993, I
had already been involved in Unix and open-source development for ten years. I
was one of the first GNU contributors in the mid-1980s. I had released a good
deal of open-source software onto the net, developing or co-developing several
programs (nethack, Emacs VC and GUD modes, xlife, and others) that are still
in wide use today. I thought I knew how it was done.

Linux overturned much of what I thought I knew. I had been preaching the Unix
gospel of small tools, rapid prototyping and evolutionary programming for
years. But I also believed there was a certain critical complexity above which
a more centralized, a priori approach was required. I believed that the most
important software (operating systems and really large tools like Emacs)
needed to be built like cathedrals, carefully crafted by individual wizards or
small bands of mages working in splendid isolation, with no beta to be
released before its time.

Linus Torvalds's style of development - release early and often, delegate
everything you can, be open to the point of promiscuity - came as a
surprise. No quiet, reverent cathedral-building here -- rather, the Linux
community seemed to resemble a great babbling bazaar of differing agendas and
approaches (aptly symbolized by the Linux archive sites, who'd take
submissions from anyone) out of which a coherent and stable system could
seemingly emerge only by a succession of miracles.

The fact that this bazaar style seemed to work, and work well, came as a
distinct shock. As I learned my way around, I worked hard not just at
individual projects, but also at trying to understand why the Linux world not
only didn't fly apart in confusion but seemed to go from strength to strength
at a speed barely imaginable to cathedral-builders.

By mid-1996 I thought I was beginning to understand. Chance handed me a
perfect way to test my theory, in the form of an open-source project which I
could consciously try to run in the bazaar style. So I did -- and it was a
significant success.

In the rest of this article, I'll tell the story of that project, and I'll use
it to propose some aphorisms about effective open-source development. Not all
of these are things I first learned in the Linux world, but we'll see how the
Linux world gives them particular point. If I'm correct, they'll help you
understand exactly what it is that makes the Linux community such a fountain
of good software -- and help you become more productive yourself.

------------------------------------------------------------------------------

Next Previous Contents

-- 
Best Regards,
--raman

      Adobe Systems                 Tel: 1 (408) 536 3945   (W14-612)
      Advanced Technology Group     Fax: 1 (408) 537 4042 
      (W14 129) 345 Park Avenue     Email: raman@adobe.com 
      San Jose , CA 95110 -2704     Email:  raman@cs.cornell.edu
      http://labrador.corp.adobe.com/~raman/        (Adobe Intranet)
      http://cs.cornell.edu/home/raman/raman.html    (Cornell)
----------------------------------------------------------------------
    Disclaimer: The opinions expressed are my own and in no way should be taken
as representative of my employer, Adobe Systems Inc.
____________________________________________________________

-- 
Best Regards,
--raman

      Adobe Systems                 Tel: 1 (408) 536 3945   (W14-612)
      Advanced Technology Group     Fax: 1 (408) 537 4042 
      (W14 129) 345 Park Avenue     Email: raman@adobe.com 
      San Jose , CA 95110 -2704     Email:  raman@cs.cornell.edu
      http://labrador.corp.adobe.com/~raman/        (Adobe Intranet)
      http://cs.cornell.edu/home/raman/raman.html    (Cornell)
----------------------------------------------------------------------
    Disclaimer: The opinions expressed are my own and in no way should be taken
as representative of my employer, Adobe Systems Inc.
____________________________________________________________

-- 
Best Regards,
--raman

      Adobe Systems                 Tel: 1 (408) 536 3945   (W14-612)
      Advanced Technology Group     Fax: 1 (408) 537 4042 
      (W14 129) 345 Park Avenue     Email: raman@adobe.com 
      San Jose , CA 95110 -2704     Email:  raman@cs.cornell.edu
      http://labrador.corp.adobe.com/~raman/        (Adobe Intranet)
      http://cs.cornell.edu/home/raman/raman.html    (Cornell)
----------------------------------------------------------------------
    Disclaimer: The opinions expressed are my own and in no way should be taken
as representative of my employer, Adobe Systems Inc.
____________________________________________________________

-----------------------------------------------------------------------------
       To unsubscribe or change your address send mail to
"emacspeak-request@cs.vassar.edu" with a subject of "unsubscribe" or "help"


Emacspeak Files | Subscribe | Unsubscribe