Microsoft did this too. Developers would say, you're approaching on my niche. But when they did, it popularized the category, made it viable, made it larger, and forced the leaders to keep innovating.

It was a roundabout way of making an interesting point: Facebook is taking the most successful page out of Microsoft's playbook.

Instead of trying to build every possible app itself, it's making its platform as useful as possible and letting developers fill in all the gaps. That's one thing that helped Microsoft establish dominant computing platform for more than 20 years. (Along with licensing its platform to a lot of hardware makers to create price competition.)

Mark Zuckerberg is known to be a fan of Bill Gates, and apparently he thinks a lot like him as well. As he told Wired's Steven Levy, "The Open Graph came from the idea that there’s no way that Facebook is ever going to build all these services ourself,” Zuckerberg says. “So therefore we should enable an ecosystem of developers to build great experiences.”

Compare this approach with the one taken by Google, which seems like it's trying to do everything itself -- developer platforms (Android, Chrome, Google+ APIs), applications (Google Music, YouTube), and now, even hardware (with Motorola).

As Microsoft showed, ecosystems are more valuable than companies. But ecosystems only thrive when you leave lots of breathing room.