The problem with this is updates: there is no trusted publisher of binaries, and even if you pick one person to trust, oftentimes builds are 6 - 8 weeks out of date with Chromium which means you're susceptible to all the published zero-days.
Tried building it myself and it takes 4 hours on my 32-core 5950x, and you still depend on someone actually porting a version bump because their patches need to be regenerated for every new chromium build.
I like the idea of it in principle; if someone donates some CI time and we get official CI builds, plus getting more active with picking up new builds it'll be a real contender. I'll stick with Firefox for now.
Because I previously worked on the Chromium codebase at Google I have a 'specialist' dev workstation, an HP Z840 dual 18 core Xeon with 256GB of RAM. And that's a model from many years ago now, the newer specialist workstations are even heftier. To work on chrome @ Google you absolutely need one.
That said, if you're using cached builds via goma and have a nice fat pipe it can go quite fast without making your machine sweat much.
It's an absolutely massive code base. I wish I could explain why, but it is. No single part sticks out as bloat to me. I could never get CLion (among other tools) to index it properly.
Maybe someone can create a Goma-equivalent for ungoogled chromium, but it's the project's explicit goal to not depend on Google stuff (they actually apply hundreds of patches to the code to remove built-in google service references) so a Google-supplied Goma cache won't be of much use to this project's builds.
These days I work on a team at Google that provides distributed build infrastructure for non-Google3 projects, including goma. But unfortunately it's not available to the outside world, despite being built with that in mind.
>Tried building it myself and it takes 4 hours on my 32-core 5950x,
That seems excessively long? For me it only takes around 2.5 hours on a 8c/16t processor. This is with optimizations enabled, with plenty of free ram and building on SSD.
It's likely it'll be faster if I build on bare-metal on my box; spun up a VM because the build does all kinds of stuff (downloads binaries, spits up temporaries all over the place, etc.).
1. it's actually 24 physical cores, since azure counts hyperthreads as "vCPUs". still, that still seems slow compared to my own build times.
2. azure VMs have horrendous IO on the persistent data drives. You can probably get a small to medium speed improvement by moving your build to the D: drive.
4 hours on a 32-core modern CPU? If this isn’t the strongest indictment of browsers getting out of control with regards to features and complexity, I don’t know what is.
Browsers are a window into the internet. Browsers should be simple enough to be implemented by a single person in a week.
I want the web to be re-constructed from scratch starting with the TCP/IP stack all the way to gifs with modern hindsight.
"Browsers should be simple enough to be implemented by a single person in a week."
They are. It all depends on who defines what a "browser" is and what it can do.
The browser I use as a "daily driver" is a 1.3M static binary. It is 5.7M of C code, including graphics stuff I do not utilise. It compiles in under a minute on a low-end computer.
This browser allows me to "browse" hypertext. It displays HTML tables beautifully in textmode. I can download files. I can save HTML as formatted text. It supports FTP. The program has various settings for cache size, character set and so forth. I can script the browser using tmux.
This browser is all I really need.^1 I read HTML then decide if I want to download or save something. Simple. What else is there, really. When I want to run programs I do not do that using this browser. I have separate compilers and interpeters for that. When I want to listen to audio or watch video, I do not try to listen or watch using this browser. I have separate programs for that. And so on. I do not try to live inside a single pogram. In every case of a non HTML-reading/saving or www/ftp browsing task, the separate programs do a better job than the browser could. If this sounds something like the "UNIX principle" maybe that is not a coincidence.
Sure, we can take each of those individual programs and integrate them into a single program, and still call it a "browser" but why would anyone want to do that.^2 What is that concept in programming called "separation of concerns". Someone once called it "an ordering of one's thoughts". When people use browsers written by web advertising-supported organisations, then the "organisation of thoughts" is going to revolve around advertising (requisite tracking and personal data/metadata collection) and how to integrate it into the browser. When I use the text-only browser I choose, the ordering of thoughts is quite different. I see no advertising. Ever. I still consume the same amount of "content", maybe even more because this 1.3M browser is quite fast.
1. Major corporations operating on the web today, e.g., banks, can obviously force people to use certain browsers for business and important personal matters. For recreational web use, however, people can choose any browser.
2. The answer is not "For everyone's convenience and free enjoyment." That is why we have people trying to "un-google".
Also probably worth mentioning that I am not always necessarily using the browser to retrieve the HTML I want to read, nor to download binary files like audio, video, PDFs, and tarballs. I use other dedicated programs for that. The browser is used just as much "offline" as "online".
Connections from this browser go through an up-to-date localhost-bound forward proxy which handles any TLS verification. One of the obstacles to anyone writing a browser might be all the TLS stuff, getting it right and keeping it updated.
The browser is links, various versions of the 1.x series and 2.x series, with various personal changes.
I used lynx in the late 90s. Honestly, as a 24/7 text-only browser user, I think lynx may be the worst of the text-only browsers. IMO, the fact that it is so often mentioned seems to suggest most folks who mention it are not using it much and/or are unfamiliar with the full range of alternatives.
Usually the only reason someone asks "what browser" is so they can make snide comments about it, diverting the discussion away from the original point, which is that there are other browsers like this and it is possible to write them. As such it is usually against better judgment to respond. Let's see what happens this time.
What I prefer is not the point. Every user is different. The point is that people have written other, smaller, simpler browsers, I am using one, and I am able to comment here and read every submitted website just like anyone else who is using Chromium or the like to do it.
>Usually the only reason someone asks "what browser" is so they can make snide comments about it
I wasn't the person who asked, but I was also wondering and appreciate your answer for non-snide reasons. Especially in the context of the larger thread it's nice to hear what people use.
Apologies for the misunderstanding. Genuine curiousity is good! Alas, the "full range of alternatives" is not very large. Nevertheless, IMHO, one can easily do better than lynx.
It’s not, and neither is links (both are around 165 SLOC). Maybe what they meant was 5 MB of source code, but that’s not right either (even compressed the links source is bigger than that, though lynx isn’t, but who knows what version they’re using). I dunno. Without units it’s anyone’s guess.
Tried building it myself and it takes 4 hours on my 32-core 5950x, and you still depend on someone actually porting a version bump because their patches need to be regenerated for every new chromium build.
I like the idea of it in principle; if someone donates some CI time and we get official CI builds, plus getting more active with picking up new builds it'll be a real contender. I'll stick with Firefox for now.