Maybe I'm cynical, but it seems pretty obvious to me that Google embraces OSS with Istio, Kubernetes, etc only out of necessity and being a distant 3rd in the Cloud race, and this is their attempt at some sort of differentiator.
Maybe I'm cynical, but it seems pretty obvious to me that Google embraces OSS with Istio, Kubernetes, etc only out of necessity and being a distant 3rd in the Cloud race, and this is their attempt at some sort of differentiator.
Summer of Code is a huge project they finance, seems altruistic but is a recruiting&marketing tool.
Publishing libraries like protobuf and abseil serves to drive standards in directions they like.
Chrome/Chromium drives the open web, ensures their say on standards and gives the ability to set them.
Android/AOSP brings leadership in mobile devices to them. Again driving standards to their needs and preventing Apple from making the mobile world a google-free walked garden.
SDKs for their services - obvious.
And to be clear, that is by no means bad. And that potential abuse of their position has to be controlled (i.e. when setting web standards to their likings) is mostly independent from their software being open or not.
Could you elaborate on why they care? Do they have some kind of competitive advantage when it comes to Protobuf?
With things like protobuf/grcp it's a bit harder, but if they define the standard for data exchange between machines they can eventually - use it as apart of their search indexer - incorporate external services into their products while keeping their standard architecture - integrate acquired software into their stack (you hope being acquired by google? Prepare ;) ) - it reduces risk of alternative approaches from becoming defaults, which could harm Google's integration wishes - if job candidates are used to protobuf there is one thing less to reach a new hire
This certainly isn't a conclusive list, and I can't judge relevance of each for their decision, but those things certainly impact the decision aside from "we think it's cool"
IME (I worked there for a long time, but no longer), individual (and small groups of) engineers with a passion for OSS drive publishing/sharing.
Execs with the interests you outline approve/agree to the sharing.
The motivations are not monolithic, and a corporation is not a person, it's a group of people.
With all discourse on the internet IMO there's way too much all one thing or another. Companies and people made lots of decisions surrounding various projects, and the reasons can be altruistic one day, about profit the next, or a little of both with the same decision.
When a company open sources something, you're right, they "see the value of open source". They know it will enable collaboration, essentially unpaid labor on their project, community and interest, and while others can use it, it places them at the center in a driving power position over the technology and gives them the ability to set the standard.
Open sourcing is good business. And that's before we talk about the marketing value of claiming it's altruistic and selling that idea to everyone else. Once you start taking advantage of people's naivety to promote your company and your brand, you're really cooking with gas.
People need to stop believing in corporations, because corporations are built for the purpose of making money. You can trust them insofar as you understand that goal and understand them to move in accordance with it.
And having worked on Google OSS projects, the 'unpaid labor' aspect often doesn't materialize. Looking at GWT , J2CL, Closure Compiler for example, 99% of all commits are from Googlers, very few outside contributions, despite for example, a peak of 150k MAUs for GWT in its heyday.
Google has 10s of thousands of OSS projects, only a small fraction of them are related to any kind of strategy. Most are people scratching an itch and throwing a codebomb over the wall onto GH.
If Google didn't think 20% projects provided value in terms of employee satisfaction and retention, or didn't find some value in the ability to potentially build on some of that random unplanned R&D if someone struck gold, Google wouldn't do it.
It's possible to have altruistic line employees, but corporations are always acting on cost/benefit. That benefit just doesn't always manifest directly into cash. Employee retention, good PR, etc. are all benefits that can be to some degree valued and measured.
Corporations do not have 100% visibility into what their employees are doing in totality and they often don't write any rules for or against something until after an employee does something so bad it creates negative PR.
There's no employee handbook rule that tells me I can comment on HackerNews, or tells me that I can't (well, I hope not). So until I get a call from Google HR telling me I did something bad on HN, I do it.
I don't think this is Google specific, I don't think the vast majority of employees in the tech sector obtain permission for both after hours contributions they make on the internet, or even stuff they do while at work, even though most companies have a policy not to use work computers for personal things.
People just don't compartmentalize their lives like that. Like say you're at the office, you're browsing some GitHub repo on a project completely unrelated to your company, and you notice an easy to fix bug, and send in a PR on your work desktop while at the office. Is your company allowing you to do this explicitly, or do they just not care, as long as you're being responsible and not spending all day at the office working on non-work stuff and not deliverables.
The COVID era brings this even more into focus, with everyone working from home now, really, how many people are doing other work during office hours?
You're trying too hard to attribute master planning to management, when the truth is, most of these tech companies are more chaotic and autonomous internally then most people realize.
Let's say you're the maintainer of the `ls` command. Some Facebook employee comes along and fixes a bug, out of the goodness of his heart. You're going to think, wow, Facebook is helping me, now I trust Facebook more.
Problem is incentives. If Facebook gets large enough, its employees who are trying to stake a claim in open source might not be thinking about how that ties into the company as a whole, if leadership isn't rewarding it.
It was (for better and for worse) the #1 reason to adopt GCP for our main cloud platform, and we're not alone.
It's has seen immense adoption that it wouldn't have had if it hadn't been in a neutral foundation. The work was definitely not done by Google alone (~30%).
IS GCP "still" #3 ? Yes. Is it because they didn't get a tighter grip on k8s and try to use it as a competitive advantage ? absolutely not. Nobody would have touched k8s with a 10 foot pole in that situation.
The strength of k8s is in its eco-system and that wouldn't have happened without the CNCF.
And I'm saying this as an early adopter of k8s, it's insane for the Google brass to see anything other than an immense success in the handling of k8s, at least from the perspective of how much money it made Google (indirectly)
It's not because of K8S strategy that GCP is #3. It's just because MS & AWS are better. PERIOD. Better at service, better at marketing, better at some product design sometimes, better at abusing their current dominant position (hehe it sucks doesn't Goog ? heh? Doesn't it ?)
I think you underestimate the revenue OpenShift is generating... If I see the support contract bills of my clients, holy crap, you could host a ton of stuff on GCP for that.
If I see the support contract bills of my clients,
holy crap, you could host a ton of stuff on GCP
for that.
yeah with no support lol, and when something goes wrong... oh well ¯\_(ツ)_/¯on a more serious note: in order to compare apples to apples you should compare red hat support bills with GCP support bills (i think they call that "professional services"). I guess they aren't cheap either.
Sadly, also my experience. Response SLA of 2 hours? Please attach sosreport is ALWAYS the first reply. Even if you attached it in the original ticket (which we always do). The technical quality of the support is sub-par, most of the time when we include technical information, they don't seem to understand it at all...
Comparing consulting bills to IaaS bills is apples/oranges. Consultants are really just Humans as a Service (HaaS). A lot of the work we do is to bring in expertise in something that would otherwise be difficult and expensive to hire for and augment a team for a short period. We actually help customers with cloud-stuff (like AWS and Azure) all the time.
A lot of the work I've been doing lately is stuff that would have to be done if you were using K8s on cloud instead of OpenShift. I'm currently helping to migrate services from older platforms (like BlueMix) to OpenShift. You can look for that "feature" all day long in the cloud console, but you won't find it :-)
I'm also a freelance consultant mainly focused on OpenShift and k8s, my bill is separate.
Just wanted to say this one weirdly petty/obnoxious concluding line tainted an otherwise solid comment. Seems unnecessary.
i should check if it's still the case, but I remember a time where every effing kubernetes tutorial would make you spin up a k8s cluster on google cloud.
I'm trying to look up how to make my own cluster, not use someone else's. Figured it out eventually but it took way more searching then for learning how to use k8s.
Android brought people into Google's ecosystem.
Kubernetes could have positioned Google better in the cloud space but I think they were late to the party due to their failure to understand what customers want.
It's noticable through their documentaion and in some of their architectural decisions and general approach/attitude towards software engineering.
I've have noticed that it's faded somewhat but it's still there, it's noticable specially when contrasting it with Amazon's approach which has a different approach or style to it.
I think it has to do with the origins of older google engineers (this also would explain why/how it's diluted but still there)
Also it seems that in some parts of google are trying to move away from these in order to be seem more enterprise friendly?
But personally, I really like google's more engineer-oriented attitude (here are they pieces and how they are made, you can figure it out) versus a more hand-holding style which later makes it difficult to move beyond the happy path.
it's not very easy to explain what I mean exactly as it all comes from a rather vague sensation about engineering style.
Open-source should be extensively distributed over many actors to prevent any government censorship and attacks by political reasons.