Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bluesky Support #5348

Closed
dansup opened this issue Nov 16, 2024 · 15 comments
Closed

Bluesky Support #5348

dansup opened this issue Nov 16, 2024 · 15 comments
Assignees
Labels
🤔 In-Depth Requires more investigation

Comments

@dansup
Copy link
Member

dansup commented Nov 16, 2024

Bluesky Federation

Description

This issue proposes adding optional Bluesky federation support to Pixelfed. This would allow Pixelfed users to:

  • Follow Bluesky users and view their posts in their Pixelfed timeline.
  • Have their Pixelfed posts federate to Bluesky, allowing Bluesky users to follow and interact with them.

Motivation

Bluesky is a rapidly growing decentralized social network with a strong focus on user freedom and interoperability. Integrating Bluesky federation would:

  • Expand Pixelfed's reach: Increase the potential audience for Pixelfed users' content.
  • Enhance user experience: Provide a seamless way for Pixelfed users to connect with a wider community.
  • Promote interoperability: Further solidify Pixelfed's commitment to the Fediverse and open social networking.

Proposed Implementation

This is a significant undertaking that would involve:

  1. Understanding the Bluesky protocol (AT Protocol): Research and implement the necessary components for communication with Bluesky servers.
  2. Developing federation mechanisms: Create functionality for:
    • Fetching Bluesky posts and displaying them in Pixelfed.
    • Converting Pixelfed posts to the Bluesky format and federating them.
    • Handling user follows between Pixelfed and Bluesky.
  3. UI/UX considerations: Design intuitive ways for users to interact with Bluesky content and users within Pixelfed.

Potential Challenges

  • Differences in data models: Pixelfed and Bluesky may have different ways of representing posts, users, and interactions. Mapping these differences will be crucial.
  • Scalability: Efficiently handling federation with a potentially large number of Bluesky users.
  • Keeping up with protocol changes: The AT Protocol is still under development. Pixelfed would need to adapt to any future changes.

Next Steps

  • Community feedback: Gather input from Pixelfed users and developers on the desirability and feasibility of this feature.
  • Technical investigation: Explore the AT Protocol in detail and assess the development effort required.
  • Prioritization: Determine the priority of this feature relative to other Pixelfed development goals.

Let's discuss!

I believe Bluesky federation has the potential to significantly benefit Pixelfed and its users. I welcome any feedback, suggestions, and contributions from the community to help make this a reality.

@dansup dansup added the 🤔 In-Depth Requires more investigation label Nov 16, 2024
@dansup dansup self-assigned this Nov 16, 2024
@natanox
Copy link

natanox commented Nov 16, 2024

Going out of your way to support VC-funded, social-algorithm enabled networks incompatible to ActivityPub does not strengthen either the commitment to the Fediverse nor to healthy social networking.
It would devalue and weaken the Fedi the same way when Metas "Threads" enabled what they call "federation", causing a lot of people to not even see any reason to try Mastodon in the first place (and not realizing how Meta already lied to them). Likewise it would ignore any wisdom taken from how Meta effectively killed any movement behind XMPP; even though different, it would give them an opening for a lot of shenanigans and marketing lies and would impose a negative drag towards those unhealthy platforms (meaning Bluesky, Threads, Instagram etc.) on all other AP projects.

Although currently still acceptable, the enshittification of Bluesky already began. Please don't make this mistake.

@dansup
Copy link
Member Author

dansup commented Nov 16, 2024

Going out of your way to support VC-funded, social-algorithm enabled networks incompatible to ActivityPub does not strengthen either the commitment to the Fediverse nor to healthy social networking. It would devalue and weaken the Fedi the same way when Metas "Threads" enabled what they call "federation", causing a lot of people to not even see any reason to try Mastodon in the first place (and not realizing how Meta already lied to them). Likewise it would ignore any wisdom taken from how Meta effectively killed any movement behind XMPP; even though different, it would give them an opening for a lot of shenanigans and marketing lies and would impose a negative drag towards those unhealthy platforms (meaning Bluesky, Threads, Instagram etc.) on all other AP projects.

