Live data from Hacker News

A Generation Lost in the Bazaar

queue.acm.org

301–310 of 353 posts

Re: A Generation Lost in the Bazaar

#301
post #260
post #254

Serious question for phk: Despite your rant, why do you continue to use autotools in Varnish? Is it because libraries that Varnish depends on require autotools? Or did you simply follow convention?

The reason varnish uses autotools is that I delegated the build/release infrastructure to somebody else. From my own time as FreeBSD release engineer I know that task must come with freedom to pick tools and methods, and therefore it does. That doesn't mean I have to like the choice, but I have respect it, (or take over the build/release responsibility myself.)

But pretty much everyone is the same boat. NOBODY likes autotools, but until something comes along which is better and does the same job, we'll switch.

Don't underestimate the size and demands of the job though.

Re: A Generation Lost in the Bazaar

#302
post #55

The odd part about this “get off my lawn” article is that PHK has already shown how to fix the problem: Varnish is both a very good tool and one which has gotten attention and compliments for rejecting obsolete convention (e.g. relying on the VM, requiring a C compiler to be installed on a server, etc.). I would love to see autoconf massively simplified or outright avoided for most projects and the best way to do tha…

Linux has flown past BSD for reasons other than technical superiority, and more to do with the politics and ecosystem of software, especially related to lawsuits, uncertainty, network effects and momentum. See also: MySQL vs. PostgreSQL.

> See also: MySQL vs. PostgreSQL.

This comparison doesn't hold true: while we might debate the technical superiority of the BSD kernel (and I have some NFS deadlocks to trade against ZFS), running many BSD systems is so much more work that it's more like comparing Postgres to Berkeley DB, where you have to take on responsibility for everything outside of the innermost core.

I ran FreeBSD and OpenBSD on a number of systems for years but was increasingly unable to justify the sysadmin overhead. There were only a couple of times where kernel issues were significant (NFS stability and SMP scalability, esp. when amd64 came out) and since Linux actually came in ahead of FreeBSD for our applications it was really unrealistic to locally duplicated all of the Debian infrastructure.

Re: A Generation Lost in the Bazaar

#303
post #288

Earlier quoted context omitted.

An example: libkse was an attempt to implement M:N thread scheduling. This is something that can, in theory, provide significant benefits over 1:1 thread scheduling, but in practice, is extremely complicated to implement and has fallen out of favor across the board: Solaris abandoned the approach in Solaris 9, and FreeBSD abandoned it in (IIRC) FreeBSD 7. Concurrent to libkse, libthr was developed by David Xu, and wa…

I was intimately involved in those discussions and decisions. There seems to be some underlying assumptions of omniperfection hung of the "cathedral" meme in these parts. That is simply unfounded in both theory and practice. Second, cathedral vs. bazaar is not really about governance, but about architecture, and they are two separate power-structures, although most organizations, including FreeBSD, mingle them, to th…

I just wanted to quickly point out that you have referred to Linux as "much more cathedral than...". Considering that Linux was the original motivation for "The Cathedral and the Bazaar", identified as "the Bazaar", I highly suspect that you are not using the terms in the same way the original essay intended.

Indeed, throughout this discussion it has become clear that you regard anything with a sense of design and some amount of quality control as a "Cathedral". If you want to discuss the benefits of design and quality control, that's a perfectly fine discussion to have, but it also seems to be completely orthogonal to the original discussion of cathedrals and bazaars, which was wholly focused on the development process.

In fact, I wonder if your arguments would be better focused on the concept of "craftsmanship" (or lack thereof) in programming...keeping in mind, of course, that both cathedral builders and bazaar artisans have historically had a notion of craftsmanship.

Re: A Generation Lost in the Bazaar

#304

I wish there were an English word for Baazaar ; we used to have the word Market but now that word means aggregate demand IE the job market not the fish market. Also I wish we could understand "Cathedral vs Bazaar" as an analogy and stop comparing Notre Dame Cathedral and Istanbul Rug Market in this thread. "Rug Market" software = I recompile my kernel to upgrade = Debian "Cathedral" software = the central planning or…

"bazaar" is pretty much an english word by now.

