12 ms·
Chromium and the Browser Monoculture Problem
- jpochtar 7y agoThis is a good take. Standards were a weapon to fight Microsoft's closed source IE— emphasis on closed source. Why? Competing browsers needed to be IE-compatible to matter, and without standards spec-ing out what IE's doing, it's hard for other vendors to know if they were 100% compliant. Now that the major browser everyone's coding against is open source, and competitors can freely borrow their engine, I'd say we don't really need the W3C anymore.
- dragonwriter 7y ago> Now that the major browser everyone's coding against is open source Chrome isn't open source, it's open core.
- jhanschoo 7y agoBut Chromium is open source and that's what people refer to when they say browser monoculture---not that Chrome is dominant (there will always be a significant minority of Safari, Opera Mini, UC Browser, etc.) but that Chromium-based engines are extremely dominant.
- srikz 7y agoI used to feel the same way but I think there should be competing implementation of standards to make faster progress. GCC vs Clang is what comes to mind. The competition from clang improved the overall quality and performance of c / c++ compilers in general
- ryacko 7y agoCompilers are algorithms to convert mathematical expressions to something that can run on a physical computer. Porting optimizations is easier than porting something from Blink to Quantum.
- Tinfoilhat666 7y agoW3C failed to create an open platform. Browser vendors use W3C as a rubberstamp for their implementations. There's many W3C Notes and Editor Drafts with only one vendor. Just look at the latest Google firehose of new features.
- smittywerben 7y agoThis is probably silly, but I've been wondering if IE 11 tracks me the least while providing clickable internet text. It just needs uBlock Origin and a Linux port... maybe?
- indalo 7y agoI'd imagine that with MSFT having similar products to Google. there exists an incentive for similar behaviors to occur in terms of data collection. I hadn't given it much of a thought since edge/ie are such a non starter usually. Would be interesting to look into!
- phaedryx 7y agoI am unconvinced. I am less worried about keeping up with the latest bleeding-edge web stuff. I am more concerned about privacy, ad tracking, etc. I know that Google's goals are different than mine, so I don't want 100% Chrome.
- danShumway 7y agoUltimately, Google will still decide what goes into Chromium. As it stands, Google decides what patches get merged, and Google decides how core features are implemented. And they can be implemented in ways that are very hard to toggle and very specific to Google's business model. We need to get a version of Chromium that's not owned by Google -- but, I don't see any motivation for Google to give up control of Chromium or move Chrome over to use a different, community controlled fork. So if you want a version of Chromium that really is community controlled, you'll need to have a community fork of Chromium that we all agree to work on and use as a browser base. Otherwise, we'll just be giving free labor to Google, and they'll still filter contributions so that primarily their interests are served. Unfortunately, now that we've forked Chromium for all of our browsers, one of two things is going to happen: - either the fork will need to be tightly constrained by Chromium, in which case Google will still effectively control it, or - the fork will diverge from Chromium, in which case we'll be back to the exact same position we are now. You'll have multiple competing browser engines, one of which is used by the most dominant browser on the market. The TLDR is if you're worried about Google controlling the browser engine, it still seems to me that the only solution is to get a non-google controlled browser engine used by a browser with market share comparative to Chrome. The relative lack of user adoption for Vivaldi, Opera and Brave suggest to me that standardizing on Chromium won't significantly help with that. Edge is now moving over to Chromium -- if it sees a massive influx of new users, maybe it'll be worth taking that strategy more seriously. In the meantime, since it appears we are going to need a browser engine to compete with Chromium anyway, what's the harm in having one company (Mozilla) try to compete by building their own browser engine the way they want? Sure, Firefox isn't doing great right now, but is it doing any worse than Brave?
- potatocannon 7y agoGood thoughts, except for Firefox 'not doing great right now'. I've switched over for almost a year now, both for regular and development use, haven't looked back.
- philjohn 7y agoSame - I moved to Safari when I got sick of Chrome making my MBP sound like a jet engine (and be almost as hot to the touch). Then I got tired with certain sites not working properly and went back to Firefox - and it's plain to see they've done great things to the browser engine, it's fast, pretty lightweight on CPU and power usage and all of the problematic sites in Safari work fine.
- roca 7y agoSome major problems with the "let's all use Chromium" approach: Google controls Chromium because they do the heavy lifting. All the companies that use Chromium are using it because they want Google to do the heavy lifting, so that isn't going to change, even if Google decides to put an open governance face on it, and there's no sign they're going to do even that. Should Google really be ceded complete power over the Web? A single browser codebase hurts the maintainability of the Web platform. To the extent Chromium has a monopoly, Chromium bugs are the standard and sites will depend on them. Yes, this is already true to some extent, but it could get much worse. So fixing bugs would get harder. A single codebase makes radical implementation experiments more difficult. Companies can patch Chromium but architectural divergence gets expensive fast. Say you want to rewrite the Chromium style system for parallelism with Rust, like Mozilla did with Firefox, and Google says no? Good luck maintaining that long-term. (A good example was how JSC vs V8 caused endless friction between Google and Apple in Webkit, leading up to the Blink fork.) Another problem is that it would be very hard to block Web features that Google implements in Chromium. (P)NaCl/Pepper is a good example. "It's a ton of work to implement (especially if there's no spec)" is a helpful argument for not implementing a feature that's bad for the Web, both in public and to one's own product management. Hard to hold the line on something like PNaCl/Pepper or WebSQL if it's just a matter of flipping a configuration flag to increase Web compatibility. If the world was all-Chromium a few years ago there's no doubt we'd have PNaCl/Pepper instead of WebAssembly --- and we'd be stuck with the insane duplication of Pepper vs standard Web APIs, the bloat of LLVM everywhere, etc.
- ximm 7y ago> Google controls Chromium because they do the heavy lifting Google already controls the web standardization process with its manpower. So standardizing on chromium would not change that issue, it would just move it to another level. I am not saying that this is great. I just think the argument is invalid.
- roca 7y agoGoogle has a lot of power in the Web platform but it's definitely not complete. If it was just a matter of manpower then they would have forced (P)NaCl/Pepper and Dart down everyone's throats and we would have been stuck with Web Components v0. Sentiments such as "Google controls everything, there is nothing we can do" are inaccurate and also counterproductive.
- quicklime 7y ago> we're talking Chromium, the underlying browser engine. As it stands, Chromium is the basis for a variety of browsers, not just Google's flagship. From what I can tell (as a non-expert on Chromium's source, so please correct me), the Googley stuff that makes privacy advocates nervous is independent from the core Chromium browser engine This might be just me being pedantic, but I thought it might be worth mentioning... Chromium is basically the same thing as Chrome, except that it's missing a few proprietary blobs that Google is not legally allowed to put into Chromium: some DRM stuff, a licensed H.264 codec, a Flash plugin, etc. But if you're worried about privacy, Chromium still has all the Googley stuff. You can still log into Chromium with your Google account, and it'll sync your bookmarks and history and passwords just like Chrome. Chrome extensions are 100% compatible with Chromium, and you can install them into Chromium via the Chrome Web Store. Some people might be familiar with "Blink", which is the browser engine (and is a fork of WebKit). There's also V8, which is the JavaScript VM. These two components aren't enough to form a usable browser though. So the Chromium Project develops what is called the "Content module" (see https://www.chromium.org/developers/content-module https://www.chromium.org/developers/content-module) which combines Blink and V8, and some other pieces, to form a basic web browser. This is what other browsers (like Opera, and I presume Edge as well) are built on top of, and does not contain all the Google integrations that Chrome/Chromium have. While Content is missing a lot of the Chrome features that make privacy advocates nervous, it's still a problem because most Chromium/Content developers are Googlers, and will probably not implement things like WebKit's ITP or canvas fingerprinting prevention.
- oldmanhorton 7y agoEdge basically takes the entire chromium product including the //chrome layer, but we have removed or disabled most/all of the Google service integrations
- rvnx 7y agoWhich is needed anyway, because you are not allowed (even as Microsoft) to use Google APIs keys. If you don't remove these services, Chromium doesn't build or will be rejected by Google Play. So it's nothing special.
- iforgotpassword 7y agoMost of the post resonates well with me, but at that point > Ideally, this codebase would not be controlled by any single company. I'd love to see a common browser engine controlled by an independent nonprofit foundation I had a bit of a facepalm moment. This is exactly how Google started out: Chrome(ium) was built based on webkit, so basically there was a mini consortium where Google and Apple would work together. But that wasn't moving fast enough for Google's taste so they forked off blink so they could immediately do whatever they pleased.
- SquareWheel 7y agoThere's a lot you're glossing over there. For instance the split from WebKit resulted in 4.5 million of lines of code that could be deleted, reducing bloat. Apple could then do the same on their end. It was a relationship which ended on good terms. Your comment makes it sound like it was antagonistic.
- iforgotpassword 7y agoI don't know anything about the relationship back then. But moving faster and more flexibility was even among the reasons Google gave back then iirc. Anyways, what I tried to say was that it didn't work, and you gave a good example why the split was necessary. To me that just confirms that a "chromium consortium" wouldn't work.
- vortico 7y agoThis is also the facepalm moment for me. Yeah, let's just ask Google to make it an independent nonprofit foundation, because they are 100% certain to say yes. If this is the point of the whole article, I'd have to concede that I fully disagree with the article's idea.
- qwerty456127 7y agoThe problem with browsers is they are so complex people can't build alternative implementations and keep them perfectly compatible. We need concise well-engineered and precisely-defined web standards a small team can implement in reasonable time. Many people would build competing browsers if there were yet we have what we have and no choice but to stick with the Google engine.
- icebraining 7y agoSure. And then Google will start extending that standard, then sites will start depending on those extensions, and any browser that refuses or is unable to implement them will be extinguished/irrelevant.
- qwerty456127 7y agoHow many websites rely on google-specific features not defined by W3C, WHATWG, ECMA etc. today?
- icebraining 7y agoThose examples are the demonstration of my point! You had a mostly fixed standard that a small team could hope to reach - the W3C stuff - and the few top browser vendors decided to extend that with a continuous stream of new features chosen only by them - the WHATWG -, with the result that browsers who couldn't keep up got extinguished from the market. That the features aren't proprietary is besides the point: Google realizes that they don't need them to be proprietary, what matters is that others can't easily implement them all.
- vbezhenar 7y agoThe only reason to extend the standard if you can't implement required functionality with acceptable performance within this standard. That is the weak point for web platform: JavaScript is too slow and does not have access to drivers, you can't implement GPU-accelerated H.264 video codec within browser, so you have to implement it with C++ in browser. That means that proposed standard should be Turing-complete, provide C++ level of performance and native access to required hardware, while keeping browser-level safety and isolation. That is hard thing, but I believe, it could be solved using modern virtualization techniques with some advancements from OS and hardware to better virtualize GPU, USB, etc.
- petjuh 7y agoThe big difference is that IE6 was a PITA to develop against while Chrome is a breeze. Developers wouldn't have hated the IE6 monoculture if it was as fast as Chrome and had developer tools and features as nice as it.
- resoluteteeth 7y agoI think you are looking at the later stage of IE's life when it was already dominant. When IE first caught on it was extremely fast and pleasant to use compared to Netscape (also netscape wasn't originally free). If you only cared about IE it was actually a complete breeze to develop for using proprietary stuff like ActiveX (ignoring the fact that ActiveX was a bad idea for various reasons). Lots of websites started showing banners saying that they were optimized IE, because people were primary targeting IE when they made new websites, in part because it was such a breeze to develop for. IE had lots of HTML/javascript features that made things much easier than other browsers at the time. It's important to realize that IE only became difficult to deal with once 1) Microsoft essentially stopped trying to improve it after they won all the market share and 2) people needed to make web pages that worked on other browsers. At this point people wanted to use newer features that IE didn't support, but needing to support IE 6 necessitated either abandoning more modern features or using all sorts of hacks/polyfills to work around IE's quirks.
- OrgNet 7y agoIf only there could be no traces of Google inside Chromium... I'll stick with Firefox.
- Lendal 7y agoI am one of those who doesn't like to be forced to do anything. I believe in freedom, choice, and competition. Whenever a Fortune 500 company IT department literally pushes a particular piece of software to all their machines, (e.g. Chrome) you can be sure that it's the worst possible option. So I use Firefox instead.
- mda 7y agoFirefox uses Google services as well.
- OrgNet 7y agoyes, for the default settings... but I disabled google search, Phishing and Malware check, etc on mine ... I think I got everything (too bad it isn't the default settings).
- xvilka 7y agoThis is why Microsoft should have used Firefox/Servo as a base for new Edge. Using Rust to write your web engine will remove a lot of problems.
- geophertz 7y agoThe thing is if we follow this idea, why don't we all use the same browser, that is open source and "not controlled by any single company"?
- la_fayette 7y agoMonopolies are just a different term for stalinism. The question is for how long such a big moloch can control the internet in all domains. Ok they just buy startups in competing subdomains, but i doubt that really anything can be contolled by a single entity. Google is a company and thus a hierarchical system. The distributed innovation on the internet is still possible, see e.g. bitcoin mostl likely started by one person?
- luckylion 7y agoQuestion is: how well would (the paranoid, control-seeking parts of) Stalinism have worked with today's technology?
- rightbyte 7y agoProbably so good that it would be unsustainable. The police, military, government and public officers needs some privacy so they can be corrupt without their superiors noticing and taking a cut. There would be too much control. We will see how North Korea turns out in the future?
- luckylion 7y agoTrue, but on the other hand you'd probably need a lot less boots on the ground if you can amplify their power by technology, I suppose. You can pay them more than well to guarantee their support, feed the dogs well so nobody gets any ideas about questioning pig supremacy.
- sureaboutthis 7y agoI've been saying this about dev.io since it's beginning. It's the place for frustrated redditors trying to make a name for themselves but only making fools instead. Do not bother reading anything there. It's as worthless and pointless as reading anything on reddit.
- felbane 7y agoAs soon as the author started wrapping words with emoji, I lost all interest in hearing their viewpoint.
- jefftk 7y agoThe premise of Mozilla's Servo is that there are major performance and security issues in all the current browsers that are very hard to fix without a full rewrite. Because we have multiple competing browsers and solid standards, instead of a single widely used reference implementation, it's possible that Servo may succeed at this. If we switch to an open source browser engine monoculture we lose competition among rendering engines, and may never get something much better than what we have now.
- The_rationalist 7y agoIf anything, Servo has shown that nobody needs to rewrite an entire engine for improving the state of the art. Servo is modular and can integrate it's style engine or it's layout engine or it's rendering engine into other engines. Btw it use Firefox spidermonkey for js. If mozilla wanted to bring a new inovative layout/anything module into chromium they just could, but they don't want to improve chromium, sadly. Reinventing the wheel with totally redundant pieces is not a goal. Mozilla should focus on reinventing the critical pieces of chromium and only them. They fail to understand their real utility and statistically become inexistant thus their funding too. If only there was debuggers for brains of decision makers, the world would be in much better shape.
- bobajeff 7y agoThat's actually a very good point. If Mozilla used Chromium as a base they would be free to invest all their manpower into Servo development. Then again they would have to work pretty closely with Google on integrating Servo with Chromium. Otherwise they'll get into the situation that Google did with apple over Webkit and then they be at square minus one with a foreign codebase.
- qbaqbaqba 7y agoFunny to see this posted to dev.to.
- loudtieblahblah 7y agoIf everyone who wrote posts and articles about browser monoculture just started using Firefox, this would all be less a problem.
- matz1 7y agoTo fix this, someone simply need to build a better browser. Chrome did this when they taking over IE domination. I'm not taking about new privacy conscious browser but something that me and many other people really care. Is it hard ? yes but chrome did it before.
- chemodax 7y agoFirefox did this when they taking over IE domination. Chrome come later.
- yogthos 7y agoAt one point IE was just as dominant as Chrome is today, and it got displaced. A lot of people seem unable to imagine how Chrome could be displaced today, but that can happen pretty rapidly. For example, Google restricting ad blockers on Chrome will almost certainly drive Firefox market share up. However, the only reason this is possible is because we have web standards that are independent of a single browser and vendor. If we end up abandoning the standards entirely in favor of just using Chromium, then it’s game over for open web. Throwing in the towel and making everything Chromium based would be the worst possible scenario because it gives Google an insane amount of control over the future of the web. And the fact that Chromium is open source doesn’t really make a bit of difference here. The reality is that it takes a huge amount of effort to maintain it. It would require an organization like Mozilla to fork it from Google and take it in a new direction. Since we already have Mozilla and Firefox now, it’s much better to make sure they continue to exist.
- ken 7y agoMicrosoft was ruthless and technically competent, but in many ways they were also strategically stupid. - IE was a Windows-only product (after Microsoft dropped Mac support), so as Windows lost its dominance (thanks to the internet, and mobile devices, and Linux, and Apple's rebirth, and...), so did IE. It helped sow the seeds of its own destruction. - Chrome has an open-source core, so they're going after the embedding market much more than IE ever did. That means that a lot of "Chrome" use is in places where users feel the consequences, but have no control over being able to switch engines (e.g., Electron apps). Google's web browser group feels like the classic "big, smart" quadrant competitor that nobody will engage. If your only goal were "take over the world usage share of browser engines", it's hard to imagine doing a better job than they're doing now. The client-side web was not traditionally Microsoft's home. They were a little late to the game, they didn't quite understand it, and they needed a good browser on their platform but it wasn't fatal if it wasn't theirs. (They're doing quite well in services and games and many other areas.) Google was always web-first, and they will never cede that. Crazy tech prediction: Chrome will be the last dominant web browser engine. What defeats it will be the successor to the web, not another "web browser". Its successor will probably even embed Chrome for backwards compatibility, like Edge embeds IE, or Chrome embeds FTP. We'll look at legacy Chrome-compat internet sites the way we look at Electron apps, or non-TLS websites.
- szczepano 7y agoIf we take into consideration that both firefox and chromium use skia graphics library then there are only two companies apple and google.
- Narishma 7y agoDoes Firefox still use Skia with Webrender?
- szczepano 7y agohttps://github.com/mozilla/gecko-dev/commit/28fa74680f4a3d2cead6818000a0f6defae2804a https://github.com/mozilla/gecko-dev/commit/28fa74680f4a3d2c... I think they're using skia all the time since 2016.
- rebelwebmaster 7y agoSkia is just one backend used for drawing pixels on the screen. It has nothing to do with deciding which pixels to draw in the first place (i.e. the vast majority of what web browsers do).
- tambourine_man 7y agoSome random thoughts: - IE vs Chrome dominance is comparable but not equal. One was closed source and stagnant, the other open and constantly evolving. - “What if we all contribute to the same code base” ignores that not all priorities are aligned. Apple is a lot more focused on user experience and battery life while Google is all about moving the platform forward, see Web Worker conundrum for example. - Browser are a lot more complicated now than they used to be, so creating anew from scratch is harder. But the Web is also a lot better documented (edge cases specified) and with more open implementations to get inspiration from.
- snek 7y agoThis would be a fine idea if Google didn't control the Chromium source code. The changes Google is making for webRequest v3 manifests will land in the Chromium repo. The changes Google makes for adding non-standard features happen in the Chromium repo. You can see them all here[1]. You can even sign in with your Google account and comment/review any CL you wish, but that doesn't mean Google listens. [1]: https://chromium-review.googlesource.com https://chromium-review.googlesource.com
- bsg75 7y agoIgnoring for a moment any technical or business considerations, it would have been fascinating to see the long term effect if MS has based its new browser on the Firefox base instead of Chromium. Given history it is also personally interesting to consider Microsoft as a company that could have furthered open web standards.
- writepub 7y ago> Imagine if Apple decided they were tired of everyone moaning about Safari's missing features and decided to go the same way as Microsoft. Not happening. It's likely that Apple spends an inordinate amount of engineering on Safari to lock-out W3C web features that pose a competitive threat to their lucrative Monopoly: the app store. Their strategy has always appeared to be to purposefully cripple Safari to drive developers and users to the app store, and monetize there, both on the $99 annual fee for the developer's ability to publish apps, and that 30% cut on revenues from publishers. Then there's the whole arbitrary bans on certain apps that somehow undermine their control over the device and ecosystem. If they didn't have a plan to cripple Safari to drive people to the store, why else would they ban browser engines from competitors?
- temptemptemp111 7y agoAnd not a single mention of Pale Moon, ungoogled-chromium, or waterfox...
- bfrog 7y agoThe real question that should be asked is there something fundamentally better than the browser and html. Things like flutter make me think there is a future for native apps that are just as easy to create if not easier.
- Yizahi 7y agoAuthor assumes that Chrome is for some reason different entity than Chromium. He also assumes that Google stuff is separate from pure browser code. And he assumes that 3rd party "modders" (let's be honest, chromium based browsers are simply mods) would want to separate Google stuff from the pure browser even if it is possible. None which I suspect is true. And privacy is not the only concern with Google. I'm more concerned with anti-privacy enabling "framework", in a way of inventing and pushing "standards" disregarding everyone else.
- legends2k 7y ago> From what I can tell (as a non-expert on Chromium's source, so please correct me), the Googley stuff that makes privacy advocates nervous is independent from the core Chromium browser engine. You're wrong and sorry to be blunt. If you think Chromium is pure technical code and no Google hooks, you're wrong. 1. I've been working on it for over a year and it's rife with Google hooks. 2. When we have a thriving project named Ungoogled Chromium, you'd start believing point 1. https://github.com/Eloston/ungoogled-chromium https://github.com/Eloston/ungoogled-chromium
- combatentropy 7y ago> I'm currently very frustrated that while CSS Subgrid has been implemented in Firefox Nightly, Chromium has yet to start working on it. Imagine if the Firefox devs' work contributed to Chrome as well! This problem would vanish! I doubt the problem is too few developers. Google has over $100 billion, it can hire as many people as it wants. And didn't you already say at the beginning, "Google is huuuuuuuuge. They just have so many people working there." Rather I wonder if there are just only so many people who can collaborate on a codebase, there are just only so many features you can push through at a time. If all the Firefox developers moved to Google, I doubt we would see features faster. I bet we would see features come out at the exact same pace. It is not a matter of labor but of leadership, and each project will prioritize features differently. Therefore this is an argument for more than one implementation. Is this not the subject of the famous book The Mythical Man Month, by Fred Brooks? Adding more programmers to a late project makes it later. I know that Google is a massive company, but I wonder how many employees literally write code for Chrome.