Hacker News new | ask | show | jobs
by layer8 80 days ago
Not really. From the essay: “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 the Emacs programming editor) 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.”

So the Unix-philosophy small tools that constitute an important part of the GNU project are excluded. Rather, it’s about any programs of significant complexity, like Emacs (and likely GCC) and many commercial products. While the cathedral model doesn’t imply closed source, it implies building “in […] isolation”, rather than in the open. It may or may not remain proprietary and/or closed source.

Linux demonstrated to ESR that complex projects can also be built in the open with many collaborators, and don’t necessarily require the cathedral; which inspired the essay.

3 comments

The bottom line is that a lot of software types assume the cathedral vs. bazaar refers to closed source vs. open source and they’re simply wrong.
> Unix-philosophy small tools that constitute an important part of the GNU project

The statement you chose makes a carve-out for Unix, not GNU. It doesn't support "not really."

What I'm saying "not really" to is the claim that the "cathedral" does only refer to the GNU project and not to proprietary closed source. This is not the case. It refers to certain portions of GNU, as well as to certain segments of proprietary closed source. Neither GNU nor proprietary closed source is a criterion for the "cathedral". The criterion is the size and complexity of the software, independent of whether it is proprietary or not, or closed source or not.

GNU follows the Unix philosophy. ESR wrote The Art of Unix Programming [0] in which he writes extensively about it. GNU was envisioned to be a clone of Unix [1].

[0] http://www.catb.org/esr/writings/taoup/html/

[1] http://www.catb.org/esr/writings/taoup/html/apa.html

> The criterion is the size and complexity of the software

The criterion is the development process, not the complexity. Linux is complex, but not a Cathedral.

I don't want to split hair with your words more. For context, FSF hard liners since the dawn of the OSI were distorting the meaning of CatB to deflect criticism from themselves. FSF supporters also very successfully promoted "FLOSS" instead of bare _OSS, giving lots of later-comers the illusion that "free/libre" was an expansion pack for OSS when OSS came later, a very intentional evolution of the dogmatic "free" software movement.

The choice of "Cathedral" is an extremely obvious symbol when you consider the Protestant reformation as a defiance of Vatican, an overly central system where decisions can only flow from the top. There are a lot of metaphors ESR could have chosen from, but the "cathedral" rhymed with the undertones of the real tension between the many OSS practitioners who have divers motivations and the FSF's plan to slap GNU stickers on every piece of software on Earth while blessing their own cardinals at the FSF Vatican and excommunicating any dissent. Given that kind of very overt signalling, it's just not defensible to argue any other primary target than the FSF and the overly central development process they were dependent on to maintain control over projects.

The complexity is when ESR thought the cathedral would be required. Linux then changed his mind.

I see no indication that ESR thought the cathedral model was limited to the FSF, as opposed to being applicable to software development in general.

I have no stake in the FLOSS/OSS/whatever controversies.

Originally "the GNU project" was supposed to be an operating system. That might be what the parent post was referencing.
Maybe, but it’s in any case wrong to say that the cathedral model didn’t also refer to closed-source proprietary software.