(Not singling Facebook out -- there have been lots of open standards and every chat platform has moved away from them.)
When you're small, you have no users, and need to start gathering network effects. So you champion and implement protocols that allow you to interoperate with other networks. You start to eat other companies lunches as you provide a better product.
As you get larger, that same interoperability starts to become a liability as other networks start eating in to your userbase. So you cut out interoperability and start building a walled garden.
A bottoms up approach where we put the protocol first instead of experience is the "Architect Astronaut" way of looking at solving this problem and should be avoided - http://www.joelonsoftware.com/articles/fog0000000018.html