The confusion (not least among US senators) as to Facebook's strategy and business model continues. The continued accusation of "Facebook is selling your data!" is of course not helpful, because it doesn't. Data is the oil of its advertising targeting engine, and it wouldn't be so stupid to sell it ...
... except that it turns out they were doing something far stranger than that. They were giving their data away. Virtually all of it. Free. To thousands of developers through Graph API.
For a long time, Facebook suffered from serious platform envy. The most successful advertising business ever didn't want to be an advertising business: they want to move up the stack, to do the stuff that Apple and Google do, to approach the OS. And what do you need to do that?
So until 2015 when Facebook cut off API access, they gave access to data (not just the profiles of users, but their friends too) free to any developer.
But not only was this a massive privacy breach, it was terrible strategy. You can't be both a platform and an advertising business: a platform has to be a level playing field. You can't encourage developers and then throw the rules in your favour. That's why you don't see any adverts in iOS or Android.
Facebook's aspiration to build a platform, an economy of Apps, almost caused it to destroy its own position as the most valuable App of all. It's hard to believe that Mark Zuckerberg knew or understood the extent, not only of privacy breaches, but of loss of their data and risk to their core business.
And still now, the consequences are coming back to hurt it as the public, and senators, realise what they were really doing.
There’s a very good reason that Facebook is the fastest growing advertising business in the world. It’s because it has the largest, most detailed and most granular user data on the planet. It’s also incredibly personal, and will reveal a lot about your life to anyone who has access to it. And yet all the way up until April 2015, Facebook was giving all that data away to its developers that were using the Graph API.