17 ms·
I feel like I’m missing something, because I keep seeing blog posts that tell me a browser monoculture is bad (and the irony of Microsoft saying this is nearly
by eddieroger 8y ago
I feel like I’m missing something, because I keep seeing blog posts that tell me a browser monoculture is bad (and the irony of Microsoft saying this is nearly too much), but none of them tell me why. I understand that it was bad in the IE6 days, but IE6 was also closed source and could only be run on Windows (see also the irony of Microsoft discontinuing IE on Mac, not wanting to compete with Safari, a browser made by the OS manufacturer). Chromium is open source - the only lock in is the decision to use it. Sure, Google may be at the reigns of where the project goes, but then differentiate on features, or fork it and make it different. Differentiate on the user interface, or integrations with other services, or go hard on privacy. Maybe the rendering engine should be more akin to the Linux kernel and less akin to Windows? One operating system would be bad, but one kernel has spawned many, many Linuxes. I guess I’m doing my part by using Firefox, but that’s more because I am worried about just how much Google knows about me, and not because I think Gecko is remarkably better than Chromium.
- pcwalton 8y ago> Sure, Google may be at the reigns of where the project goes, but then differentiate on features, or fork it and make it different. And if the fork diverges, then what? This is not a theoretical concern: Blink and WebKit are now quite different, and it's best to regard them as two different rendering engines. Is that bad? > Maybe the rendering engine should be more akin to the Linux kernel and less akin to Windows? This presupposes that the Linux kernel is at an optimum point in the design space. It's pretty clear to me that it isn't. In fact, I think the monoculture around open source kernels has been bad for OSS. I look forward to Fuchsia providing some much-needed competition, much in the same way LLVM provided much-needed competition to GCC.
- austincheney 8y agoIE, at its height, was available outside windows. https://en.m.wikipedia.org/wiki/Internet_Explorer_for_Mac https://en.m.wikipedia.org/wiki/Internet_Explorer_for_Mac At that time, 2001-2002, IE6 was highly praised. You don’t get to 96% marketshare by being something everybody hates. The hate came later when CSS demand ramped up and it became clear IE6 used a non-standard box model. Worse still MS essentially abandoned the browser, the result of total marketshare dominance, and tied it directly to the operating system. The reason people are complaining about this is the lack of diversity. This has proven very bad in the past. It essentially makes the platform a proprietary space even if the dominant browser is open source. The key here is who directs the technology and direction of the platform.
- wvenable 8y ago> IE6 used a non-standard box model. Which we all use now anyway because it was right way to do it... * { box-sizing: border-box; }
- austincheney 8y agoThat is a matter of opinion. I don't do that and I avoid code that does. In the days of IE7 I learned to write CSS code that was conformant to both box models. Now I just write to the standard box model. CSS isn't something that will ever be particularly challenging once you have gone through the extremes of edge case use cases.
- wvenable 8y agoIt's not a matter of opinion, content-box is much more difficult to work with when using fluid layouts than border-box which is why all major CSS frameworks use border-box now. At the time, the CSS specification didn't make it clear which way to calculate widths so Microsoft, probably due to their experience building graphical layout software, chose border-box while all other rendering engines at the time went content-box probably without considering the consequences. Realizing the error, the box-sizing property was added to CSS to fix this.
- austincheney 8y agoYou claim it’s not a matter of opinion and due to personal opinion. Weird. Then you invent a history from which to draw imaginary conclusions. It is perfectly ok to have a personal opinion on CSS. You don’t have to justify it and you certainly don’t have to conjure a dillisional alternate reality. Imagination aside, IE3 was the first browser to offer any CSS support.
- deleted 8y ago[deleted]
- 8y ago
- the_clarence 8y agoYou are right. A monoculture IS a good thing for browsers engine.
- dewiz 8y ago> the irony of Microsoft saying this is nearly too much Where is Microsoft saying that? Problems with monoculture: lack of innovation, a single agenda being pushed forward, anti-competitive behavior. Google doesn’t want technology X? X is dead. Google thinks Ad platform Y is bad? Y is dead. etc
- newscracker 8y agoPlease read this different take and explanation in this article linked within the main article, titled "The ecological impact of browser diversity", by Rachel Nabors. [1] [1]: https://css-tricks.com/the-ecological-impact-of-browser-diversity/ https://css-tricks.com/the-ecological-impact-of-browser-dive...
- bobajeff 8y agoThe problem with his analogy is that it make the difference between browsers out to be the difference between a bird and a squirrel when at best it's more like the difference between a falcon and a eagle. If we really want diversity on the internet we should probably still be using Gopher and other internet clients.
- new12345 8y agoSeems like you have yourself answered your question in your list line. One browser owned by one organization could hijack whole internet for its own interests. Just like in any other necessary item we need multiple supple options are good for creating healthy competition.
- wvenable 8y agoI completely agree. I think there is a bit of unjustified fear here given that Edge's ridiculously small installed base had absolutely no affect on the browser mono-culture anyway. Most developers did not go out of their way to test in Edge. This is really no different than the Linux Kernel. People will take KHTML, Webkit, Blink, V8, JavaScriptCore and remix those into dozens of different products all with better web compatibility than something home grown from Microsoft with no chance of adoption.
- bhauer 8y agoI think we first need to agree that competition in a general sense—that is including browsers and everything beyond—is a good thing. It's healthy for any market to have viable competitors; principally for the consumers, but also for the vendors (so that they do not stagnate). If we don't agree that competition is healthy, then I don't believe it's possible to agree on the second-order matters. There are several second-order reasons why a monoculture is damaging for the browser industry. I will give a few examples: 1. A monoculture encourages web developers to test on a single platform with the assumption that all other platforms, and even industry standards, are meaningless. Many of us are web developers, and most of us are guilty of dismissing low-share platforms during testing. But as long as some viable competitors exist, we nominally target the industry standards in the hope that by doing so, the platforms we do not test on will have a modest/tolerable (maybe even good) experience. 2. A monoculture is self-reinforcing. Losing established viable competitors makes it more difficult for new competitors to enter the market. If we allow second-tier browsers to be rendered meaningless, we all but ensure a long and (eventually) painful stagnation, and create an ever-larger hurdle for a new entrant to clear to reach any significance (as more an more of the web is designed to work with a single platform). While it may sound passably agreeable to have a Chrome monoculture in 2019, do we want to still have a Chrome monoculture in 2029? For my part, I hope we see an increasing set of options in most areas of life over time, even in "browsing," whatever that ends up looking like in 10 years. 3. We don't know what future stagnation will look like. We don't know what opportunities we will have lost by making it more difficult to compete or by losing the healthy diversifying force of competition. It's a classic problem of the unseen. Projecting forward, we predict testing will be a bit simplified, but we cannot know what innovations we'll never see (or won't see as quickly) because the hurdles for experimentation were too high. Today, if Firefox introduces a new feature, even though its usage is relatively small the usage is still large enough in absolute terms that the innovation isn't entirely under the radar for most of us. If Firefox's share were 0.8% instead of 8%, far fewer of us would even notice if they added a slick new feature, leaving the feature unheralded and obscure despite its potential wide appeal.
- jcranmer 8y agoThe biggest reason is that when you have one implementation, the implementation becomes standard irrespective of what the standard itself says. When IE6 was dominant, this meant a lot of people had to reverse engineer the details of IE6's weird CSS implementation. Chief among its faults was an incorrect box model (although W3C later added an attribute to use IE's old box model) and the infamous hasLayout bug, which Wikipedia at one point had a page on (it appears to be gone now). Sure, Webkit may be open-source, but that doesn't really lend itself to finding issues related to buggy implementations.
- sonnyblarney 8y agoThe concern is not 'now' it's 'later'. Google is a business like any other - and when they have the power to lever a monopolized situation - they will. For example, they may start integrating technologies for which they have exclusive, or at least 'special' access. Can you imagine if all of a sudden Google apps start performing better than anyone else's? Or what if they integrate technology that de-facto collects usage and behaviour - even from other domains - and then lever that competitively? The power that Google already has, relatively unregulated is crazy. Remember that Google is the company that could change the outcome of elections ... possibly without us even knowing. They could drive markets up or down at will. This would probably happen as a 'slow drip' - not one step being close enough to consumer awareness to create problems, and what with 'business friendly' politicians, nary a worry of legislation getting in the way. They could introduce these technologies under the guise of 'improving user experience' (and maybe legitimately so to start), but other PM's, new CEO's etc. just take the opportunity before them. Why wouldn't they? We worry a lot about 'Net Neutrality' at the network level, like it's a religion ... but that we don't worry about 'information neutrality' as well I find quite bizarre. I suggest that having '1 major provider' may be a problem, doubly so if it's an entity like Google, and that frankly we don't really gain much from this fact at all. If Mozilla were the provider, great. Even Apple might be a better choice simply because they are not in the business of managing our information - at least right now, for them, it's a headache, not a revenue source. So the concern is real.
- quanticle 8y agoFor example, they may start integrating technologies for which they have exclusive, or at least 'special' access. Can you imagine if all of a sudden Google apps start performing better than anyone else's? They've already started. Google Meet (their version of Hangouts for enterprise) didn't work on non-Chrome browsers for a very long time. If you tried to do a video call with a non-Chrome browser, you were told to install Chrome and load the page in Chrome. The only reason they were able to get away with this is because Chrome has the high market share that it does. If they'd done this when Chrome had 10% market-share, the response from users would have been to stop using Google Meet. However, because they did this when Chrome has 70% market share (and climbing) there was hardly any outcry; those who didn't already have Chrome installed gave a resigned sigh and installed Chrome in order to participate in their work meetings. Currently, all of Google's services work on non-Chrome browsers. But will that always be the case? I can very well imagine a world where Google starts making its services Chrome-only, citing, for example, that only V8 has the necessary Javascript performance to run Google's increasingly bloated webapps with adequate performance. Like you said, it'll start as a slow drip, with the least popular and most obscure applications (for example: Google Play Music) being moved over first. Then, as users fail to object, they'll move over larger and larger applications. Even if they never make the "big-two" of YouTube and Google Search Chrome-only, they'll still be exerting a fair amount of pressure for users to switch to Chrome.
- Sylos 8y agoOne very obvious point which somehow hasn't been named yet, is security. If Blink has a security vulnerability, like the recent WebSQL remote code execution, then in a monoculture that means everyone has this vulnerability.
- koonsolo 8y agoExactly. A week ago I read on hackernews how desktop linux failed because of diversity. Now I read the web will fail because of monoculture.
- la_oveja 8y agodo not mix diversity with fragmentation
- ludston 8y agoWhat do you mean by "fail"?
- _emacsomancer_ 8y ago> how desktop linux failed because of diversit Yes, but that was based on a comment that was twisted out of context, and is, moreover, demonstrably false. > web will fail because of monoculture Go ask a banana.
- feanaro 8y agoGoogle is much more at the reigns of Chromium than your comment perhaps illustrates. The only way to really innovate would be to make a full-fledged fork which would soon diverge enough to require as much development resources as Chromium, thereby negating many advantages of a common codebase. Also, even Chromium has many Google-specific features and integrations which make it worrying from a privacy perspective.
- sebcat 8y agoLack of official support for Chromium on platforms other than OSX, Windows and Linux worries me a little. Both FreeBSD and OpenBSD maintain large patch-sets to be able to build Chromium. [1][2] I don't know the current situation, but historically some of these patches have had problems reaching upstream because Free-/OpenBSD is not officially supported[3]. [1] https://svnweb.freebsd.org/ports/head/www/chromium/files/ https://svnweb.freebsd.org/ports/head/www/chromium/files/ [2] http://cvsweb.openbsd.org/cgi-bin/cvsweb/ports/www/chromium/patches/ http://cvsweb.openbsd.org/cgi-bin/cvsweb/ports/www/chromium/... [3] https://codereview.chromium.org/180743014/#msg3 https://codereview.chromium.org/180743014/#msg3
- mirimir 8y agoAlthough the Chromium project is ostensibly open-source, Chrome is clearly closed-source. And worse, some Chromium releases have included (or at least pulled) closed-source blobs from Google. So the whole thing is arguably suspect.
- mda 8y agoTo me biggest reason is security. multiple options gives at least some escape route if one engine screws up. Other is breaking standards, but so far this doesn't seem to be a big issue because of the open nature of blink / webkit.
- nirvdrum 8y agoThe problems really begin when a browser doesn't want to wait for a standards body. I realize the situation is different with WHATWG now than how this played out in the IE6 days. But when the dominant rendering engine decides to start adding features where the standard hasn't caught up yet, you're arguably no longer doing web programming, but rather Chromium programming. This sort of thing boxes out other vendors/rendering engines and forces them to have to add non-standard features themselves. Vendor prefixes are not enough. If devs no longer test on non-Chromium platforms, vendor prefixes have to be adopted by non-Chromium engines or risk utter obsolescence. This is also true of Chromium forks. If a fork is a niche player, being open source doesn't buy you much because the Chromium governing body (i.e., Google) still has the lion's market share, and thus the decision-making authority for what the web should look like.
- scarface74 8y agoAnd who would use the forked rendering engine? Would web developers add the forked engine to their test suite?
- deleted 8y ago[deleted]
- gnulinux 8y agoImagine the entire web (90%) can only run in Google Chrome and Google Chrome stops linux support. What then? Will linux not be able to render 90% of www? What if MS pays Google millions of $ to stop linux and Mac support?
- vlmlee 8y agoNot a criticism of you but an observation: people will say a browser monoculture is bad but have absolutely no problem with a political monoculture.
- ken 8y ago> I feel like I’m missing something, because I keep seeing blog posts that tell me a browser monoculture is bad (and the irony of Microsoft saying this is nearly too much), but none of them tell me why. For me personally, multiple independent implementations is a stamp of approval. It means that Google can't just sit on the standards committee, build something behind closed doors, and ship it, even if the result is open-source. It means someone outside of that one company has to understand it, and be able to implement it. It can't be ridiculously complex, or have DOCX-style "just do what proprietary implementation X does" requirements. There has to be sufficient documentation. The implementations probably won't all have the same bugs -- I've heard avionics systems have multiple independent implementations for this very reason. > Maybe the rendering engine should be more akin to the Linux kernel and less akin to Windows? I fear it'll be more like Darwin. It's nice that XNU is "open source", perhaps, but nobody is taking advantage of this. I've never heard of anyone running XNU except as part of Apple's proprietary operating systems, and I've never heard of anyone forking it to run a custom version on their Apple hardware. I'm not even sure to what extent it's technically possible. I would be much less worried if the single surviving browser engine were Gecko -- not because I think it's technically superior (I don't think it is), but because I trust Mozilla a lot more than I trust Google, or even Google+Microsoft. Mozilla is not good at design but they operate out in the open.
- jki275 8y agoThere used to be a BSD type distribution of Darwin. It's not been maintained in many years. Seems like there's something called PureDarwin that's trying to do something with it now. http://www.puredarwin.org/ http://www.puredarwin.org/