I am of the opinion that Facebook and Google will continue to be relevant simply because of the perceived value in working for these companies. There was a recent top news on HN about a programmer who self-learned and applied to Google. The line "Feeling more confident, he set his sights high. He began to wonder if he might be able to work at Google" made me realise that as long as people look up to Google as a pinnacle of software engineering (or if pinnacle is too much of a hyperbole, at least I admit that Google has high software engineering standards), there will always be an influx of good engineering talent to these companies. I feel that one way to combat their grip on the Internet would be to change the mindsets of these programmers, and to change the narrative that all good engineers should work at Google et all. Without a constant stream of programmers willing to work for these companies, the quality of their offerings should decrease, hopefully to a point where the average Joe would start to look for alternatives.