Live data from Hacker News

A Generation Lost in the Bazaar

queue.acm.org

11–20 of 353 posts

Re: A Generation Lost in the Bazaar

#11
post #3

I'm not a coder. And that piece illustrates why Maemo went nowhere with the general public and why Nokia's Internet Tablets failed. I tried to download software only to find out they required "dependencies." Then I had to chase those down. And once I did, I found the software to be buggy and unreliable -- and that's why people go buy iPads. They don't want to jump through so many hoops to get so little. The journey i…

That's why you need a curated package repository. I don't have to even know that "dependencies" exist to use Debian or Ubuntu; the package manager is nice enough to inform me that it determined that these-and-these other packages are required to install the package I wanted, and that it's now going to automatically install them for me, but that's just details that could be easily abstracted out.

Re: A Generation Lost in the Bazaar

#12
Yes, the bazaar is like evolution: messy, inefficient, and slow. Lots of bad ideas are tried; a lot of them stick around for as long as they provide more value than they subtract; and progress takes a long time. Just as the human body has components that are useless today (e.g., the coccyx), evolving software ecosystems always carry a lot useless baggage. That's how evolution works.

But Evolution copes better than intelligent, top-down design with the evolving constraints of a market landscape that is constantly shifting.

Re: A Generation Lost in the Bazaar

#13
post #2

Autoconf is an easy target for these kind of rants, but you know what? It does its job, and it does it very well. The ratio of autoconf to non-autoconf programs on my system is probably 10:1, but the ratio of build problems is something like 1:20. If anyone ever managed to write a genuinely better build system, the bazaar would let it rise to the top; the gradual rise of e.g. cmake is testament to this. Trying to imp…

I doesn't change the fact that it's terrible and that better alternative exist (for instance, CMake), thereby making it yet another cruft from the past.

Re: A Generation Lost in the Bazaar

#14
I hadn't realized that autoconf used M4. M4 is amazingly hard to work with, mainly because it uses ` and ' as delimiters, making it very hard to even read unless you have syntax highlighting set up to show those quotes as different characters.

