The Call for an Open Source Social Network
Sunday, August 16th, 2009
Lately, I’ve been tossing some ideas around that I feel would benefit the Social Web as a whole. It’s been going through some rough times lately, and I think it’s time for a change. Or so I thought.
My first idea was to create a site that was rather decentralized, allowing all of your content to exist on other sites, but still allowing for you to interact without locking a user in. As it turns out, this site already exists. It is called FriendFeed. I love FriendFeed. About a week after I decided that I wanted to get into it, Facebook decided to purchase it. How sad. They claim that it will still be up and running, but we’ll see if that proves to be the case (I have my fingers crossed). Pownce (which was powered by Python / Django) was shut down when it was purchased. I pray this not be the case.
Think about this now: Why is that even an option? Social networking is all about community and building tribes – So why do we need to have an organization in charge of our chosen communication platform?
Here is my proposal: Create a community-driven, community-developed, and community-controlled social networking site that is truly open source.
The community could take care of everything from feature development to content control. No random shutting down, buy-outs, or merges. No more random change of Privacy Policies or Content Ownership battles. No more worries. The only group of people who would be benefitted would be the community itself, not some company. An open minded network full of open minded people working for the better of the community.
The Open Web of Flow
Step One: Solid Platform Choice
The platform choice is the most important. You’ve seen what happens when the wrong tool is chosen for the job: look at Twitter: Bad Planning. We’re all familiar with the Fail Whale but we shouldn’t. At all. So what do we use? There’s an array of options. .NET? HAHA! Did you know that there’s even a social platform built on top of Microsoft’s Sharepoint? I bet you didn’t. I’ve installed it a number of times. It’s fantastic (for people who need it). But we don’t. At all. What type of open source project aside Mono is driven by NET developers anyway? They are in an entirely different mindset than us. Anyway, the answer is obvious: Django on a LAMP Stack (Linux + Apache + MySql + Python). We can all agree that Python is freaking amazing. And it’s certianly not going anywhere any time soon. I think google has proven time-and time again that Python is the language for just about any job. And when Google’s unlayden-swallow project is complete, all (typically negligible) performance issues will be eliminated. Done.Step Two: Basic Information Architecture
We need to decide how the whole system will work. FriendFeed has an excellent system in place. Lets use it. Users can tie everything in from all of their other websites and steam it on their profile, and display it all on one page. Everything’s streamlined, commentable, hookable, and readily accessible. Google Profiles rock. But that is definitely an abandoned project. Lets mix that with a FriendFeed-style activity stream. Done.Step Three: Sustainability, Audience, and Accessibility
How will we pay for it? How will we get people to contribute? How will be get people to use it? Answer: Twitter is getting old and it’s getting old fast. It’s time for something new. Lets blow them away and they will ALL hop on board. Allow for easy external-account migration and account creation and we’ll be golden.Step Four: Technical Planning and Engineering
This is all the stuff end users don’t have to worry about. Performance. Design. System Administration. Database Engineering. The geek stuff. I mean come on guys, how awesome would it be to be able to make a commit to the Twitter live SVN Branch? Epically awesome.Step Five: Community + Collaboration
Once the community gets going, there will be no stopping it.In conclusion, think about what we have to lose? Are you with me?
I would defiantly love to participate….I am sick of Facebook(though I stay cuz thats where everyone is.) Twitter is fun, but it's allot to keep track of if you follow to many # Something new is needed, if it could be open and find some stability in all the rest it could Rock!
You might want to take a look at Pinax:
http://pinaxproject.com/
It’s more or less Django’s answer to PHP’s Drupal : )
There’s also Feedjack for Django (Planet style feed aggregator):
http://code.google.com/p/feedjack/
Or you could just wait for Google Wave to get out of Beta ; )
Hmmm… very interesting. Do you have any experience with Pinax?
Django on LAMP is the obvious answer for an open source social network? Um… why? What is wrong with Ruby or the 6 trillion other Python web frameworks or Lighttpd or CouchDB or… the list goes on and on.
This comment was originally posted on Hacker News
elgg
elgg is PHP based…
An open source social network built on Django? Have a look at http://pinaxproject.com/ and especially http://cloud27.com/
[...] Delicious [...]
It really needs some kind of federation, so that there's no single point of failure. At that point, it starts to look like USENET with a pretty gui on top…
It certainly needs to be a federated, decentralized network, maybe based on a extension of the xmpp protocol. Every user would host his/her own stuff locally and serve it. The trend right now is for people to be connected all the time. The only problem left to solve would be to end the asymmetry between up/download bandwiths seen today in home connections.
not sure about the django choice though the main question remains open.
Who will fund the hardware and bandwidth?
Google App Engine / CloudFront? I'm sure we could get someone to offer free hosting.
Well hosting and storage are not trivial costs when one approaches the scale of a facebook, friendfeed, etc. Hence why big companies develop or simply acquire these "social networks."
There is one social network that is free and open and all that… the Internet! :D
Seriously… newsgroups, irc, and the plethora of free and open communications protocols already exist. The only thing these centralized "social network" systems provide is a unified database of identities and their relationships. However, email is typically a standard identity token these days, so really the only thing missing is a central database of relationships… which ultimately has little value being public anyway: why not manage your contact lists locally anyway?
Return to the desktop friends!
Developers, start improving the existing technologies! Find ways to update the nntp protocol to distribute ratings on articles. Write desktop applications which integrate multiple protocols, mash up some data, redistribute it! Make the creation and distribution of PGP keys and signatures as painless and effortless as possible. Create new protocols for new communication streams.
The web has always been a social network. If you want to bypass gate-keepers, go with the most obvious and simple solution: that which already works.
Fantatic thoughts!
IMHO, step 5 going to be hardest to make happen. How you attract people to switch to an alternative when the current offering does the job alright? 8)
BTW, as pointed out by http://gigaom.com/2009/08/13/the-evolution-of-blo... , there is already a project called Diso (http://code.google.com/p/diso/) just to do that w/ LAMP+WP and other open source technologies.
Xanga used to do it for everyong. And then Myspace did. And then Facebook did. It's just a matter of time :)
Take a look at this wired article "Open Source ‘Twitter’ Could Fend Off the Next Twitpocalypse" http://www.wired.com/epicenter/2009/08/twitpocaly...
Haha, see! It's a good idea. Leo Laporte seems to like the idea as well. I just noticed he talked of it a few weeks ago.
[...] This post was Twitted by shawncreed [...]
[...] posted here: The Call for an Open Source Social Network @KennethReitz var AdBriteTitleColor = '0000FF'; var AdBriteTextColor = '000000'; var [...]
An excellent, unique and original idea.
Are you a professional journalist? You write very well.
Hmm… I read blogs on a similar topic, but i never visited your blog. I added it to favorites and i’ll be your constant reader.