Mastodon: integrate with diaspora

Created on 3 Apr 2017  Â·  16Comments  Â·  Source: tootsuite/mastodon

I'm not very well documented on the different federation possibilities (I heard about diaspora* federation and I also heard that diaspora* could post over GNU-Social, but that's everything I know about this), but it would be very fine if one could have a bridge between mastodon and diaspora*.
I don't know what ca be done, if messages on diaspora could be seen on mastodon, and vice-versa, or something else, but I like both products approaches, and some synergy would really be very interesting.

Most helpful comment

mappings between your models and the federation-entities

That would be the hard part, probably! Especially when it comes to saving Diaspora stuff into our db. I am currently working on adding ActivityPub support, and this is one of the hard parts. That being said, I think we will want to focus on ActivityPub only, and not create a special bridge for Diaspora. If ActivityPub is the common protocol of the future, then working on a special case for Diaspora will be a waste of time in the end.

All 16 comments

For this suggestion to work the two would need to speak a common protocol, and to my (untrained) eyes https://github.com/diaspora/diaspora/issues/4642 would suggest that Diaspora does not federate with OStatus. I don't know which side should put the work in here but it might be worth approaching the other side too?

Yeah, Diaspora unfortunately is still not fully OStatus-compliant. Additionally, it looks like Mastodon uses an implementation of OStatus, but with GNU Social compatibility in mind. If you want to maintain federation capabilities with both systems, that is your business, but you might have to straddle two protocol implementations.

On that note, you may want to check out the Diaspora Federation gem here: https://github.com/diaspora/diaspora_federation

I don't know which side should put the work in here but it might be worth approaching the other side too?

This is something I'd be interested in investigating on Diaspora's end. Since Mastodon is a Rails app, is it using a Ruby implementation of OStatus?

I guess at this point, it's a matter of auditing on our end where the implementation is complete, and where it falls short. Still, Diaspora largely leverages its own bespoke protocol for diaspora-to-diaspora pod federation.

FWIW, OStatus users are able to follow Diaspora accounts, but not the other way around.

As pointed by @DeadSuperHero we (diaspora) provide a gem to "speak" the diaspora* protocol and it has been designed to be easily integrated inside a rails application. So if Mastodon wants to implement it, it is very welcome. Feel free to ask if you have any questions how to do so. You can also jump on #diaspora-dev on Freenode.
From the other side, if there is a gem which provides OStatus implementation, we could have a look, but at the moment, diaspora* is only speaking the diaspora* protocol, not like Friendica or Hubzilla are doing.

Funny enough, there actually is a gem:
https://github.com/tootsuite/ostatus2/tree/master/spec/ostatus2

On Wed, Apr 5, 2017 at 11:17 AM Fla notifications@github.com wrote:

As pointed by @DeadSuperHero https://github.com/DeadSuperHero we
(diaspora) provide a gem to "speak" the diaspora* protocol and it has been
designed to be easily integrated inside a rails application. So if Mastodon
wants to implement it, it is very welcome. Feel free to ask if you have any
questions how to do so. You can also jump on #diaspora-dev on Freenode.
From the other side, if there is a gem which provides OStatus
implementation, we could have a look, but at the moment, diaspora* is only
speaking the diaspora* protocol, not like Friendica or Hubzilla are doing.

—
You are receiving this because you were mentioned.

Reply to this email directly, view it on GitHub
https://github.com/tootsuite/mastodon/issues/780#issuecomment-291949740,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAYgmCfiMF-x_Gu3Z8Ksaw1W75GYvmZaks5rs9qogaJpZM4MxrUx
.

@DeadSuperHero awesome! Is that what mastodon use, or do they have their own implementation?

As a user, it sounds funny that a gnu social user repeating a diaspora* post looks no effect to mastodon users(i.e. mastodon users can't see it).

diaspora/diaspora_federation#63 should have improved diaspora/diaspora#5963 and thus the interoperability between diaspora, gnu social and mastodon.

The changes involves conforming with WebFinger standard. Supports JRD (instead of XRD only implementation now), supports well known path and etc.

The change is not in diaspora yet. The federation gem version in diaspora was bumped in Jun 2016, July 2016, Aug 2016, Jan 2017 and May 2017. So around 1 - 5 months. Given the release number of diaspora bumps around every 2 week, hopefully changes will be applied to the diaspora release 1.5 months to 6 months from now.

We can then review what is missing and what to do next.

There will be a release of version 0.2.0 of the federation library "soon" and this will be merged to diaspora probably in a few weeks. But since this will be only added to the develop branch for the next major-release, there is no release date yet, but some servers run the develop branch and will start using it them.

The 0.2.0 release of the gem could be interesting for mastodon too, since mastodon is ruby too. It needs only a few hooks/callbacks for send/receive and mappings between your models and the federation-entities, so it's maybe worth a look.

(Disclaimer: I'm the author of the diaspora_federation library :) )

mappings between your models and the federation-entities

That would be the hard part, probably! Especially when it comes to saving Diaspora stuff into our db. I am currently working on adding ActivityPub support, and this is one of the hard parts. That being said, I think we will want to focus on ActivityPub only, and not create a special bridge for Diaspora. If ActivityPub is the common protocol of the future, then working on a special case for Diaspora will be a waste of time in the end.

@Gargron so Mastodon will go the ActivityPub way? That's interesting to know, as the standard is still working on and is not the only one (W3C also works on WebSub). You can see the discussion here: https://discourse.diasporafoundation.org/t/lets-talk-about-activitypub/741/2

@Flaburgan Yes! A large number of ActivityPub designers are on Mastodon, and I participate in some of the W3C Social Working Group sessions.

I have to find some time to catch the train, from our side Dennis is reading the discussion, but it doesn't look like we will be able to implement ActivityPub any time soon. @SuperTux88 just finished to polish the federation protocol also used by Friendica and Hubzilla, and it perfectly suits our needs, when AP is too vague about many things, especially how messages are signed.

Can someone clarify the status? I'm a bit confused:

1) https://joindiaspora.com/users/sign_in - says, that you can login via other pods.
2) according to link in 1) https://podupti.me/ - mastodon network is one of the pod
3) if so, doest it mean, that following integration completed?
3.1) if so, what should I put into login/password on https://joindiaspora.com/users/sign_in ?

(I tried @[email protected] , [email protected] , @skywinder ) - nothing works.

Podupti.me used to exclusively track diaspora installations, that's why it has pod in it's name, which is diaspora brand terminology for a server. Hence it is widely referenced inside the diaspora project, also out of a lack of alternatives.

As other projects such as friendica added compatibility layers in order to communicate with diaspora, it started listing those severs too, which kind of made sense since you could consider it one network.

Unfortunately with the ActicityPub wave, its maintainers decided to jump onto that and list those projects, and even others, too. All the while making an, to be honest, terrible job at presenting and grouping the different network technologies to show which servers and projects are compatible with each other. The metadata for knowing that is there, it's just not used... So yeah, there's space for a new fediverse sever index project ;)

Was this page helpful?
0 / 5 - 0 ratings

Related issues

golbette picture golbette  Â·  3Comments

hugogameiro picture hugogameiro  Â·  3Comments

ghost picture ghost  Â·  3Comments

hidrarga picture hidrarga  Â·  3Comments

sorin-davidoi picture sorin-davidoi  Â·  3Comments