Although currently still acceptable, the enshittification of Bluesky already began. Please don't make this mistake.

Thanks for the feedback, and based on the overwhelming negative response, I don't think we will be pursuing this further.

@rabble
Copy link

rabble commented Nov 16, 2024

Don’t get despaired by the trolls. They can use an instance without ATprotocol support turned on. Adding it will greatly help this project and the broader future of the fediverse.

@ThisIsMissEm
Copy link
Contributor

I don't think this is a good idea, because bluesky works very differently to ActivityPub: if I understand what you're proposing, it'd actually mean that your pixelfed server would be your PDS. That's kinda antithetical to how AT Protocol works, where your data is meant to be separated from your server.

furthermore, the current bluesky lexicon wouldn't really be a great experience for people using pixelfed — it has many of the same conversion problems that Pixelfed <-> Mastodon federation has.

Bluesky's lexicon features upload limits capping the amount of bytes uploadable to bluesky per time period — pixelfed doesn't have anything like that restriction. You'd also have to do multiple requests to create a post, as you first need to upload the image as a blob to the users' repository, then create the post: https://docs.bsky.app/docs/advanced-guides/posts#images-embeds

Each post contains up to four images, and each image can have its own alt text and is limited to 1,000,000 bytes in size.

Based on their docs, it's unclear exactly how video uploads/attachments work, there is a separate XRPC method for it, but I'm unsure how you use that result when composing a post

@ThisIsMissEm
Copy link
Contributor

I'd probably say time is better invested working with @snarfed to improve integration between BridgyFed and Pixelfed

@Murazaki
Copy link
Contributor

Some would also argue that we still don't fully federate with AP (Discover is empty in most servers).
We might as well work on separating frontend from data server (PDS), which would put us closer to an ATproto architecture, giving us most of the advantages without the complexity of adapting it to their protocol (and might break this endless cycle of updating UI but still keeping the old one somewhere).

@tqwhite
Copy link

tqwhite commented Nov 16, 2024

As an outsider, it seems obvious that you should integrate with AT Protocol if the resources to do so are available. It would inarguably extend the reach and utility of the software.

Reading this thread, I see two categories of opposition. Some suggest protocol incompatibilities. If true, then of course it won't work.

But the other is a based on an us versus them argument and that is not only wrong, imho, but it makes me sad. This whole federation idea has become important based on the idea of generosity and freedom of connection. BlueSky is not some evil cabal. It's a different business model working toward roughly the same goal as Mastodon. AT Proto is a different idea for pursuing roughly the same goal as Activity Pub.

Integrating the two doesn't diminish either. It makes them both better. This negative argument comes down to, again imho, we should diminish ourselves to spite the competition.

I never heard of Pixelfed until this thread passed my view but it seems like a good and powerful tool. Federate the federations folks. Lift all the boats.

@Murazaki
Copy link
Contributor

Reading this thread, I see two categories of opposition. Some suggest protocol incompatibilities. If true, then of course it won't work.

But the other is a based on an us versus them argument and that is not only wrong, imho, but it makes me sad. This whole federation idea has become important based on the idea of generosity and freedom of connection. BlueSky is not some evil cabal. It's a different business model working toward roughly the same goal as Mastodon. AT Proto is a different idea for pursuing roughly the same goal as Activity Pub.

First, you have been quick to dismissed the other elephant in the room : resources and completion of AP Federation. See my previous message.

Second, I don't see how Bluesky's direction and ATProto centralization around it isn't an argument, given the level of censorship and harassment some of us have lived on corporate medias, and how it has, is and will be used as a political weapon.

@tqwhite
Copy link

tqwhite commented Nov 16, 2024

I didn't dismiss resource availability. If anyone brought it up, I didn't notice it. Also, resource availability isn't the question. It's whether one should consider looking for resources.

I think the "Bluesky's direction and ATProto centralization" is an argument. I just think it's not a good one.

BlueSky's mission is ethical communication and AT Proto is very much written to support federation. Differently from Activity Pub for sure, but the same goal. The folks at BlueSky seem to have been very supportive of decentralization efforts even if they also run their own instance. Absent technical problems, I don't think there is any inherent, ethical difference between the two efforts.

