The people behind Diaspora decided to shoot themselves in the foot when they published a software implementation with no documentation of design, protocols, etc. I just checked and no technical documentation seems to be readily available (actually I had to resort to Wikipedia to find a link to their forum), something can be probably found in bits and pieces on the support forums, but obviously it is not enough for a project whose aims are so far-reaching. To add insulto to injury, the implementation they're running with is in Ruby: now, seriously, I don't have anything against Ruby and I think diversity in programming environments is a great thing because it's what ultimately innovation comes from. But if you want to get help, support and, ultimately, code from the community, you're supposed to use a language that is more widely used so that people can get up to speed more quickly with your codebase, especially when the documentation isn't there.