A few notes on Diaspora

What is Diaspora?

Diaspora is an open-source software intended to provide a distributed social networking service, a decentralized alternative to Facebook.

Diaspora is installed on a personal web server. It stores the user's information and shares it with their friends. The user has full control over what information and files are shared. The information is shared securely with GNU Privacy Guard (GnuPG or GPG).

How Diaspora started

Diaspora became the most successful Kickstarter project to date, after it raised $200,641 from 6479 backers.

It all started when more and more people became aware that putting their private information in the hands of companies running centralized social networking services means losing control over that information.

The need for a decentralized "privacy aware, personally controlled, do-it-all, open source social network" solution was there, and Diaspora promised to fill this void.

The Join Diaspora (Diaspora Inc.) project was started by four young programmers from New York University's Courant Institute of Mathematical Sciences.

It was surrounded by mystery. Some people believed it was a scam. Others didn't think the young foursome could pull it off. The Diaspora name also caused some controversy, and is not very popular. But one thing was certain. Join Diaspora captured the World's attention, and had everybody curious about the project's development.

As the weeks pass by, promising announcements about Diaspora's development and the upcoming source release were made on the Join Diaspora blog.

Rumors about venture capitalists (VCs) advising the Join Diaspora team had people worried about the direction the project was taking. A lot of fingers were crossed for Diaspora to become a FLOSS project.

The famous Diaspora source code is finally here, and a few observations were made.

1. Diaspora and network service freedom

One of the first observation, made by Bradley M. Kuhn (and maybe others), is that Diaspora is supposed to support web-based network services freedom but uses GitHub.

GitHub, as SourceForge, is not FaiF (Free as in Free) software. This doesn't cause any problems to the open source projects hosted on those netservices. But a free open source netservice hosted on a proprietary netservice may cause a conflict in ideology.

Some people proposed Diaspora Inc. should host the project on Gitorious because this netservice uses a GNU Affero General Public License (AGPLv3).

Hosting Diaspora on Gitorious would send the message that Diaspora supports FaiF software and network services freedom.

2. Diaspora's license

Diaspora was promised an AGPLv3 license and it delivered on that. At the moment, the code is AGPLv3-only. The problem with AGPLv3-only is that it does not have automatic compatibility with later AGPLs. From a licensing perspective, AGPLv3-or-later would include future versions of AGPL. Link to this issue: http://github.com/diaspora/diaspora/issues/#issue/11

3. Is Diaspora really free open source software?

Diaspora has a contributor agreement. The Diaspora Inc. Contributor Agreement mentions that any contribution to the Diaspora project will have a joint ownership arrangement between the contributor and the project. Having multiple parties involved in licensing may create a lot of problems. The contributor agreement also has a broad patent grant which may prevent some companies to join the project.

Diaspora's Contributor Agreement has some believe Diaspora is planning to become "Open Core".

To prevent that, people should submit Diaspora patches clearly under their *own* © as AGPLv3-or-later: http://identi.ca/notice/50768574

4. Diaspora and Ruby on Rails (RoR)

The popular languages for web are PHP, Python, and Ruby. Each of those languages have a bunch of frameworks, and each framework is designed to help developers with some specific activities. What language and which framework (if any) to chose for a free open source project? Sometimes, it's a hard decision even for the superstars.

Diaspora chose Rails as their development platform. Most of Diaspora's code is Ruby. This choice is not pleasing everyone, of course. Rails was Join Diaspora's decision, for whatever reason/s, and the people who don't like Ruby are going to port it (or even fork it).

The Diaspora verdict

Is Diaspora pleasing everyone? Will Diaspora please enough developers to get the project going? The initial monetary support was big enough to generate enough buzz and to keep Diaspora going for a while longer. This is not what people usually get for $200,641 and there is more to come.

There are flaws. There are bugs. There are a lot of questions unanswered.

People are skeptic because the project received a very large contribution for newcomers to the FLOSS scene.

Perhaps there are other more important projects which could have used this attention and resources. Perhaps Diaspora requires a broader vision and a more serious approach.

The current Diaspora flaws are fixable. In a product market where releasing and monetizing ASAP is the priority, Diaspora delivered what it promised (more or less). It tempts both sides, while maybe going for a middle ground.

Diaspora was at the right time, at the right place, and with the right message. And it's out there. The seeds have been planted, and are already crawling.

Note: These observations were made by various people. The author of this post just compiled and summarized what other people said and credits are due where applicable. Please leave your credit and a link to your quote in comments, if you weren't given credit.