You seem to be drawing a comparison between the BlueSky corporation and some other corporation that has abused "some of us". Without further details, this seems specious. If you are saying that there can never be an integration with any corporate entity based on your experience, the requires a much better explanation of why. If you are saying that about BlueSky per se, then details of their villainy are in order.

I will add that you seem quick to dismiss the value of additional connection in supporting the fundamental goal of federation. This seems to me to be a high goal that might make accepting some other less problems acceptable.

@outlaw-dame
Copy link

I think it would be wise to run this by the Bluesky team to know exactly what’s possible and what they’re working on to make easier/happen for other platforms. I know WAFRN is currently working on ATProto integration so that team would be another one to connect with. I wouldn’t get dismayed by other people’s negative opinions especially ill informed opinions. Be it stories or Loops there’s always negativity and that speaks to the fedi subculture. You are a positive light and innovator. If in your research between bsky team, Snarfed, WAFRN etc you see it isn’t feasible then I’d say it makes sense to put a pause on the integration

@EmilJacobs
Copy link

I for one think this would be an excellent idea. Making Pixelfed available for Bluesky users, and for the rest of the fediverse to get a lot more content, would benefit everyone. If done right, it could help introduce the idea that more fediverse projects implement the AT protocol.

@tonytins
Copy link

ATProto is more than Bluesky...

And more being developed everyday. I say this as someone who maintains a Mastodon instance.

@natanox
Copy link

natanox commented Nov 17, 2024

BlueSky's mission is ethical communication and AT Proto is very much written to support federation. Differently from Activity Pub for sure, but the same goal. The folks at BlueSky seem to have been very supportive of decentralization efforts even if they also run their own instance. Absent technical problems, I don't think there is any inherent, ethical difference between the two efforts.

Please don't naively repeat marketing speech. Bluesky is still a for-profit, VC-funded company mostly owned by a single guy (its CEO Jay Graber) that also controls the protocol. Even though calling something a "Public Benefit Corporation" sounds nice, there is no necessity for them to not go for profit (on the contrary, given the investments). Even if the AT Protocol was to be better in purely technical aspects, so was Chromium; now we all get screwed over because of it (stuff like manifest v3 or jpegl xl). And as mentioned, federating with Facebook who back then didn't seem as evil as today already cost XMPP their future who, back then, also was thought of by many as "the future of instant messaging".

People will argue that "this is just about tech, not politics". Which especially in this case is so utterly naive I don't even know where to begin. Don't be like this.

@tonytins
Copy link

tonytins commented Nov 17, 2024

The Fediverse owes its existence to a company that was no different from Bluesky. Like Bluesky, StatusNet was a company with software named after it (now GNU Social), and its goal was to federate microblogging. Their software used a protocol called OStatus. It was based on hodgepodge of other software and saw little adoption. Mastodon was one of the few exceptions and soon became the dominant federated platform. Meanwhile, StatusNet decided to start from scratch and created ActivityPub with Pump.io as their testing ground. When it was done, they handed it over to W3C. Bluesky has a similar roadmap.

So while I get your concerns, give these people some slack. The developers of Bluesky had the rug pulled under them twice. First, Dorsey left when they added stricter user moderation, and then Elon took over Twitter, their primary source of funding. Naturally, Elon sees Bluesky as a threat and target now. The last thing these people need is the Fediverse, the one group who share similar visions, shunning them too.

This isn't Threads.

@dansup
Copy link
Member Author

dansup commented Nov 17, 2024

Due to several concerns brought up by our community, we are no longer pursuing native ATProto support, and will focus on improving our federation support to allow the bsky bridge for admins and users who do want to interact with bsky.

We may revisit this in the future, but for now we are going to remain focused on ActivityPub.

I will be closing and locking this thread, due to the heated nature.

I wish you all the best, and thank you for your feedback.

May we meet again ❤️

@dansup dansup closed this as completed Nov 17, 2024
@pixelfed pixelfed locked as too heated and limited conversation to collaborators Nov 17, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
🤔 In-Depth Requires more investigation
Projects
None yet
Development

No branches or pull requests

9 participants