9 ms·
I must admit to being a bit puzzled as to what his point is. Yeah, there are a lot of dependencies if you want to compile an entire linux distro from source. B
by lutorm 12y ago
I must admit to being a bit puzzled as to what his point is.
Yeah, there are a lot of dependencies if you want to compile an entire linux distro from source. But it's just exposed because everything is right there. If you actually tried to figure out how to compile all the software on your Windows machine, would it be any better?
And to say that libtool, bloated and complex as it is, came about because someone was incompetent seems quite a bit insulting. It seems that confronted with a compatibility problem between different Unix-like systems, one has two choices:
(1) Coordinate changes to all Unix-like systems so the compatibility problem is removed, or
(2) Work around the problem with some sort of wrapper.
Now, in a perfect world, (1) is obviously the better alternative (but even that wouldn't help existing installations.) But the world is not perfect, and my chances of accomplishing (1) are practically zero, even if it's "just a single flag to the ld(1) command". Hence, anyone who actually wants to get something working on all those systems would have to do whatever it takes.
- portlander52232 12y agoYou pretty much just reiterated his point for him.
- lutorm 12y agoHis point is that the entire Unix ecosystem should be maintained as a single cathedral?
- bbcbasic 12y agoWindows is maintained as a single... (I won't say "cathedral")
- lutorm 12y ago"Windows-the-operating-system" is, but "Windows-the-distro" is not. He's specifically mentioning Firefox, so his argument is not restricted to the core operating system.
- gnarbarian 12y agoWindows is like a decent catholic cathedral in the middle of Mogadishu. *nix is like 50 chapels using two customized holy books in mos eisley.
- georgemcbay 12y agoLinus shot first.
- moomin 12y agoActually, it only really looks like that on the outside. The internal organising principles are a mess, and that mess shows in the design.
- sparkie 12y agoWindows also breaks existing workflows and software with every new release, and then cuts support in less than a decade.
- dmd 12y agoWindows still runs software from the 1980s and 1990s without much complaint. DOS software, Windows 3.1 software...
- chris_wot 12y agoAmusingly, you can run that software under Linux also.
- xorcist 12y agoNot really. The decision to require applications to open ports, as opposed to just bind them, broke pretty much all networked software on Windows in the 00s. That's just one example where software may run but doesn't work. It's complicated.
- morganvachon 12y agoTrue, but sometimes those "breaks" are good things (Vista to 7 was nothing but improvement). And generally, Microsoft will support their releases for longer than a decade. XP had over 13 years of extended support, and Windows 7 will have 11 years of extended support. Even Vista, one of the worst OS releases from Microsoft, is still in extended support for another two years.[1] Contrast that to major (LTS) releases from Ubuntu, which can be from 3 to 5 years, and only 9 to 18 months for non-LTS releases.[2] And Ubuntu is one of the kings of bleeding-edge breakage in the Linux-based OS world, surpassed only by Arch in my experience. All that said, it's not all rosy in the Windows world, and not all thorns in the Ubuntu world. I just wanted to point out some facts to counter your misinformation. [1]: http://windows.microsoft.com/en-us/windows/lifecycle http://windows.microsoft.com/en-us/windows/lifecycle [2]: https://wiki.ubuntu.com/Releases https://wiki.ubuntu.com/Releases
- GFK_of_xmaspast 12y agoYou mean either 'eco system' or 'echo chamber', both of which describe the unix community.
- lutorm 12y agoyeah, typo. i meant ecosystem.
- toddkaufmann 12y agoI think I'll start using the term "echo system"
- MBCook 12y agoHis point is someone has to stand up and say "This is how it will be done." Without that you just get tons of wasted effort. Why do so many developers use OS X instead of Linux? One benefit of OS X is that there is one entity responsible for it, not 250. There is a person (or a few) making the decisions, proving stability and removing things that don't work. It's not perfect (recent transitions in OS X as leadership shuffled) but the different parts of OS X usually feel like part of the same whole. As much as people 'like' the bazaar I see the same things in open source. Current init systems give you tons of choice and people keep screaming because it's being removed. But a lot of people seem to like having it organized under one umbrella so that it can all coordinate properly. Doesn't matter if you don't like the choices being made (many people don't like Apple's choices) but there is someone in charge. There are other examples. Ubuntu seemed to get popular saying "This is what it will work like" as opposed to what used to be common of "Here are 6 GUIs, choose one!". Ruby (with Matz), Python (with GvR), Clojure (Rich Hickey), the Linux kernel all seem to be doing pretty well with someone nominally in charge to make hard decisions. I think his example of build systems was perfect. No one would set out to design a system to generate a file to probe a system for 26 programs that you don't even need to choose build options for a program that only runs on a handful of nearly identical systems.
- lutorm 12y agoBut the point of libtool or autoconf is not to make it easier to build various programs on Ubuntu, it is to make it easier to build the same program not just on Ubuntu and RedHat, but also on FreeBSD, OpenBSD, Darwin, Solaris, SunOS, Tru64, HP-UX, IRIX, AIX, and god knows what other systems. Even if Linux turned into a perfectly polished and neatly organized cathedral, you'd still need to get it to work on all those other systems. And most of those systems predate "the cathedral and the bazaar" anyway, don't they?
- quesera 12y agolibtool and autoconf are messy partial solutions to problems created by writing non-portable code. This is an aspect of the bazaar model, where reasonable standards (e.g. POSIX) are sometimes ignored in favor of novelty or minimal adequacy. The bazaar model embraces the mess, believing that something spectacular will emerge. The cathedral model argues that coherence produces better results. Both can point to successes. phk is arguing that the open source community has lost more than it has gained from accepting the bazaar as the one true way. Even in the last ten years, where has the innovation in operating systems come from? The CatB essay predates the book, and the idea predates UNIX.
- regularfry 12y agoYou've just made his point: you're so used to living in the bazaar that it seems an inevitable fact of life. Through the lens of the Peter Principle, command is itself a competency. If you have sufficient authority, (1) is easy. His point is that unless you have someone with that authority, (2) is inevitable. People have risen to a position where they need the solution libtool provides, without the competency to force the right solution. This wasn't always the case.
- lutorm 12y agoBut this is what I don't understand. When was there someone with authority to force all the Unices to adopt (1)? Autoconf came out in 1991, so clearly the problem existed at that point. That's coincidentally also the year Linux was first released, so it can't be blamed. It seems to me that Unix was never a cathedral. Each specific operating system may have been one, but they clearly weren't more compatible back in 1991 than a Protestant and a Catholic cathedral are, since someone felt the need to write autoconf. Please give me an example of this shining 20-th century "cathedral development", because I don't see one.
- xorcist 12y agoIn the essay, phk specifically mentions when AT&T decided to commercialize UNIX. Whether that makes sense or not is something I leave for the graybeards to fight out.
- DonHopkins 12y agoIt's not the people who wrote all that bloated software who are incompetent. It's the person who wrote that ridiculous book "The Cathedral and the Bazaar" who is incompetent.
- mcguire 12y agoI believe that his point is that the world would be a better place without those 22,198 tools rather than with the gigantic mess that having them creates. I myself am somewhat amused by the paragraph, "...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." The key phrase being "rather than standardize Unix". Anyone want to count how many Unix standards there are? He goes on about libtool with, "...yet the 31,085 lines of configure for libtool still check if <sys/stat.h> and <stdlib.h> exist, even though the Unixen, which lacked them, had neither sufficient memory to execute libtool nor disks big enough for its 16-MB source code." I don't know if AIX had sys/stat.h or stdlib.h (actually, I believe it did), but I do know those machines I worked on certainly had enough resources to run libtool; I did it. Because without libtool, building shared libraries on AIX was an exercise in crazy. (Almost as crazy as m4.) http://stromberg.dnsalias.org/~strombrg/AIX-shared-libs.html http://stromberg.dnsalias.org/~strombrg/AIX-shared-libs.html I don't know about Poul-Henning Kamp, but I didn't have the luxury of spending those 15 or so years using a single flavor of BSD.