Re: A Generation Lost in the Bazaar

#305
phk how dare you question autoconf, libtool and package collections. Simplicity? Are you kidding? Nothing is simple. Simlicity is HARD. You are a grumpy old man. Leave us kids alone, we're having fun.

End sarcasm.

I can compile my bloated BSD kernel loaded down with every available driver I'll never need in a fraction of the time it takes me to compile Firefox: that is, measured in _minutes_. On an underpowered computer it can take _days_ to compile Firefox with all its supposed dendencies. I say supposed because no one is really sure. It's too much work to check and really find out.

Anyway, negative coding has been outlawed. It's inconsiderate. Even if you found something that could be removed, you would sacrafice every ounce of your karma if you dared to remove it.

End more sarcasm.

The FreeBSD ports collection, like OpenBSD's or pkgsrc is black box.

Unfortunately, with that last line, I'm dead serious.

My solution to autoconf and libtool is to run make >log 2>log2 and then do some sed transformations on the logs to produce my own "compile script". Sometimes I even change libtool's script to make the "quiet" flag do what the "verbose" flag does, so it can't hide anything it's doing. I then save my "compile script" for the next time I need to compile the program on that type of system.

One of my todo projects is to analyse the sum total of *BSD patches, looking for patterns. One of my pet peeves is having to make patches just to compile a program on the each BSD. Silly little MI differences that totally defeat automation and require silly little patches even for the simplest of programs.

Anyway, you can't say that the youth has completely abandoned "traditions" from ye olde UNIX, no matter how much they seem to hate "old things". They stand by the old relics of autoconf and libtool year after year and even vigorously defend using them.

The reason they can't replace these crusty old things is because they refuse to put in the effort to learn how they work. If you want to build a better mousetrap, first you have to understand how the old ones work, and specifically how and where they could be improved.

Re: A Generation Lost in the Bazaar

#306

Earlier quoted context omitted.

