He's complaining that the Bazaar is not efficient, and that it's a pile of hacks.
No. Shit.
Yes, it's an inefficient pile of garbage built one heap on top of another.
But it's also incredibly useful.
Modularity and code reuse are, of course, A Good Thing. Even in the most trivially
simple case, however, the CS/IT dogma of code reuse is totally foreign in the
bazaar: the software in the FreeBSD ports collection contains at least 1,342 copied
and pasted cryptographic algorithms.
If that resistance/ignorance of code reuse had resulted in self-contained and independent
packages of software, the price of the code duplication might actually have been a
good tradeoff for ease of package management. But that was not the case: the packages
form a tangled web of haphazard dependencies that results in much code duplication
and waste.
Code duplication, waste, and a tangled web of haphazard dependencies are only a bad thing in theory. PHK talks about "CS/IT dogma" like it's the rule rather than the exception. But the CS/IT dogma, like most other dogma, always runs into exceptions when put into practice.
When you have many, many independent teams of people developing software, you may want to implement something someone else has already done. As a member of your team, you have two choices: 1) re-implement the original as part of your own cathedral, or 2) put some glue around the existing solution.
Sometimes, 1) will be the best choice. But sometimes - and this is usually the case with Unix tools - 2) works just as well, and you get the benefit of only having to write and maintain glue, rather than a constantly morphing feature implementation. If the original was done well, and your glue supports it well, you get a feature without paying for it.
The foundation of Unix is a strong Cathedral. But this foundation is what makes the Bazaar fit so well around it: it provides something strong to glue other shit to. As long as you have someone to continue gluing shit together, you can keep adding pieces ad infinitum, and what you lose in the end is essentially disk space and compilation time. I'm willing to accept that.
No. Shit.
Yes, it's an inefficient pile of garbage built one heap on top of another.
But it's also incredibly useful.
Code duplication, waste, and a tangled web of haphazard dependencies are only a bad thing in theory. PHK talks about "CS/IT dogma" like it's the rule rather than the exception. But the CS/IT dogma, like most other dogma, always runs into exceptions when put into practice.When you have many, many independent teams of people developing software, you may want to implement something someone else has already done. As a member of your team, you have two choices: 1) re-implement the original as part of your own cathedral, or 2) put some glue around the existing solution.
Sometimes, 1) will be the best choice. But sometimes - and this is usually the case with Unix tools - 2) works just as well, and you get the benefit of only having to write and maintain glue, rather than a constantly morphing feature implementation. If the original was done well, and your glue supports it well, you get a feature without paying for it.
The foundation of Unix is a strong Cathedral. But this foundation is what makes the Bazaar fit so well around it: it provides something strong to glue other shit to. As long as you have someone to continue gluing shit together, you can keep adding pieces ad infinitum, and what you lose in the end is essentially disk space and compilation time. I'm willing to accept that.