Actually, that last one makes a lot of sense for pushing for more GCP adoption.
Actually, that last one makes a lot of sense for pushing for more GCP adoption.
* Code at Google3 is one giant monolith that has dependencies on things that aren’t open sourced. Even if they could be, they don’t make sense outside of Google
* most services internally run on internal services like Borg and GFS rather than GCP for historical reasons. That maybe has changed now but I suspect a lot of stuff depends on internal infra not available on GCP
* A product can often have data dependencies. Just being able to spin up a separate copy may not mean much in terms of keeping a product alive past Google’s interest if the data is locked away behind Google’s private data stores. Then you want Google to start adding easy export options so that data can be exfiltrated from Google’s onto 3p versions of the product which is a legal, business, PR and technical risk
* Google has invested some amount of money and resources into a product. If a competitor takes that concept and is successful it’s embarrassing to execs at Google who missed the opportunity. Google Wave was dropped even though in many ways it’s a precursor to slack (it was open sourced though and went nowhere).
It’s a nice wish but I can’t imagine any realistic scenario where any business would go down this road until their shown a successful roadmap by a more enterprising business first.
There was a time when Google was also Guava and a myriad of Java libraries helping the rest of the world. It’s a design choice, they chose to stop helping, because of their repo. Perhaps it also helped avoid leaks, since copied code can’t be used outside of Google.
Yes - Google chose a monorepo because of the engineering and business advantages it gave them. For example, all binaries had a common dependency that implemented all sorts of common functionality they found binaries on their servers needed out of the box - that’s why a simple c++ hello world on Google3 results in a many many mib binary that includes an http server for performance monitoring. It’s an opinionated codebase but the opinions are largely documented and explained and aren’t crazy (just because you may make other decisions or prioritize things differently doesn’t mean Google’s choice are wrong). And again, please don’t hyper focus on what I wrote as “oh it only has this one advantage”. There’s lots of advantages and I’m just giving very basic examples. It’s been a fairly long time since I worked at Google and someone who works there is going to have a more authoritative explanation of how things work now as things will inevitably changed some.
You may say they dug their own grave while the internal teams find it helps them run services and maintain things because there’s 1 way of interacting with the artifacts of lots of different teams. And they weren’t going to open source EOL projects anyway and maintenance decisions have nothing to do with google3 and are product and engineering led decisions.
Also, they have a bunch of tooling to manage open source projects that mirror google3 projects. It’s doable for projects that care / who it’s important to but it is also a lot of work (eg can write rules that bidirectionally rename files, functions, c++ namespaces, comments that can strip out code before outgoing synchronization, etc etc). if I recall correctly the tool itself was open sourced too.
As for customer trust, again I point out that not only is the Google3 aspect a minor detail, open sourcing wouldn’t even impact customer trust in a large way. It might with a certain segment of the technical population, but that’s not the people Google cares about in terms of public trust. And any open sourcing also has to find motivated maintainers who are not going to be motivated by 0 pay and a huge amount of bug reports and feature requests from users who started with maintenance support of paid engineers and focused product vision. Make sure not to extrapolate your own predilections as a tech engineer onto the general population.
> but that’s not the people Google cares about in terms of public trust
Exactly. At the beginning, Google cared a lot about perception from technology-minded people. It was necessary to rise. Now, this original audience doesn’t matter to them, as you very well explain it, with your explanation that they weighed nothing in the balance of choices for all of the (perceived) upsides of their architecture. Because it’s a megalith with well-established business streams, which puts them outside of danger from the whims of public perception.
The business streams are:
- Workplace: Google is an email provider,
- GCP: Infrastructure company (who doesn’t care about developers, remember),
- Ads: Basically a leech. Everyone associates Google’s services to spying people by any means necessary (hi Chrome, hi Analytics, hi Google Search).
- Youtube: Who likes Youtubers? It’s the most degrading title in society, no-one would like their son-in-law to be a youtuber.
Morally, it has lost its stance. Technologically, it’s behind Microsoft. Socially, it has incentivized verbosity on the web so much that nothing is searchable anymore, shooting their own foot, and shooting the entire web with it.
The glorious USSR lasted 80 years on the remains of their former glory (and on the remains of food that was still produced). I just hope Google’s descent will be less painful, hopefully overnight.
Sorry no. You’re overestimating the importance of techies here. Techies were the first on the web but in no way were techies critical for Google’s growth. Heck I was in junior high in Canada when I first came across Google and our librarian thought Yahoo was the better approach because manual expert indexing was surely better - we may have been nerds but none of us cared about open source. Google was just a novel technology that was better than its predecessors. And in terms of what made Google a success was figuring out AdSense. Without that Google would have died.
> However, one has to notice that Google has lost the upper hand over the web since ChatGPT came about.
That’s a nice claim but there’s no actual objective indication that’s actually true yet. It may well be true that the inflection point happened but please point to concrete data suggesting this rather than a blind assertion.
> The glorious USSR lasted 80 years on the remains of their former glory (and on the remains of food that was still produced). I just hope Google’s descent will be less painful, hopefully overnight.
The glorious USSR arguably came back around under Putin’s regime (call it whatever but it’s a very Soviet style political and social culture again).
Google is a massive player in the search space - bigger than MS was with operating systems in the 90s and MS still maintains its healthy dominance in that space for laptops/desktops even though Apple is the “cool” one and ships a lot of iOS devices and Google ships a lot of Android devices and only marginally beats out Windows market share (38% vs 31% vs 17% for ios [1]).
Anyway, you don’t like Google. We get it. But none of this has any relevance about whether open sourcing sunsetted products would in any way alter their trust in a broader sense - their customer base hasn’t been tech heavy since GMail took over from Hotmail (maybe even before then) and I think you’re over thinking how much influence tech nerds have especially as the broader community has gotten more technically adept than they were at the beginning. People now ask their “techie” friends for advice where techie now means I buy and use a lot of electronics gadgets and software tools and not I’m an engineer working in the field.
Indeed in the critiques you outlined of why you don’t like their income streams, nowhere do you even bother mentioning any sunsetted products you thought would be good. If anything, the lesson business leaders probably take away from what happened at Google is that letting engineers make product decisions is a bad idea and results in products being launched without strategy that then hurts the company image because you can’t keep running unsustainable products indefinitely if you’re trying to maintain some semblance of fiduciary responsibility. This is because they look at Facebook and Apple and Microsoft who rarely if ever cut products and only do so if they’re changing strategy drastically or there’s no significant user base (for Apple since they primarily do hardware this is easier and just means they don’t do refreshes of a failed product line or postpone that refresh for a few years).
[1] https://en.m.wikipedia.org/wiki/Usage_share_of_operating_sys...
Just look here regarding the supposed popularity of Google, and supposedly only worldclass developers in small circles noticed:
Yes, 9Gag is a decent source of what random kiddos around the world think. Look at the comments. Google’s loss of monopoly will be slow at the beginning, then very sudden.
And when a company collapses, suddenly the 50-year readiness of its architecture doesn’t matter as much as immediate features, such as being built by geeks, for geeks.
YouTuber might be degrading to you but it’s one of the most desired position among teens.
I’ve heard this stated before, and something about it feels off. There’s no way all of Google’s code is in one repo.
Like, does that monorepo contain the full Android operating system with Google Services and the firmware for all the Pixel devices? I feel pretty sure multiple teams at Google must have forks of the Linux kernel for one reason or another, would those be in there too? Is Chromium in there too? What about the whole golang project?
Even if I’m off about some of this, it feels like the statement “Code at Google is one giant monolith” needs some qualifiers.
It does contain forks of tons of open source code in the third party folder. I don't recall if the Linux kernel is in /third_party but I would not be surprisied if it is.
A fair amount of the operations are actually documented publicly, ex. https://opensource.google/documentation/reference/thirdparty...