Updated: Diaspora at NYLUG

Daniel Grippi and Raphael Sofaer, two of the four founders of the Diaspora open source social networking project, spoke at NYU this week. They said that the project was started by members of the ACM club at NYU and was inspired by a speech by Professor Eben Moglen called Freedom in the Cloud.

In an earlier interview, Grippi said, “it was the first time it made us think of the violence of those that use your data, and of how, behind the scenes of someone who offers you something for free, there’s always someone that uses the data you exchange with your friends. We deleted ourselves from Facebook and we started to think about an alternative. People don’t really understand the risks they’re taking, but even those that understand them don’t know where else to go to.”

Before starting Diaspora, the club had built a MakerBot and had completed other projects together, such as having the door to the club room tweet every time it was used.

The group decided to build a decent social network for nerds. They went to Kickstarter, whose founder is also a graduate of NYU. Kickstarter allows anyone to raise money for any project through very small donations, as little as $5 per person. The group posted what Grippi called “a pretty terrible video.” The goal was to raise $10,000. In fact, they raised $200,000, which at the time was a record for Kickstarter.

Raphael’s brother Michael was a key part of subsequent development. Michael works at Pivotal Labs, which is now an investor in the Diaspora project and which provides the project its office space in San Francisco (Pivotal also provides breakfast to team members).

Diaspora today

The team has been working on the project for seven months now. Its code base is stored on Github and the project’s public face is the Join Diaspora website.

The project now has 106 contributors. It is AGPL3 compliant.

It is federated. This means that anyone can set up a Diaspora seed (the word “diaspora” is ancient Greek for “scattering of seeds”). Each seed houses the accounts of its subscribers. When people communicate with subscribers of other seeds, the message passes between seeds seamlessly. Currently, the project’s founders operate the largest installation but other large seeds include one in Seattle and another in Germany.

The interface for a user’s profile allows the user to maintain their contact list, aspects, connections, and to connect an account to Twitter and Facebook. The user interface is still in development and is subject to change. An account description is like an e-mail but it is not an e-mail at this time. The structure is username@pod.

Grippi said that where possible, the project tries to avoid reinventing the wheel and instead uses existing protocols, such as Webfinger, hcard, and Salmon.

Sofaer explained that with the hcard protocol, a user can decide whether an image is searchable or not.

For security, the project relies on another trustworthy public protocol: the open SSL RSA library.

The Salmon protocol helps distribute comments. Unlike other social networks, a user cannot see a friend’s comment on a wall if they are not a friend of the person on whose wall the comment was made.

The project currently runs on the Rackspace cloud and stores software images on Amazon S3.

It uses Splunk for log analysis. The group also tracks virtual machine statistics and is especially interested in the time required for specific queries. If a query requires too many milliseconds, there’s an error in the code that must be fixed.

Diaspora in the Future

“Moving forward, we will stablilize and formalize Diaspora,” Sofaer said. He explained that the team’s initial goal was to create software that worked. Now that it’s working, the team needs to formalize how it works in order to ensure that it can scale.

“We wanted to get something up and running without debating protocols for two years,” Sofaer said.

“I want my sister to use it because it’s good for her,” said Grippi. “We want to see many users of free software.”

The eventual goal is that as seeds proliferate, they will compete with each other. Some will offer better privacy, for example.

The team wants to make an API. They want to bring Diaspora to cellular networks with a mobile API. They want to work with existing trust communities, for example by supporting OAUTH.

NYLUG members asked whether Diaspora is ready to participate in the Web of Trust, but the team noted that the technical requirements may be beyond the managers of some seeds. Grippi said that although Diaspora was built for nerds, many people who are not very technical want to participate. He said there are currently about 100,000 members and a waiting list of about 300,000 e-mail addresses.

One part of the task of making Diaspora easy to use is nearly complete. The project has tools called Sod and Chef that are designed to automate the deployment of a seed. Chef is made by OpsCode, and Sod was built by Michael Sofaer.

A user can buy a domain from Rackspace and deploy in three clicks, Sofaer said.

“We’re all developers and no sysadmins, so we needed auto provisioning,” said Sofaer.

Conclusion

The NYLUG group had many tough questions. What happens if someone malicious tries to participate in the project or tries to deploy a bad seed?

But overall, the NYLUG group was very impressed by the project. Attendance was high for NYLUG and the speakers were mobbed after they spoke.

One of Sofaer’s comments stuck with me. He said, “we wanted to make social networking more contextual and to give users more control over what they’re sending and who’s receiving it.”

Before NYLUG, I had attended a speech on the importance of context in the preservation of privacy (see Privacy in Context: A Speech at Fordham Law School).

An earlier version of this story incorrectly said that the Diaspora project team members built Sod and Chef. Thanks to Sofaer for the correction.