I wonder why you think that? I suspect it might be related to the focus on "consumer-centric" (as opposed to geek-centric) features. That is one interesting side-effect of the bazaar model: it's great at building what the majority want. If you are trying to build something that nobody is asking for, you can't beat the cathedral model! ;-) I will tell you, though, that Snow Leopard missed its ship date by 8 months (of…

I can't speak for the gp, but I certainly would still be on Snow Leopard if development for the current version of iOS was still supported on it. I'm now seriously considering switching back to Linux as a desktop OS as I hardly do any iOS work anymore. (I've rather fallen out of love with that platform too as it's pretty clear that the only objective is selling me a new iPad+iPhone every year as this year's iOS alway…

> it's pretty clear that the only objective is selling me a new iPad+iPhone every year as this year's iOS always runs like crap on last year's hardware

Nothing against a good conspiracy theory, but if you truly think this is intentionally planned then this thought is a bit … dumb.

Re: A Generation Lost in the Bazaar

#307

Earlier quoted context omitted.

I wonder why you think that? I suspect it might be related to the focus on "consumer-centric" (as opposed to geek-centric) features. That is one interesting side-effect of the bazaar model: it's great at building what the majority want. If you are trying to build something that nobody is asking for, you can't beat the cathedral model! ;-) I will tell you, though, that Snow Leopard missed its ship date by 8 months (of…

I can't speak for the gp, but I certainly would still be on Snow Leopard if development for the current version of iOS was still supported on it. I'm now seriously considering switching back to Linux as a desktop OS as I hardly do any iOS work anymore. (I've rather fallen out of love with that platform too as it's pretty clear that the only objective is selling me a new iPad+iPhone every year as this year's iOS alway…

> it's pretty clear that the only objective is selling me a new iPad+iPhone every year as this year's iOS always runs like crap on last year's hardware

Nothing against a good conspiracy theory, but if you truly think this is intentionally planned then this thought is a bit … dumb.

Re: A Generation Lost in the Bazaar

#308
In the article he uses the example of compiling Firefox.

This is a lengthy affair on any of the BSD's.

The question is, is it even worth it? I mean, what does Firefox give me that is worth all that time compiling?

One has to have a big bloated browser to do online banking and similar things, but it is entirely unnecessary for lots of other things, like YouTube. To get content and play it, which are two separate tasks, you certainly do not need Firefox.

That makes kids upset. They have invested all their energy into learning the browser and how to manipulate it. 100% web everything. Client-server.

Anything that threatens these ideas is offensive.

Well, that's what's keeping back progress.

You will find not freedom and flexibility to explore the possibilities by trying to do everything through a browser, over the web, and solely within a client-server construct. Those are self-imposed limitations that today's developers readily accept.

As phk says, he's writing for people who can think for themselves. If you cannot think for yourself, if you're just good at repeating the same old things: "OSS is great!" "The web is amazing!" "Google!" "Facebook!" then his writing will not make sense to you and will probably e offensive.

If I'm not mistaken, he's implying we can do better. And the evidence to support that is that we have done better. But it was a long time ago, and bubble seeking programmers do not want to pay attention to history. Go figure. Tha sad truth is most programmers today are caught in the mediocre moment, thinking it's Nirvana.

Please don't wake me up. I'm enjoying this dream.

Re: A Generation Lost in the Bazaar

#309
post #134

Earlier quoted context omitted.

This sounds a bit "No True Scotsman" to me. Most commercial projects that I've seen eventually grapple with the same sorts of issues that you mention. When they've faced diverse deployment environments, the results have often been worse than autoconfigure, from what I've seen. I guess that's because they aren't cathedrals, since the businesses behind them were focusing on market-demands instead of whatever it is that…

Half of this thread is unfortunate terminological noise, but phk did specify what he means by "cathedral" – software governed by a coherent design vision – and Windows and Office are not only not that, they are the poster children for not that. The words "cathedral" vs. "bazaar" have obviously gotten too vague for people to meaningfully argue about. But "coherent design vision" has a much clearer meaning, and an enor…

So a "cathedral" must be "coherent" to be a true Scotsman?

Coherency cannot be measured, and it's extremely subjective. The *nix world can be extremely coherent: for example, you'll always find libtool, whether you want it or not, and your '70s-like filesystem layout. Isn't that "coherent" with its history?

This is not true even of Android and iOS, the modern wonderchildren he cheers on: a quick look at the Android filesystem hierarchy will show its adherence to outdated conventions (etc?) and incoherent repetition (sys? system?), and I bet you'd find something similar in iOS. So there might be a "coherent vision" behind, but the practice is quite incoherent; and mind, we're talking about very basic OSs that delegate any but the most basic functionality to third party apps. I'm happy to bet that in 10 years, the Android codebase will be as shitty and crufty as any Unix.

The truth is that a cathedral, in phkamp's rant, is "software that can all fit in one's head". For all operating systems, we're well past the stage where a single genius architect could envision the totality of a massive cathedral, for a number of reasons (time, working culture, legacy tech etc). Clearly phkamp, being more intelligent than most, only just passed that threshold with the very latest FreeBSD release, and felt the urge to tell the world.

Re: A Generation Lost in the Bazaar

#310

Earlier quoted context omitted.

I wonder why you think that? I suspect it might be related to the focus on "consumer-centric" (as opposed to geek-centric) features. That is one interesting side-effect of the bazaar model: it's great at building what the majority want. If you are trying to build something that nobody is asking for, you can't beat the cathedral model! ;-) I will tell you, though, that Snow Leopard missed its ship date by 8 months (of…

I can't speak for the gp, but I certainly would still be on Snow Leopard if development for the current version of iOS was still supported on it. I'm now seriously considering switching back to Linux as a desktop OS as I hardly do any iOS work anymore. (I've rather fallen out of love with that platform too as it's pretty clear that the only objective is selling me a new iPad+iPhone every year as this year's iOS alway…

I've not experienced this "bug-free software" you speak of. Where might I find such a thing?

It does feel that Apple's development model is changing to an annual release cycle, wherein larger/systemic bug fixes are deferred to the next major release, rather than in a point release. In fact, most OS X release these days feel like "minor tweaks that make consumers happy + a truckload of bug fixes and plumbing". The fact that they deferred so much 10.0-era plumbing to 10.6 and beyond is indicative of why there's a lot of regressions, IMO.

Post reply on HN