Open Source Basics and WordPress

In the following lessons, we’ll discuss some principles of open source software described in Eric Raymond’s book, The Cathedral and The Bazaar (a free version is available here).

In his book, Raymond talks about the rise and growth of the open source software movement, focusing closely on the Linux project. Linux was one of the first efforts that proved that this shift in approach to software development could not only work, but work better than closed-source methods that usually result in proprietary software. He contrasts these different approaches to software development by describing them as the cathedral and the bazaar.

In the “cathedral approach,” software is built by a group of developers, working in isolation, focused on a central plan. They code, find bugs, and fix as much as possible, as part of a closed or private team. Then, after a year or so, they eventually ship the product. Much like building a cathedral where everything is carefully crafted and installed before the doors open, this closed-source method of development depends strongly on the skill and determination of a small group of developers.

The open source method — which Raymond calls “the bazaar” — turns this idea on its head. Instead of asking a few developers to work in a silo on private code, open source development freely publishes the software’s imperfect source code and accepts contributions (bug reports, bug fixes, feature requests) from anyone who’s interested and capable.

Based on conventional wisdom, open source development shouldn’t work. This method results in a sometimes-chaotic “bazaar” with diverse agendas and approaches, many voices that don’t necessarily agree — and according to Brooks’s Law, adding developers to a project usually results in slower development, not faster progress.

But open source does work (as WordPress proves)! Why? What’s the secret ingredient?

Open Source Principle 0: With many eyes, all bugs are shallow Open Source Principle 1: Release early, release often Open Source Principle 2: Scratching a “personal itch” Open Source Principle 3: Egoless participation The WordPress Ecosystem Principles of Free Software and the WordPress project Behavioral expectations