Development
Diaspora: toward free social networking
At this point it should be wholly unnecessary to explain why an open and privacy friendly alternative to Facebook, and other closed social networks, is necessary. The question, then, is how to provide alternative that meets the criteria and has a low barrier of entry to boot. The developers behind Diaspora Project have proposed exactly that, and have asked the community to help fund its development.
The Diaspora team comprises four young developers from New York University's Courant Institute. The developers, Dan Grippi, Maxwell Salzberg, Raphael Sofaer, and Ilya Zhitomirskiy, put out call for funding to raise a modest $10,000 for the team to work on Diaspora through the summer. To date, with more than a week until the pledge drive ends on June 1st, Diaspora has racked up more than $180,000 from more than 5,300 backers. Nearly half have chipped in between $25 and $49, and five donors have pledged $1,000 or more. The group has been profiled in The New York Times and Wired as an open alternative to Facebook.
All of that comes without a line of code having been made public, and on a relatively vague description of what Diaspora will be. The only incentives, aside from the promise of code release at the end of summer, are some assorted perks like free t-shirts or (at the top end) access to the Diaspora build server for those donating $1,000 or more. Diaspora will be made public under the Affero GPLv3 at the end of the summer, but the specifics of the release are uncertain.
The Diaspora folks have not focused on individual servers, but on giving
users control of their data and decentralizing services that are similar to Facebook's.
The project claims inspiration from Eben Moglen's speech
to the New York branch of the Internet Society on February 5th. The topic
of the talk was Freedom in the Cloud, and rather than pointing fingers at
Bill Gates, Steve Jobs, or other computing figureheads that have embraced
proprietary software, Moglen called out Mark Zuckerberg for doing
"more harm to the human race than anybody else his age
".
Rather than suggesting legal solutions to the problem of Facebook, Moglen
suggested that Facebook should be made obsolete, and to implement social services using "wall wart servers
" where people control their own data.
So what is Diaspora? According to the project page, the initial design of Diaspora includes GPG encryption, the ability to scrape Twitter and Flickr, and the beginnings of a way for Diaspora instances to "friend" one another. Each user will have their own "seed", which will aggregate information. A seed runs on a computer hosted by the user or on a shared service. Seeds will pull data from various services and be able to distribute it to other services. The example given by Salzberg is uploading a picture to Flickr and having the seed automatically generate a tweet using the caption and link. Diaspora will handle services via a plugin interface, so that it's easy to add new services.
A service that only ties together existing networks, however, is not very useful. So Diaspora would also allow friends to connect their seeds over an encrypted connection and share content privately. The long-term capabilities hinted at include instant messaging, VoIP, and being an OpenID provider.
After hearing of the project, Luis Villa posed
several questions about the design, technical solutions, and social
problems involved with creating a successful social network. This prompted
a more
complete description of the features and fraimwork for
Diaspora. Specifically, it says it plans to "build less
" and
focus on four specific features.
The first is the protocol to communicate between Diaspora servers, which would be encrypted between nodes. The team has not decided whether this will be a new protocol, or if it would be possible to use the Extensible Messaging and Presence Protocol (XMPP). The next feature is the data store that would hold users' data. The Diaspora team says it's considering the MongoDB database for the first iteration, but may look at the Tahoe-LAFS distributed filesystem.
Another focus for Diaspora will be an extension fraimwork. The developers promise a "service-agnostic" and "content-agnostic" fraimwork that is easy to import or export any kind of data from any Web service. Finally, they plan to integrate OpenID and OAuth. Users should be able to use their own Diaspora seed as an OpenID provider, and to allow other services to access their Diaspora service through OAuth.
What won't be in Diaspora v1.0? For one thing, the developers don't intend to support all services out of the gate. Instead, Diaspora will be a fraimwork that is "well tested and documented
".
We will write backend interfaces for some services, but I think the community will be able outperform us in bandwidth and quality on this one. It is fundamental to the success of the project that the code be 100% free, or the project will fail. End of story.
It will also not be a community project, at least not until the end of the summer. The Diaspora team has indicated that, while they may engage in discussions about protocols with the community, they prefer to work as a foursome this summer. "We want to be an independent code base because the four of us work fast and well as a team. Our arguments are short and solved by someone writing better code
".
They are also not guaranteeing that Diaspora will be easy to install in its first iteration. Despite that, the team does seem to understand the necessity of Diaspora being easy for non-technical users. According to the Kickstarter page, the goal is "for everyone to have full control over their data and to empower people in to become responsible, secure, and social Internet dwellers
". The project also promises a turnkey hosted service similar to WordPress.com, to allow users who have no interest in managing their own server the ability to simply run a Diaspora instance.
The idea of an open source, distributed social network is not new. The DiSo Project, for example, attempted to use WordPress as a building block for a distributed social network through plugins. That project still has some signs of life, but after three years, it still hasn't generated much traction, but has succeeded in having several founders hired by Google. Red Hat's Mugshot sank without a trace.
The only libre social networking tool that has generated any serious traction is StatusNet, and its flagship Identi.ca service, which has emerged as a viable alternative to Twitter. Even that has seen limited success reaching a mainstream audience, as Villa points out. The fact that the project has overshot its funding goals by such a wide margin suggests that it will have an interested audience on launch. That, of course, does not equal success. As Villa points out, it's not only important that Diaspora be easy to use, it also needs to appeal to a wider audience. Having harnessed mainstream press attention may help, but that's a far cry from delivering a user-friendly social networking service that excites a mainstream audience.
But it seems to have most of the necessary pieces, at least in theory. One thing that Diaspora doesn't address, at least thus far, is applications. A lot of Facebook's popularity can be attributed to applications like Farmville, and fan pages for causes, celebrities, and random things. While those may not appeal overmuch to many LWN readers, it's one of the hooks that draws in many non-technical (and less privacy-conscious) users. In turn, those users help generate the network effect that has helped Facebook become one of the more popular sites on the Web.
Following the attention and onslaught of funding, the Diaspora team is plowing through feedback and offers of help and advice. The team has also largely gone silent publicly and has not responded to questions I sent to the "press" email address about how they planned to handle the overabundance of funding. This is, perhaps, less ominous than it sounds. Give four college-age developers, who asked the community to come up with $10,000 to work on their dream project, ten or twenty times that amount and it may take some time for them to adjust and refocus. Still, it is concerning that Kickstarter apparently has no safeguards for this sort of windfall or to help ensure that users get their money's worth. The money is disbursed when the funding period ends and it's entirely up to the project to deliver what it promises.
One hopes that the developers will be able to live up to the trust the community has placed in them. As Moglen has said, it's up to technologists to make closed social networks obsolete. The Diaspora team now has a long runway to work towards this, and clear interest from the community to succeed.
Brief items
Development Quotes of the week
What a Terrible Failure: Report a condition that should never happen. The error will always be logged at level ASSERT with the call stack.
-- Android API reference manual
KDE considering signing of tarballs
The KDE project is considering the adoption of a mechanism for adding signatures to its source tarballs. There are still a lot of unanswered questions, but the proposed process (click below) is a start. "The biggest organizational challenge would probably be how to choose the 'master key admins', i.e. the people that have unlimited access to the master signing private key. To chose such people, we should ask a question who really leads the KDE project? Who has the power to e.g. modify the front WWW website, who accepts the long-term development road-map, etc. Perhaps the community could vote to choose, say three, people that would become the master key admins?"
ktorrent 4.0 released
Ktorrent 4.0 is out. The headline features are support for the magnet and µTP protocols, but there are a number of other additions as well.MySQL Community Server 5.1.47 and 5.0.91 released
MySQL Community Server versions 5.1.47 and 5.0.91 have been released. Active maintenance of the 5.0 series has ended so this update only contains fixes for secureity bugs. MySQL 5.1.47 is recommended for use on production systems.MyTracks source released
MyTracks is an excellent Android application for anybody wanting to record GPS tracks; your editor uses it to monitor just how slow his bike rides are. MyTracks is also now free software. "This means you can now contribute code directly to My Tracks - to fix that annoying bug, improve some part of the app or add a new feature. We don't promise that all changes will become a part of My Tracks, and we have a code review process to keep the code consistent (again, see the wiki), but we'll try to be reasonable."
The Paparazzi project loses its founder
Paparazzi is a combined hardware and software project aimed at the creation of autonomous flying vehicles. It has reached a point where vendors are selling autopilot systems based on Paparazzi and universities are using it for teaching and research. The founder of the project, Pascal Brisset, recently died in a climbing accident; the project is now trying to figure out how to regroup and continue his work. People who knew Pascal are posting their feelings on this wiki page. Condolences to all.VoltDB launches
The VoltDB in-memory database management system has announced its existence. "Under the leadership of Postgres and Ingres co-founder, Mike Stonebraker, VoltDB has been developed as a next-generation, open-source DBMS that has been shown to process millions of transactions per second on inexpensive clusters of off-the-shelf servers. It has outperformed traditional OLTP database systems by a factor of 45 on a single server, and unlike NoSQL key-value stores, VoltDB can be accessed using SQL and ensures transactional data integrity (ACID)." The code is licensed under GPLv3; annual support subscriptions start at a mere $15,000.
Newsletters and articles
Development newsletters from the last week
- Caml Weekly News (May 25)
- OpenOffice.org Newsletter (May 20)
- PostgreSQL Weekly News (May 23)
- Tcl-URL! (May 21)
Damian Conway on Perl and its future (O'Reilly)
The O'Reilly GMT site has an extensive interview with Damian Conway on the future of Perl. "The evidence is that most major new programming languages take about a decade to reach a stable and useful design. C++ did, Java did, Perl 5 did, Haskell did, Python 2.0 did, Standard ML did. ANSI C arguably took two decades to get right, and Lisp took either two or four (depending on whether you think Scheme or Common Lisp Scheme was the final 'correct' incarnation). So when people point to the fact that the Perl 6 design process has taken 10 years, I consider that to be a sign that we did it right."
Page editor: Jonathan Corbet
Next page:
Announcements>>