5 ms·
> I haven’t forgotten the past. A single, crappy web browser coming to dominate the market would be just as terrible today as it was in the dark days of IE6. Bu
by azakai 14y ago
> I haven’t forgotten the past. A single, crappy web browser coming to dominate the market would be just as terrible today as it was in the dark days of IE6. But WebKit is not a browser. Like Linux, it’s an enabling technology. Like Linux, it’s free, open-source, and therefore beyond the control of any single entity.
This seems very arbitrary. So WebKit isn't a "browser". Is the author saying that a monoculture at another level is ok, but the "browser" level is somehow special and we want to keep diversity there? No, I think we need diversity at all levels.
Speaking of Linux which is the main example in the article - yes, if Linux were to become completely dominant then that would be a bad thing, even if the author calls it an "enabling technology" and is somehow ok with a monoculture there. I am a huge Linux supporter - I am running on Linux right now, my desktop has been linux for many many years now, and I encourage people to switch to it and abandon proprietary OSes like Windows and OS X - but we still don't want Linux to dominate the OS kernel space.
Thankfully Linux is not doing that. It might dominate the open source kernel space, but there is still Windows Server and OS X Server. And applications written portably can often run on all of those.
Linux is a great kernel, but it has downsides like any software. If everything ran linux, it would be very very hard to invent something better than linux and get adoption for that new thing. The same is true of WebKit.
- slurgfest 14y agoA Linux monoculture is never going to happen. But what would actually be wrong with it?
- azakai 14y agoAs I said, it means that code would be written to Linux specifically. What works on linux, what is fast on linux, etc., would be what people write to. So if someone invented a new kernel that is better than linux, it would have two problems: The usual problem of getting adoption and interest in a new project, but also the problem of all existing code being designed with linux in mind. Whereas today, people generally try to write code that runs well not just on linux but also on other kernels. Not because they have lofty ideals necessarily, but because there are other kernels. If we had only linux, that wouldn't be the case. This is the basic question of standards. Open source is great - as I said above, I have been a huge supporter for a very long time - but standards are an orthogonal issue to open source, and just as important. Writing to standards instead of the bugs/idiosyncrasies of a single implementation is the only thing that makes it easy for new implementations to show up. And standards are dead when there is a single implementation.
- fpgeek 14y agoA Minix monoculture never happened. But what would actually have been wrong with it? Think of all of Tanenbaum's design decisions that Linus ended up changing. One big reason we know, in detail, what would have been wrong with a Minix monoculture is that it never happened.
- slurgfest 14y agoAssuming that Minix adopted a reasonable license and fixed outstanding issues that make Linux currently better, I'm asking you to tell me what's wrong with that. We have a de facto monoculture of Windows on the PC right now and I don't think that's better.
- fpgeek 14y agoI didn't say what sort of Minix monoculture we might have wound up with. In particular, who says the licensing would have been fixed? Without Linux's success how many people would have thought there was a problem?
- jcsiracusa 14y agoIt's not an arbitrary distinction. I see a continuum between products and "infrastructure technologies," and I think it's increasingly reasonable (and, eventually, desirable) for there to be more collaboration on a single, shared project (and less wheel reinvention) as we move toward the infrastructure end of the spectrum. None of this precludes a changing of the guard in the future. Just ask the gcc guys about egcs and llvm…
- azakai 14y ago> None of this precludes a changing of the guard in the future. Just ask the gcc guys about egcs and llvm… By all means, ask the LLVM people about all the work they had to do to overcome the single-implementation status of gcc. clang must support gcc's arguments and behavior very carefully, and still cannot build all open source projects, simply because so many open source projects - including the linux kernel btw! - have been designed with only gcc in mind. LLVM managed to overcome that through a lot of effort. LLVM is funded by Apple, a massive multinational, one of the largest tech companies in existence and of all time. Not all new projects have that luxury. In an ideal world, you don't need those kind of resources to challenge an existing implementation.
- jcsiracusa 14y agoLLVM was created by one person, just like Linux. Both projects would not be where they are today without the efforts and monetary contributions of many others, including corporations. These are examples of the system working, IMO. Giants can be felled, tools and infrastructure can be improved for all.
- azakai 14y agoIf by "working" you mean linux succeeding through huge amounts of funding by IBM and others and LLVM through huge amounts of funding by Apple and others. Yes, both were founded by one person, but that is highly irrelevant here. Both of your examples clearly show that it takes huge resources to overcome a single implementation in a field. That is far from optimal, it means the barrier is so high that innovation is being stifled. As another example, look at the single-implementation status of Microsoft Office. Despite huge investments and efforts by multiple parties in the industry, it remains essentially unassailable. The best way to avoid that is to not have a single implementation, but rather to have standards, and to have good open source implementations of those standards.
- Shorel 14y ago> Like Linux, it’s an enabling technology. Like Linux, it’s free, open-source, and therefore beyond the control of any single entity. As SQLite3 is. Bring back WebDB!