Facebook and Google don't care about open source... Their desire is to get people to use their search/system. That's all they care about, regardless of what pretty bow they wrap it up in.
Let's look at Google...
Android - Get people to use Google products on mobile.
Adsense - Add ads to your site.
Analytics - Track how users use stuff to provide better ads.
Gmail - Track your email to serve you better ads.
Google Search - Serve you ads.
Sure they have Dart, Angular, etc which they developed for use internally and then released to the public. But do you honestly think that has anything to do with their business model? They hired smart people, and smart people design things. Those people then released them as open source. But do you honestly believe if Google was to start (theoretically) having money issues, those products would not be the first to go?
I'd expect some of the bigger R&D moonshots to go first - Loon, Wing, etc. The open source contributions are good PR with the software development community.
Red Hat, by the way, deliberately obscured their kernel code in order to stop Oracle from simply providing support for Red Hat code. Probably the correct business move, but also probably against the spirit of FOSS.
Google? Facebook? Are you kidding? These companies have lots of great open source projects. But the core of their business is certainly not open.
Try to find Goog's SERP ranking algorithm on GitHub. Or their Adwords scoring/pricing code. What about Google Doc's text editor? Also, most Google apps on Android are closed.
> don't give back anything even remotely related to their business model.
Why should they? It would be nice if they did but they'd be directly enabling their competition. That's not what open source is all about as far as I understand it.