This morning's article on Facebook versus an open network has generated a fair bit of discussion around the web with some good ideas and suggestions. To follow up I thought I'd pull in a few comments and point out a couple misconceptions.
First off, in suggesting that Facebook ought to open up its data to the world I did not mean to imply an either/or distinction. A number of commenters on Wired, Slashdot and elsewhere seem to think that we're arguing that all your data should be public.
That's not the case.
Rather, we think there needs to be an open way of managing friends on the web at large so that you can replicate the privacy controls of Facebook, on any public page.
Given that Facebook only has three privacy settings, that doesn't seem like it would be hard to accomplish. The best ideas I've seen would involve some combination of OpenID, FOAF and perhaps microformats.
One of the more thoughtful responses I've seen comes from Dare Obasanjo, a Program Manager at Microsoft, who points out that “open” means different things to different people. He then lists four things that those of us looking for an open social network typically complain about:
Building on Dare's ideas, here is what, to my thinking, ought to be goals of a true open social network protocol:
The ability to export data or use an API are moot points because there would be no centralized site from which you need to grab your data.
Also, there were some things in the original draft deemed too nerdy for the general Wired audience which I think might interest Compiler readers. The most important is that the how-to part glosses over the logistics of attempting to build a Facebook-like page on your own.
Frameworks like Django and Ruby on Rails are both quite good for this sort of thing. I'll readily admit my ignorance about the specifics of Rails, but I know a number of people are starting the release Django apps that are geared toward aggregating data from various social sites.
One standout example of this is Jeff Croft's site, particularly his “lifestream” section (the name may be a little cheesy, but the functionality of it is impressive). Jeff pulls in data from Flickr, Ma.gnolia, Upcoming and some other services and integrates them into his site — and if you read some of his blog entries you'll learn that he's got all the data in his own database.
The missing link is of course a way for the site to recognize “friends” and show specific content to specific people.
Perhaps some folks more familiar with Rails could chime in the comments with some suggestions for the DIYers.
Oh and just to clarify, that whole 6 billion internet users bit mentioned in the article is missing a key word: 6 billion potential users.