Hi! I’m Ryan. I’ve been building social network bridges and related tools for over 12 years, including Bridgy, which connects personal web sites and blogs to centralized social networks, and Bridgy Fed, which connects them to the fediverse.
I love how decentralized social networks like the fediverse and the IndieWeb let us move away from walled gardens controlled by single monolithic entities. I love that we can control our own destinies online, nurture and grow our own communities and instances, and still interact with people elsewhere. I want to be able to interact across networks just like we interact across servers. That’s why I build bridges!
Recently, I’ve been working on adding new protocols to Bridgy Fed, starting with Bluesky. It’s still months away from launching, but I expect it will draw in people who aren’t familiar with Bridgy Fed yet, and I know it will affect people in obvious and not-so-obvious ways, so I want to start a conversation. What do you think? How do you hope this will work? What are your concerns? What feedback do you have, especially now while big changes may be easier to make? I’ve talked with a number of fediverse admins and representatives so far, but I want to hear from you too.
Here’s some information about Bridgy Fed:
- I build and run it myself, with occasional contributors and lots of support, but still mostly alone. It’s open source.
- I don’t plan to incorporate or monetize in any way. No donations, no paid tiers, no VC funding. I’ve self-funded Bridgy classic for 12 years and Bridgy Fed for 6 years so far, and I can continue indefinitely. I have experience scaling services like these as personal projects. I care about and believe in decentralized social networks, and I build and pay for these tools as a way to give back.
- The bridge is fully bidirectional. Anyone on supported network A can follow anyone else on supported network B, see their posts, and reply, like, and repost them. Bridgy Fed translates interactions from A to B, and vice versa.
- The two currently supported networks are the fediverse and the IndieWeb, specifically HTML with microformats2 and webmentions.
- Bluesky support is under development, but hasn’t launched yet. Bluesky themselves need to enable federation first, and I have more work to do too.
- All native moderation features will work automatically: blocking, muting, server level blocking/defederating, etc. This includes the fediverse’s authorized fetch aka secure mode, which Bridgy Fed supports: it always includes valid HTTP Signatures when fetching actors and other objects. (There’s a lot more to think about around content moderation too!)
- Bridgy Fed doesn’t index anything and has no search functionality. You can only follow someone on a different network by entering their exact Bridgy Fed handle.
- Bridgy Fed will use a discoverable opt in mechanism: when someone first requests to follow or interact you across the bridge, it will send you a one-time-only DM to ask if you want to enable it. You’ll only be bridged if you say yes.
- Accounts and posts are not bridged proactively. A user on network A is only bridged into network B if someone on network B follows them.
- Here’s how handles and ids are translated across networks.
- Bridges are never quite as good as native accounts. Feature parity between networks is incomplete, culture and norms differ, context collapses, etc. I don’t expect to ever make the bridged experience as good as native, I just hope to make it possible.
- I know some admins may determine that this kind of bridge isn’t in their users’ best interests and choose to defederate/block it. That’s their prerogative. I hope to be open minded, hear where they’re coming from, and see if I can make any changes that might allay their concerns. I don’t always expect to change everyone’s mind, but I do plan to honor and abide by admins’ decisions on behalf of their users.
- I’m familiar with many of the existing bridge/cross-posting efforts, eg mostr.pub, Sasquatch, and SkyBridge. They’re great! They rarely reach this level of functionality though, specifically bridging any existing account to any other supported network.
What do you think? Feel free to let me know in the comments here, in GitHub discussions, over email privately, or anywhere else you like. Thank you for reading!
This is awesome!
Please don’t make it as complicated as Mastodon.
I’ve given up trying to switch instances.
Its complexity is the main complaint for users giving up joining.
Prepare to get mass defederated by mastodon instances, but other than that looks cool.
Looking from the Bluesky side, I love this :) A lot of my friends from Twitter are on Mastodon only, and I personally like Bluesky & ATProto more. If I could follow them and talk to them from here, that would be great.
Being used to ATProto’s openness, I don’t have any issues with being seen on other networks, I want everything to be connected and easy to access.
I suspect that the ActivityPub folks (some at least) will not be as happy about it, but hopefully it will work with enough instances 😅
Sounds great! A solid bridge like this will hopefully solve a lot of the tension and decision paralysis around choosing between tools (i.e. Bluesky vs. Mastodon) if both kinds of accounts can just connect to each other.
This kind of interoperability is very in the spirit of decentralized social media. Keep it up! <3
Will it be possible to set a custom domain name on the BlueSky side of a bridged ActivityPub account
Hopefully yes! You’d need to serve the appropriate DNS record or HTTPS path for it though: https://atproto.com/specs/handle#handle-resolution
@snarfed.org Hey Ryan! I just read your post asking for our thoughts (snarfed.org/2023-11-27_r…) — you’ve put so much time and effort into Bridgy, thank you!
I have an awkward question (please forgive its bluntness!) — what happens to Bridgy if you suddenly can’t care for it as you have been?
Asking about your mortality seems crude, but I can imagine more positive scenarios where your more-than-a-decade of attention and support disappears overnight. Is this something you have a plan for? (It’s okay if not! You’re not running a business; but I thought I’d ask, given your post!)
Good question! I think the answer is basically the same as for any open source project: ideally I find new maintainer(s) who take it over. The IndieWeb community is a likely candidate, they could easily maintain the code and the service and fund it to keep running.
Pingback: Last Week in Fediverse – in other news – ep 46 – The Fediverse Report
I can’t wait for Bluesky to federate and this to launch. The Twitter diaspora devastated my on-line community. I refuse to go on Bluesky or Threads, but I would love to be able to follow folks on those services from Mastodon. It looks like Threads might be finally starting to follow through with this, bridging with Bluesky would be amazing.
Bridgy Fed’s Bluesky support hasn’t officially launched yet; it’s waiting on Bluesky themselves to enable federation). Thanks for the interest though, glad you all are excited for it!
@nick@mastodon.online @GrahamDowns@mastodon.africa @Gargron@mastodon.social
Thanks for your response, Ryan! This looks much more intelligible. To me, a least. :)
If I could ask a couple of questions?
Rn, bsky posts are public and “open.”
I chose not to have my account “open” to people who aren’t logged into bsky.
Does this Bridgy change anything about that?
Thanks
Will Firefishs / Miskeys quote post feature get translated properly?
And since it will be possible to change the name of the bridged account how do I tell the bride what domain to use?
Quote posts are on the roadmap! I don’t quite follow your second question though. Can you elaborate?
On principle, I like what you’re doing (more bridges, less bombs, etc.). But,
I don’t see this as more conservative vs. less conservative. I think there are two conflicting values: engagement and consent. I agree that, if you can turn up engagement, your bridge becomes more valuable for everyone using it. I also agree that requiring everybody’s active consent will turn down engagement, making the bridge less valuable for everyone using it.
I don’t think that’s a good reason to put engagement before consent. Any time you believe respecting someone’s active consent will be an obstacle to find a way around, I believe it’s a clue that you are not doing something good.
It’s still very early, and I wasn’t prepared for this much volume this quickly. Expect lots of bugs, missing features, downtime, and other rough edges. fed.brid.gy/docs is up to date, at least. If you hit a problem, search the open issues, and if you don’t see it there, feel free to file it.
Also, much of the current state is not final. Expect some design and policy choices to change. For example, right now you have to manually enable the bridge, but that may change eventually, at least for Bluesky accounts bridging into the fediverse.
Otherwise, there’s a ton to do, and I’m only one person, doing this on the side, so progress will be slow. They say if you don’t feel uncomfortable when you ship, you waited too long, so let me say I feel very uncomfortable right now, hopefully in a good way. 😀 Thanks in advance for your patience!
Bro, you know we all were chomping at the bit to get our cross-fediverse wormhole bridging on!
I’m putting together a little how-to guide on my website as we speak so I can point people at something to help out. If you need my help with documentation or the occasional Japanese translation, LMK!
Oh neat! So if I use this to cross post my bsky posts to mastodon, if someone replied on mastodon would I get a notification about it on bsky? (Since I don’t have a mastodon account)
Yes!
Very well from what I’ve seen! The bad part hasn’t noticed it yet 😛
Ah well I look forward to their inevetable hysteria
Right
Ironically, I found out it’s up and running via Threads.net , then I immediately bridged my accounts on both sides.
^_~
It’s cool.
Personally, it’s better to have it out so it can be tested with real-world uses. Usually we discover things not in our test cases, because of the difference between designed test cases vs real world uses.
That said, glad to be helping on that front. ^_^
They’re still focused on Threads.net LOL.
There is an instance I randomly encountered that blocked Threads but welcomes brid.gy ATproto<=>ActivityPub bridge. So, I guess, that’s a huge plus.
Whoaaaa
I don’t super understand this but I love tearing down walls and being available on multiple instances. I may have to look into this more!
Nobody has complained about it yet since you have to know what it is and go out of your way to join. Once things move towards the proposed idea of DMing people to ask if they want to be bridged some people might start bitching though
Pingback: Last Week in Fediverse – ep 67 – The Fediverse Report
Thanks for continuing to experiment with this. I just listened to your Flipboard podcast interview — I hadn’t realized the “nerd HOA” contingent of the Fediverse went after you. The episode also reminded me check whether I was opted into Mastodon search (surprise, I was not).
Hey, great to hear from you! And thanks! Yeah it’s been a ride. Still fun though. Wish me luck.
(Also Infinite Mac is awesome! I’ve enjoyed following your with on that too.)
Pingback: Last Week in Fediverse – ep 67 - IFTAS Connect
This is might be the coolest way to connect between the two social network protocols