Here's an example from the web:

   define(`START_HTML',
   `
   
     
     
     $1
   
   
   ')

Re: A Generation Lost in the Bazaar

#15
This article reads like an old timer feeling left behind by the current rate of progress who thinks that the problem is really that the rest of the world is doing it all wrong.

He's probably right that lots of software could be designed better, but I think he's wrong that that's of paramount importance. We need lots of software these days and we simply don't have the resources to built it to Kamp's standards. Also, we've learned that our requirements change so fast that his beautiful design would quickly be twisted into the pile of hacks that he hates.

He notes how long it takes to compile the software that runs on his work machine---how long would it take to compile the software on a windows machine? (Or whatever he would claim is the standard-bearer of his cause).

He also attacks open-source software. The truth is, we have an amazing amount of free and open source software available. Some of it may be flawed in design or usability, but it enables us to solve so many problems (and look at/modify the software when needed). I don't think that all software needs to be "free", but I do think free software has made us all much richer. I have a hard time seeing all this value that the Bazaar has created as inferior to slow-moving, centralized, big, up-front design development.

Re: A Generation Lost in the Bazaar

#16
post #6

"Later the configure scripts became more ambitious, and as an almost predictable application of the Peter Principle, rather than standardize Unix to eliminate the need for them, somebody wrote a program, autoconf, to write the configure scripts." I'm not sure I understand how the Peter Principle applies here? Autoconf seems a rational solution in the economic sense: to standardise Unix, you need to have lots of influ…

I had a hard time understand it as well. I interpreted it as the Peter Principle also applies to software rising to the level of it's incompetence, not just people.

Re: A Generation Lost in the Bazaar

#17
post #12

Yes, the bazaar is like evolution: messy, inefficient, and slow. Lots of bad ideas are tried; a lot of them stick around for as long as they provide more value than they subtract; and progress takes a long time. Just as the human body has components that are useless today (e.g., the coccyx), evolving software ecosystems always carry a lot useless baggage. That's how evolution works. But Evolution copes better than in…

... but evolution will also quite happily run you over a cliff which you have been avoided if intelligence were applied.

Not to mention the fact that the bazaar is never going to put a man on the moon.

And yes, I wrote that piece.

Re: A Generation Lost in the Bazaar

#18
post #2

Autoconf is an easy target for these kind of rants, but you know what? It does its job, and it does it very well. The ratio of autoconf to non-autoconf programs on my system is probably 10:1, but the ratio of build problems is something like 1:20. If anyone ever managed to write a genuinely better build system, the bazaar would let it rise to the top; the gradual rise of e.g. cmake is testament to this. Trying to imp…

I hear your statement about build problems as soon as someone does not use autoconf quite a bit.

However, in the past I’ve had the opposite experience: Trying to port software such as Apache, PHP or bacula to UNIX systems such as SGI IRIX, I always ended up writing a simple Makefile to compile the software instead of putting up with the multitude of autotools-fixing that would have been required. I reported one or two clear issues upstream and they have been fixed, but until the relevant fixes arrive at the projects (especially PHP came with an old version of autotools), some time will pass.

As a counter-example, take i3-wm: it ships with a GNU Makefile (OK, multiple Makefiles in subdirectories, one for each tool) and compiles on Linux, Mac OS X, FreeBSD, OpenBSD, NetBSD. Now let’s have a look at each of these:

• NetBSD: No patches required to the makefiles: http://cvsweb.se.netbsd.org/cgi-bin/bsdweb.cgi/wip/i3/patche...

• FreeBSD: No patches required to the makefiles: http://www.freebsd.org/cgi/cvsweb.cgi/ports/x11-wm/i3/files/ (they do their usual change to /usr/local in the ports Makefile)

• OpenBSD: several patches because OpenBSD lacks SHM support, doesn’t want (?) to use pkg-config at compile-time and quite a few bugfix backports: http://www.openbsd.org/cgi-bin/cvsweb/ports/x11/i3/patches/

I would argue that porting i3-wm to another platform is easy because you can understand the Makefiles and it’s very clear what they do.

As a conclusion, I just wanted to show you that there are counter-examples to both: situations where autotools really does not do a good job and situations where you can deliver good Makefiles without using autotools at all.

Re: A Generation Lost in the Bazaar

#19
post #17
post #12

Yes, the bazaar is like evolution: messy, inefficient, and slow. Lots of bad ideas are tried; a lot of them stick around for as long as they provide more value than they subtract; and progress takes a long time. Just as the human body has components that are useless today (e.g., the coccyx), evolving software ecosystems always carry a lot useless baggage. That's how evolution works. But Evolution copes better than in…

... but evolution will also quite happily run you over a cliff which you have been avoided if intelligence were applied. Not to mention the fact that the bazaar is never going to put a man on the moon. And yes, I wrote that piece.

How is that a fact? "Open Source" space endeavors already exist.

Also I know NASA is famous for their solid code, but personally I still question the amount of effort that goes into it. Just because their approach works (if you can afford it) doesn't prove that there couldn't be a more effective way.

I suppose with infinite money you can make quite a lot of approaches work. You could have an army double check every line of code. Instead of pair programming, why not have 10 programmers look over each others shoulders?

Lastly, lots of intelligent beings happily drive over cliffs all the time, just look at the financial crisis.

Re: A Generation Lost in the Bazaar

#20
post #13
post #2

Autoconf is an easy target for these kind of rants, but you know what? It does its job, and it does it very well. The ratio of autoconf to non-autoconf programs on my system is probably 10:1, but the ratio of build problems is something like 1:20. If anyone ever managed to write a genuinely better build system, the bazaar would let it rise to the top; the gradual rise of e.g. cmake is testament to this. Trying to imp…

I doesn't change the fact that it's terrible and that better alternative exist (for instance, CMake), thereby making it yet another cruft from the past.

The bazaar is perfectly capable of adopting improvements that prove themselves, and eliminating cruft from the past, if the cost is worth it. See the recent systemd fuss. If CMake really is better then eventually all important projects will shift over to it, and distributions will stop installing autoconf by default, or eventually at all. The fact that this hasn't happened already tells us that the practical difference isn't big enough to justify expending a lot of effort on switching.
Post reply on HN