3 ms·
For abseil this is a bit simpler, so I start there: On the one hand it is a library they publish so that other libraries they publish (Googletest, protobuf, ..)
by johannes1234321 6y ago
For abseil this is a bit simpler, so I start there: On the one hand it is a library they publish so that other libraries they publish (Googletest, protobuf, ..) can use it on the other hand it drives development of the C++ standard and adoption according to their needs ("see our hashmap is faster and more efficient, make it part of the standard! (Then we don't have to maintain it anymore, but compiler vendors will)")
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"