Then they start calling it "buproto" or something. Firefox has a trademark too, but that didn't stop debian from distributing the same thing under the name Iceweasel...
> Bluesky recently acquired the rights to the trademark for “ATPROTOCOL” and its variants—including “AT Protocol” and “atproto”—from another company that was threatening to take legal action preventing the company and others from using the term. Now that Bluesky owns it, the atproto community’s continued use of the mark can be protected.
The policy around usage is shared in the rest of the post but the goal is to make this very simple for everyone
I don't remember ever hearing that called AT proto or AT protocol, just AT commands or AT commandset etc.
Even though I'm that old, even I don't care even if it was anyway.
...as long as the reason is what it looks like. Rather have Bluesky claim it for the purpose of having the officially recognized legal authority to grant usage to everyone else, than have a rando douche company think they can claim it to extort or simply inhibit everyone else.
Is this a real thing? I don't think I've ever heard "AT protocol" before Bluesky. My first modem was 300 baud, so I wasn't totally out of the loop on this. DDG finds four hits for the phrase before 2020 used to describe the Hayes command set.
Are you going to write it below my every comment? I've already replied to this here: https://news.ycombinator.com/item?id=48933050. Also, I don't think either claim in my reply is dependent on who wrote it. You can trivially verify them yourself.
Look at how ActivityPub works before saying it's single vendor controlled.
Really basically: Everyone can have their data (posts, media attachments) on whatever server they want or control, easily self hosted.
And at the same time, people can also host "apps" like Bluesky that read said data and interpret conventions in naming to show it in a meaningfull way like as posts.
you can self host your data.
you can self host a bluesky view.
It actually kind of reminds me of openstreetmap, where it's actually only a database of keys and values, but apps interpret their meanings based on conventions
The single point of failure is always the biggest instances or communities, which impose their rules on everyone else under threat of refusing to communicate with them.
This has happened with every single federated platform, and it can’t be solved with technology because it’s fundamentally not a technology problem. People want to be where other people are, so once the community reaches a critical mass it inevitably degrades into the same sump of mediocrities and their rules as everything else.
I think you will find that a lot of people find that to be a feature of the federated networks. It's how society works outside of social networks. You aren't likely to see football fans of different teams sharing pubs here in Europe. You wouldn't see judgemental people be allowed in accepting roleplaying communities and so on. Why would a network of community controlled servers be any different than this? IRC was like this, Discord is like this. When you give people control they are going to kick out the opinions and people they don't want around.
If you find yourself on the outside, it might just be that you're the village idiot. Before SoMe platforms like twitter, facebook and other places without local moderation the village idiot didn't have much of a voice either.
Email and Usenet are both decentralized systems that in theory aren't affected by instance admin bitchfights anywhere near to the level of drama in the fediverse. Yes: many providers didn't mirror the binary groups due to piracy, and in email, deliverability is a constant issue thanks to spammers.
But the fediverse? Can't count how many times I've seen instance admins hold their users hostage in bitchfights over the Israel/Palestine stance of other instance admins.
Usenet was(is?) moderated similar, to IRC, Discord and so on with some newsgroups needing moderator approval for every single post. Also, there was a lot of drama on Usenet. I don't think it's that different from the fediverse. I guess you could debate whether moving your "personality" from one fediverse server to another when is worse than having to use a new email to access groups that banned you. With the fediverse you can certainly be punished for the actions of other people on your instance much easier compared to other platforms.
Email is probably the closest to anarchy. If you could get people to use it for group communications, every user could decide who they include in their "reply all", which would probably lead to absolute chaos.
The village idiot analogy is misguided and unnecessarily accusatory.
However, I do feel internet communities were better when they were smaller due to being special interest driven and self-policing. People wore different hats according to the community they were engaging with.
You're right, landsbytosse doesn't not translate well. To be fair the literal translation is village fool, which isn't much better. It's meaning would be more along the lines of village eccentric, which could be the village idiot, but not always.
There was a very steep curve to access the Internet back then (both economically and technically), and that was a very big filter (although it let through many smart assholes anyway).
>We plan to transfer that ownership to an appropriate, independent protocol governance organization in the future.
I never realized there is no independent governance org that should have registered this. So AT is governed by a single for-profit entity, that also runs the only viable instance?
It segments the network differently (into "hosting" and "apps"), and on both axes anyone can run their independent app-agnostic hosting, as well as an independent hosting-agnostic app.
I haven't worked at Bluesky for over a year now. I'm genuinely excited about the protocol, and have written a bunch of things about it while I had free time between jobs. (Ironically I had no time to write about it while at Bluesky because I was too busy working around React Native bugs.)
>it's impossible to actually participate in Bluesky using an alternative relay
Here's an example of connecting to one of them: https://pdsls.dev/firehose?instance=wss%3A%2F%2Feurope.fireh.... From an app's perspective, they're completely interchangeable, so as an app developer you can switch to any relay you want, or run your own.
I don't mean it as a linguistic gotcha ("ha, you said instances! but we call them something else"). I'm saying this is a category error because the network topology is different. This is like saying that web is not free because people aren't running Google-scale indexes in their garages.
I don't think the Google comparison is doing you any favors in resolving the concern behind the category error, though. What I'm hearing is that AT is like the web if Google had started the web themselves and designed it around their index as the primary means of accessing anything on the web. Sure, they still have Don't Be Evil as their motto at this stage, and in the 90s maybe we would have been naive enough to believe them.
But in the 2020s, after watching what Google did to the web without being able to control the protocol from the beginning, a comparison of Bluesky to Google doesn't really assuage the concern people have about centralization.
>designed it around their index as the primary means of accessing anything on the web
That doesn't actually translate from the analogy though.
You don't use Bluesky to access other apps' data on atproto, you use those apps. You go to https://tangled.org/ for Tangled (atproto github), you go to https://leaflet.pub/ for Leaflet (one of atproto blogging platforms), and so on. Bluesky is not a "one stop shop" for all atproto stuff, it's just one of atproto apps, and anyone can make their own app.
The apps themselves have to compete on their own merit, completely unrelated to the protocol stuff. The protocol just makes them all interoperable and changes market dynamics (e.g. someone can resurrect a dead app by creating a new projection of existing data). If your criticism is that there aren't many apps on atproto yet — fair, but you can make those! People are making those. This is something you can actively contribute to, there's no permission you need to ask.
The "Bluesky index" is the index of Bluesky posts, so naturally you access that primarily through the Bluesky app. (Although even that isn't set in stone — see Blacksky who run their own stack for everything, but also show Bluesky posts.) And then, if you make your own app with your own data types, it would not be related to Bluesky in any way.
>But in the 2020s, after watching what Google did to the web without being able to control the protocol from the beginning, a comparison of Bluesky to Google doesn't really assuage the concern people have about centralization.
Sure, and is your argument that it's better if the web had never happened? Atproto is going to IETF so it will become a "proper" internet standard. The way you shift the balance of power is by building your own stuff on it.
It's great that you can make your own independent apps on atproto, and you're right that I overstated the "anything on the protocol" in the analogy. Analogies are always lossy, but that was worse than necessary.
But notice that what you're now arguing is not that Bluesky is equally decentralized to Mastodon as a social network, you are arguing that while Bluesky the app may be in practice highly centralized that doesn't mean other apps can't exist:
> The "Bluesky index" is the index of Bluesky posts, so naturally you access that primarily through the Bluesky app.
It probably is entirely true that different apps can spin up on atproto independently, but that was never the actual point of concern. This, what you say right here, is the actual concern. This specific app (or any atproto app) appears to have significant lock-in—to the point where you identify it as "natural" that it would be so—while selling itself on decentralization.
Blacksky is an interesting case, and I'm wondering why you didn't roll it out at the beginning and why you still hedge it as "natural" that you'd access the Bluesky app data through Bluesky? I'm actually unfamiliar with the territory here, but coming from my knowledge of the fediverse that seems an odd pairing. If a fully independent implementation exists, why is it natural that you'd use the central one?
>It probably is entirely true that different apps can spin up on atproto independently
It's true, and I want to emphasize that they need nothing to do with microblogging or Bluesky posts. I think it's important to internalize this because most discussions about Mastodon are about microblogging modality. But, say, Tangled is a git hosting with social layer (issues, PRs) on atproto. So we are really comparing fundamentally different ecosystems already. Atproto is not centered around Bluesky posts or Bluesky app; it's just that Bluesky app happens to be the biggest app built on top of atproto primitives.
>This, what do you say right here, is the actual concern. This specific app (or any atproto app) appears to have significant lock-in—to the point where you identify it as "natural" that it would be so—while selling itself on decentralization.
You're starting with the Mastodon perspective of "a social network is a set of fragmented views of the network with no shared sense of identity or global aggregation/search which talk to each other" and consider it natural.
Whereas I start with the regular user's understanding of a social app — it's a place where you can come, where you can see the entire world at once, where all features (global search, recommendations, follow graph) are global by default, and where you don't "belong" to any particular community to an extent that this community can cut you off from your followers or ban you. Instead, the app is serviced by app's developers and you're at their mercy.
Now, what does atproto try to do?
From the user's point of view, it looks as the familiar "centralized" approach — apps can have global search, recommendation algorithms, there's no fragmentation. Each app is a prism over the entire network and always shows a consistent view over it. App developers do have full control over how the app presents it. There aren't 100 copies of the same app because there are 100 communities on it. This split into instances is a "Mastodon-brained" way of thinking.
However, the underlying data lives in an app-agnostic layer. So Blacksky was able to kickstart their own projection of atproto network (filtered down to Bluesky stuff since their app is initially a clone of Bluesky). It's not an easy job to make it work for billions of posts, but no Mastodon instance even tries to support that scale. Atproto makes supporting that scale possible, and then we say "oh but this is expensive". Of course it is — it's expensive to store content from millions of people with any technology. But unlike centralized services (which atproto tries to match in baseline UX expectations), it is possible to spin up alternative projections of the same network that fully participate in it, when folks have concrete reasons to do so. (For example, Blacksky is able to take different moderation decisions as a result.)
You can go further. https://reddwarf.app/ is a working app displaying Bluesky data that does not have a backend at all and does not use Bluesky (or Blacksky) API servers. Instead, it loads data directly from the hosting layer, and uses https://constellation.microcosm.blue/ network index for querying relationships (like "give me a list of likes for this post"). This is less efficient than maintaining an index (so it loads a bit slower) but it's totally a workable model. The Constellation index itself, if I'm not mistaken, runs on someone's Raspberry Pi.
Of course, you can also "scale down" atproto to make it apples-to-apples with Mastodon. You'd add some code that filters down events only to those that are "relevant" to people who are "on" your "server" and their follows. This would be a "small world" atproto that would be easy for anyone to spin up. It's not very exciting but I guess we'll see more experiments in that area as people realize it is possible. But it's also just less exciting because you can also run the real thing if you're motivated enough. And the fact that anyone can choose to do it if there's a real need means people don't create a 1000 of shallow Bluesky clones. It just doesn't solve any actual problems other than trying to win arguments like this.
I don't think "decentralization" is a super useful prism to think about atproto. Atproto is a high scale syndication protocol, like typed signed RSS via HTTP and WebSockets with a shared data model and identity upstreamed into the web. This protocol enables independent apps, independent hosting providers, and independent caches and relays to build and participate in a shared ecosystem. That ecosystem lives on the web, so it's "decentralized" in the same sense that web itself is. But it doesn't mean that each product must be split into a thousand pieces at the UX level.
Does the IETF register trademarks on behalf of their working groups? It’s possible that I’m just misinformed about that.
I left this comment shortly before bed and my thought process was “a working group isn’t a legal entity and therefore can’t do this” but it’s entirely possible that that was shortsighted of me.
ATProto is closer to how RSS works than ActivityPub. In the same way talking about "RSS instances" makes little sense, the same goes for "ATProto instances".
It makes sense to talk about “RSS aggregators”. Especially it makes sense to talk about “RSS aggregators that speak a specific vocabulary on top of RSS, host 99% of content using that vocabulary, and if you host your own RSS feed with said vocabulary they’ll show it in their aggregator but can ban it any minute”.
Did I just describe Apple Podcasts? Huh. Regardless, yeah, there’s no “ATProto instances” technically, but there are ATProto apps and the single biggest one now owns the trademark to the protocol name.
i guess that's fair, but i've never listened to a podcast from a non-foss app; i'm not really "in" the podcast sphere, but from where i'm sitting it seems podcasting would survive and migrate just fine if apple podcasts had to go away suddenly
"Only viable instance" is not really the correct framing - Bluesky doesn't have instances. Anyone using ATProto without Bluesky will still be "on Bluesky".
When you go to bsky.app, you're interacting with the Bluesky AppView; one key feature of ATProto is that any AppView can interact with any (consenting) Personal Data Server (PDS). So you can self-host your PDS but still use bsky.app if you so choose. But critically, anyone can write an AppView; there are reimplementations of Bluesky as well as other social apps that use the same ATProto infrastructure. That would be closest thing to a Mastodon instance, except you don't have to host your data on it in order to use it. Imagine being able to go to a Lemmy instance and just post things with your Mastodon identity, and have everything show up without Mastodon having to know anything about Lemmy magazines or its special upvote / comment formats.
The actual centralization in ATProto lies in a combination of unfortunate design decisions and genuine friction in the self-hosted path. Being totally reliant on Bluesky is the happy path, self-hosting your PDS data is difficult but doable, and being totally independent of Bluesky is only possible if you do everything correctly right at the start.
First off, Bluesky doesn't offer any GUI tools for PDS migration. If you want to get off their PDS, you'll need to bust out command-line tools and possibly do some steps in advance of when you need to migrate in order for everything to work properly.
Second, even if you're on a PDS, you're still reliant on the Public Ledger of Credentials (PLC) to host your Distributed ID (DID) document. The PLC is run by Bluesky, although they've taken steps to make it easy to notice if they were to do something fucky with the PLC. But let's say we don't like that. There is a solution: you can host your DID document on a normal web server. Problem solved?
Well, if you were setting up an account for the first time, then yes, the problem is actually solved, you're 100% independent of Bluesky. But if you made the mistake of registering an account normally, you have a did:plc identity. And one core principle of ATProto is that identity names never ever ever change. So if you go and make a did:web identity, it's like having a second account, there is no way to tie your old did:plc identity into it. In fact, I'm pretty sure you can't even redirect one did:web identity to another (say if you need to switch domain names)
Regarding Bluesky's "independent protocol governance organization", they made the same promise about the PLC; but it hasn't actually been transferred yet. I would be a lot more bullish on ATProto if there was a way to migrate DIDs and retain all your followers and shit. And if there was proper graphical tools for data migration.
The PLC governance not having been moved yet is my one main gripe against ATProto/Atmosphere now. There is so much being built on top of this protocol, and I truly believe it has the chance to make the social web more decentralized while keeping everything connected. The PLC being controlled by one major commercial entity allows them to pull the plug so to speak. Say someone is sanctioned by the US, what stops Bluesky from pulling the plug on their DID thereby blocking and censoring this person from the network all together.
Half the point of ATProto is that identities are used across a host of apps, and therein lies a big vulnerability. If identities are not truly independent of centralized infrastructure, then you are vulnerable to losing access to a number of apps at once similar to Google services black hole if your Google account is banned (not to mentioned anywhere you've logged in with SSO).
It would be much better if the PLC was somehow decentralized itself. Barring that it should at least be finally spun out as the independent Swiss organization they've talked about for some time now. The organization could form a board with interested parties to set the future of PLC development if needed.
As for PDS migration, there are good options if you are migrating away from Bluesky. There are lots of GUI tools that work well now like https://pdsmoover.com/moover, Eurosky has https://move.eurosky.tech/, etc. It would be cool though if Bluesky actually linked to the other big PDS-providers on the Bluesky sign-up page to actually promote decentralization. But I guess it is hard to vouch for other services.
I still think the future of ATProto is bright, but there are definitely some obstacles before I'm comfortable with the whole setup. The network needs more decentralization in the PDS-layer, and the PLC needs to spin out in the separate governance organization pronto.
> Say someone is sanctioned by the US, what stops Bluesky from pulling the plug on their DID thereby blocking and censoring this person from the network all together.
How does IANA handle this with domain names? genuine question, i'm not sure. is it enough to have distinct registrars and distinct jurisdictions for some TLDs and so on?
They don't. All domains have US jurisdiction except the ones that are underneath country TLDs.
IANA could stop publishing country TLDs in their root zone file but it would probably split the internet in two, and everyone involved knows that. Several root server operators would refuse the update, and many recursive resolver operators would put them back in.
>First off, Bluesky doesn't offer any GUI tools for PDS migration. If you want to get off their PDS, you'll need to bust out command-line tools and possibly do some steps in advance of when you need to migrate in order for everything to work properly.
This is getting much better recently. I migrated to https://eurosky.tech/accounts/ with no command line — just needed to wait for a wizard in my browser to move my records. It could've been much faster and seamless (the app was confused after this and I had to re-login), but it's definitely accessible to non-technical people, and the share of independent hosting is growing.
Bluesky has a data store, handles account authorization, and runs a web app that provides a UI to access the backend services. That's an instance, whether they call it one or not. Refusal to admit this is obfuscation for reasons I cannot understand.
The reason is that "why aren't many people running Bluesky instances" is a loaded question — it presupposes that's something you should expect. But it's like asking "why aren't many people running Google". It's expensive to store billions of posts!
This is usually compared to Mastodon, but it's not apples to apples since "running a Mastodon instance" always mean a tiny partial view of the network. You can do a partial view of atproto too for the same cost, it's just not very interesting because what's the point? Every app can "see" the entire network (unlike in ActivityPub) so there's a lot less motivation to create these fragmented views into it.
> I would be a lot more bullish on ATProto if there was a way to migrate DIDs and retain all your followers and shit. And if there was proper graphical tools for data migration.
This is exactly where I’ve landed re: ATProto. If you actually want to self-host everything you lose one of the biggest draws of it, the migratable IDs.
I was looking into it to build an alternative to Threads/IG/TikTok for one of my hobby communities that’s become almost entirely reliant on Meta/Tencent. Being able to plug into the wider AT Proto world was a big draw, but not being able to self host a true alternative to did:plc has put a halt to that for now while I figure out what I want to do.
I don't know what you mean by this. You absolutely can self-host all your data on your own. And if you also don't want to rely on PLC for identity, you make a `did:web` identity, and then you're completely decoupled from Bluesky-operated infra.
I didn’t fully understand the part of the stack you’re talking about, but it always seemed like one of ATProto’s design goals was to really keep everything on the same distributed system (so to speak) while allowing people to host the bits individually that all contribute to the same connected system. Eg not having fully separate networks that don’t talk to each other
The nightmare of the Wsocial rollout is a testament of the massive control Bluesky has on the ATProto network.
If Wsocial was on ActivityPub or Nostr nothing similar would have happened.
ATProto has serious centralisation problems, baked into the design. And it makes sense, considering it came out of a Twitter R&D experiment to "decentralise" Twitter itself. Pure federation was never part of the initial design.
I think decentralization is just not something users care about generally.
- many people wish they could control what they see and who they talk to. (Eg control the algorithm, avoid censorship from big tech)
- some people care about owning their data so it doesn’t go away when a company fails
- technical people are interested in building more types of social apps that aren’t just twitter posts etc
- nearly everyone just wants a fairly seamless experience without a lot of gotchas or technical problems to solve like self hosting an instance for your friends that falls over if too many people use it and is tricky to network with others.
Bluesky is trying to solve all those kinds of problems, which I think is pretty interesting, and I don’t think the others are quite doing the same thing technically. At the end of the day they are all pretty niche.
> - content not in line with the political left is censored
What do you mean? Individual apps can choose to censor I guess, but you can fairly trivially run an AppView with no filtering whatsoever if that's what you fancy.
> - sure, you have your data in your PDS, but it is de-facto useless if the central identity server of Bluesky goes down
That's not correct. You can use plc, which Bluesky operates the largest directory for, but you can also use web, which completely bypasses Bluesky all together.
> - ActivityPub and Nostr solve this already without being owned by a company
What's 'this' here?
> - you cannot easily and cheaply have an ATProto instance. AP and Nostr solve this already
The terminology here of 'ATProto instance' doesn't really make sense. If you're talking about a PDS, you can use one of thousands of free PDS hosts, or host your own for free on Cloudflare (https://cirrus.earth/) or on your own hardware (there are PDS implementations which fit comfortably onto a Raspberry Pi, or an old phone, etc.)
Sure you can host your PDS, but if you want to deploy your own instance like you would do with Mastodon, you need to deploy a Relay and an AppView as well. And the way the network works, you need beefy servers for that.
On ActivityPub and Nostr you develop all kind of applications already, it is not only Twitter clones, but also Instagram clones, Reddit clones, on Nostr there is even the resurrected Vine (https://about.divine.video/).
And it is not trivial to switch from the Bluesky did:plc (which you cannot run in write-mode on your own and need to use the official Bluesky owned) to did:web, which you can run on your own.
Relays are trivial to run now with changes to how syncing works a while back. AppViews are entirely up to the designer of the view. You can make it as complex and expensive or cheap and fast as you want, it’s entirely up to you. You do not have to provide the exact same functionality as Bluesky’s AppView and can basically do whatever you want.
The idea of an 'instance' is not really clear. If you want to run a social network on ATProto, you do need the relay and app view, and those are indeed heavy requirements, but the architecture is not the same, and it depends what you're actually trying to achieve.
If you just want to use ATProto for your own small app, there are ways to do it on more constrained hardware. The more usage it gets, the more it scales up.
> On ActivityPub and Nostr you develop all kind of applications already, it is not only Twitter clones, but also Instagram clones, Reddit clones, on Nostr there is even the resurrected Vine (https://about.divine.video/).
Same! You can explore the (unfortunately named, given the point I'm trying to make :)) 'Bluesky directory' to see apps which use ATProto: https://blueskydirectory.com
Note that most of these have nothing to do with Bluesky.
> And it is not trivial to switch from the Bluesky did:plc (which you cannot run in write-mode on your own and need to use the official Bluesky owned) to did:web, which you can run on your own
That's true, but it's not trivial to run your own Mastodon instance either...
>If you want to run a social network on ATProto, you do need the relay and app view, and those are indeed heavy requirements, but the architecture is not the same, and it depends what you're actually trying to achieve.
Note those are not heavy requirements in any atproto-specific sense.
Running an atproto relay (at the current scale) is $30/month. If you're running a popular app, this is probably comparable with some of your SaaS subscriptions. Or you could use a community-run one or pool resources with other apps. Also, many atproto apps don't use a relay at all, and rely on a community cache like https://constellation.microcosm.blue/ instead.
Running an AppView is only as expensive as running any backend. "AppViews are expensive" is a myth extrapolated from "Running a copy of a Bluesky AppView is expensive", which is true because a Bluesky AppView is a backend server that's supposed to store and serve millions of posts. It would be expensive with any technology! Atproto isn't adding an extra tax here. Running a centralized service at the same scale would be equally expensive, and a Mastodon instance at that scale would simply not run.
If your AppView only serves your app's users (and has nothing to do with Bluesky), the cost is cheap or nonexistent. It's just a normal backend that listens to a websocket stream and writes some stuff to a database.
It's not that they didn't warn bluesky specifically. It's that they didn't warn relay operators in general. And IIRC they just needed to coordinate with a single relay operator who is reasonably trusted (ex blacksky or eurosky) but they didn't do that either.
The default rate limits are quite reasonable but big launches will blow past them so you gotta coordinate with someone.
And note that the relay federation/gossip agreements are largely manual configuration at the moment. Until someone pushes a proposal for an automated/dynamic topology management algorithm that doesn't get plagued with spam issues it'll stay this way.
It absolutely is. Mastodon has rate limits and administrators have to manage and adjust them as necessary for their instances.
You probably just don't notice it as a user or as the operator of a small instance which to be fair is exactly the same with atproto. Users rarely notice rate limits and small operators rarely do either. It's the operators of large services that see these limits and have to coordinate with other operators.
The issue with W social is that they have a chronic inability to coordinate or play nice with anyone else in the atproto space. Rate limits aren't a problem if you are a good neighbor and you know your neighbors but frankly they just don't.
My Mastodon instance blocked Threads preemptively because they were afraid of the traffic driving up their hosting costs so you’re basically just very wrong or lying about this. A huge flood of incoming traffic can be hugely expensive for ActivityPub node operators. The problem of giant onboarding events is real, there’s just no default protection against them in Mastodon like there is in Bluesky, so operators either have to take matters into their own hands with defederation or risk driving their bill through the roof.
> it's more of a problem that it's so heavily dominated by US politics.
I agree the default Discovery feed is not great, but you can just switch to a different feed like For You or the recent Eurosky version of it, called 'fu'. It vastly improves the experience.
Tons of people have started products without issue. But if you flood a popular relay with data that exceeds its rate limit then getting throttled is to be expected. This doesn’t prevent your participation in the protocol or network.
There are other relays and indexes out there that may have different rate limits. That’s just how these things work. The data from W is still there on their PDS, still public, still crawlable, and able to be backfilled within rate limits.
Nothing Bluesky does is really independent. This is such a transparent playbook and yet folks keep falling for a couple of open source repos and whatever hot takes Dan Abramov posts to reframe “instances” to “open social” bs.
I can’t imagine being a first time bootstrapped founder running a business without a trademark and not knowing that someone with bad faith would just register a trademark and just sue or order you to change your name.
These are the things that most startups account for when raising capital.
The community probably would have complained if they registered the trademark preemptively. But if they let the bad guys register it and then save the day it's the least bad solution.
The timeline just seems like two different brands wanted the name. atSign was using atProtocol as their thing. And trademarks are defend-or-lose. That AT Proto would grow so much more than atSign is just a thing we know now. They were both contemporaneous and it doesn't seem to have been some kind of gazumping operation so much as two groups landing on a name.
Not only do we run a fully independent stack (https://docs.blacksky.community/readme/list-of-our-services)
Not only are we getting paid by other orgs to stand up independent app view servers.
We also received a license from Bluesky for the atproto trademark.
There are no qualms in the ecosystem from people making money, getting users, and providing new experiences about this.
It’s not “AT Protocol fans” who aren’t taking issue with this. It’s business with employees and organizations making a positive impact.
It’s easy to criticize if you’re not actively shipping things.
For now
Darth Vader, VP of Contract Renegotiation
The policy around usage is shared in the rest of the post but the goal is to make this very simple for everyone
[1] https://en.wikipedia.org/wiki/Hayes_AT_command_set [2] https://tmsearch.uspto.gov/search/search-results/73319703
Even though I'm that old, even I don't care even if it was anyway.
...as long as the reason is what it looks like. Rather have Bluesky claim it for the purpose of having the officially recognized legal authority to grant usage to everyone else, than have a rando douche company think they can claim it to extort or simply inhibit everyone else.
Maybe you're thinking of prior art in a trademark? Or trademark genericization? But neither would apply here.
Single vendor owned & controlled standards always turn out badly, just a question when.
ActivityPub solves a completely different (arguably, smaller) set of problems. This is like saying "Cool people use email instead of web".
I have a few diagrams here that may help see just how different they are: https://overreacted.io/there-are-no-instances-in-atproto/#so...
>Single vendor owned & controlled standards always turn out badly, just a question when.
Yeah, which is why atproto is going to IETF: https://atproto.com/blog/kicking-off-the-atp-working-group. You can join the mailing list to participate in the discussions: https://mailarchive.ietf.org/arch/browse/atp/?gbt=1&index=.
Really basically: Everyone can have their data (posts, media attachments) on whatever server they want or control, easily self hosted.
And at the same time, people can also host "apps" like Bluesky that read said data and interpret conventions in naming to show it in a meaningfull way like as posts.
you can self host your data.
you can self host a bluesky view.
It actually kind of reminds me of openstreetmap, where it's actually only a database of keys and values, but apps interpret their meanings based on conventions
This has happened with every single federated platform, and it can’t be solved with technology because it’s fundamentally not a technology problem. People want to be where other people are, so once the community reaches a critical mass it inevitably degrades into the same sump of mediocrities and their rules as everything else.
If you find yourself on the outside, it might just be that you're the village idiot. Before SoMe platforms like twitter, facebook and other places without local moderation the village idiot didn't have much of a voice either.
But the fediverse? Can't count how many times I've seen instance admins hold their users hostage in bitchfights over the Israel/Palestine stance of other instance admins.
Email is probably the closest to anarchy. If you could get people to use it for group communications, every user could decide who they include in their "reply all", which would probably lead to absolute chaos.
However, I do feel internet communities were better when they were smaller due to being special interest driven and self-policing. People wore different hats according to the community they were engaging with.
not neceessarily true, see Matrix where it pretty much doesn't matter where you are
It didn't happen with the internet itself. You still can avoid Facebook and co. and happily discuss things on HN.
And with the email, it is much less serious than people assume. I do not use gmail or MS and practically nobody I talk to does.
I never realized there is no independent governance org that should have registered this. So AT is governed by a single for-profit entity, that also runs the only viable instance?
This is a category error. There are no "instances" in atproto.
https://overreacted.io/there-are-no-instances-in-atproto/
It segments the network differently (into "hosting" and "apps"), and on both axes anyone can run their independent app-agnostic hosting, as well as an independent hosting-agnostic app.
>it's impossible to actually participate in Bluesky using an alternative relay
I don't know what you mean by this. https://blacksky.community/ is definitely running their own relay. Here's a community listing of some relays: https://atproto.at/relays.
Here's an example of connecting to one of them: https://pdsls.dev/firehose?instance=wss%3A%2F%2Feurope.fireh.... From an app's perspective, they're completely interchangeable, so as an app developer you can switch to any relay you want, or run your own.
Many apps don't even use a relay at all, instead relying on caches like https://constellation.microcosm.blue/.
Tried to clarify this here: https://news.ycombinator.com/item?id=48932956
But in the 2020s, after watching what Google did to the web without being able to control the protocol from the beginning, a comparison of Bluesky to Google doesn't really assuage the concern people have about centralization.
That doesn't actually translate from the analogy though.
You don't use Bluesky to access other apps' data on atproto, you use those apps. You go to https://tangled.org/ for Tangled (atproto github), you go to https://leaflet.pub/ for Leaflet (one of atproto blogging platforms), and so on. Bluesky is not a "one stop shop" for all atproto stuff, it's just one of atproto apps, and anyone can make their own app.
The apps themselves have to compete on their own merit, completely unrelated to the protocol stuff. The protocol just makes them all interoperable and changes market dynamics (e.g. someone can resurrect a dead app by creating a new projection of existing data). If your criticism is that there aren't many apps on atproto yet — fair, but you can make those! People are making those. This is something you can actively contribute to, there's no permission you need to ask.
The "Bluesky index" is the index of Bluesky posts, so naturally you access that primarily through the Bluesky app. (Although even that isn't set in stone — see Blacksky who run their own stack for everything, but also show Bluesky posts.) And then, if you make your own app with your own data types, it would not be related to Bluesky in any way.
>But in the 2020s, after watching what Google did to the web without being able to control the protocol from the beginning, a comparison of Bluesky to Google doesn't really assuage the concern people have about centralization.
Sure, and is your argument that it's better if the web had never happened? Atproto is going to IETF so it will become a "proper" internet standard. The way you shift the balance of power is by building your own stuff on it.
But notice that what you're now arguing is not that Bluesky is equally decentralized to Mastodon as a social network, you are arguing that while Bluesky the app may be in practice highly centralized that doesn't mean other apps can't exist:
> The "Bluesky index" is the index of Bluesky posts, so naturally you access that primarily through the Bluesky app.
It probably is entirely true that different apps can spin up on atproto independently, but that was never the actual point of concern. This, what you say right here, is the actual concern. This specific app (or any atproto app) appears to have significant lock-in—to the point where you identify it as "natural" that it would be so—while selling itself on decentralization.
Blacksky is an interesting case, and I'm wondering why you didn't roll it out at the beginning and why you still hedge it as "natural" that you'd access the Bluesky app data through Bluesky? I'm actually unfamiliar with the territory here, but coming from my knowledge of the fediverse that seems an odd pairing. If a fully independent implementation exists, why is it natural that you'd use the central one?
It's true, and I want to emphasize that they need nothing to do with microblogging or Bluesky posts. I think it's important to internalize this because most discussions about Mastodon are about microblogging modality. But, say, Tangled is a git hosting with social layer (issues, PRs) on atproto. So we are really comparing fundamentally different ecosystems already. Atproto is not centered around Bluesky posts or Bluesky app; it's just that Bluesky app happens to be the biggest app built on top of atproto primitives.
>This, what do you say right here, is the actual concern. This specific app (or any atproto app) appears to have significant lock-in—to the point where you identify it as "natural" that it would be so—while selling itself on decentralization.
You're starting with the Mastodon perspective of "a social network is a set of fragmented views of the network with no shared sense of identity or global aggregation/search which talk to each other" and consider it natural.
Whereas I start with the regular user's understanding of a social app — it's a place where you can come, where you can see the entire world at once, where all features (global search, recommendations, follow graph) are global by default, and where you don't "belong" to any particular community to an extent that this community can cut you off from your followers or ban you. Instead, the app is serviced by app's developers and you're at their mercy.
Now, what does atproto try to do?
From the user's point of view, it looks as the familiar "centralized" approach — apps can have global search, recommendation algorithms, there's no fragmentation. Each app is a prism over the entire network and always shows a consistent view over it. App developers do have full control over how the app presents it. There aren't 100 copies of the same app because there are 100 communities on it. This split into instances is a "Mastodon-brained" way of thinking.
However, the underlying data lives in an app-agnostic layer. So Blacksky was able to kickstart their own projection of atproto network (filtered down to Bluesky stuff since their app is initially a clone of Bluesky). It's not an easy job to make it work for billions of posts, but no Mastodon instance even tries to support that scale. Atproto makes supporting that scale possible, and then we say "oh but this is expensive". Of course it is — it's expensive to store content from millions of people with any technology. But unlike centralized services (which atproto tries to match in baseline UX expectations), it is possible to spin up alternative projections of the same network that fully participate in it, when folks have concrete reasons to do so. (For example, Blacksky is able to take different moderation decisions as a result.)
You can go further. https://reddwarf.app/ is a working app displaying Bluesky data that does not have a backend at all and does not use Bluesky (or Blacksky) API servers. Instead, it loads data directly from the hosting layer, and uses https://constellation.microcosm.blue/ network index for querying relationships (like "give me a list of likes for this post"). This is less efficient than maintaining an index (so it loads a bit slower) but it's totally a workable model. The Constellation index itself, if I'm not mistaken, runs on someone's Raspberry Pi.
Of course, you can also "scale down" atproto to make it apples-to-apples with Mastodon. You'd add some code that filters down events only to those that are "relevant" to people who are "on" your "server" and their follows. This would be a "small world" atproto that would be easy for anyone to spin up. It's not very exciting but I guess we'll see more experiments in that area as people realize it is possible. But it's also just less exciting because you can also run the real thing if you're motivated enough. And the fact that anyone can choose to do it if there's a real need means people don't create a 1000 of shallow Bluesky clones. It just doesn't solve any actual problems other than trying to win arguments like this.
I don't think "decentralization" is a super useful prism to think about atproto. Atproto is a high scale syndication protocol, like typed signed RSS via HTTP and WebSockets with a shared data model and identity upstreamed into the web. This protocol enables independent apps, independent hosting providers, and independent caches and relays to build and participate in a shared ecosystem. That ecosystem lives on the web, so it's "decentralized" in the same sense that web itself is. But it doesn't mean that each product must be split into a thousand pieces at the UX level.
Those can't register trademarks, of course.
> that also runs the only viable instance?
This is false, both in the framing ("instances") and in the viability of running alternative infrastructure.
I left this comment shortly before bed and my thought process was “a working group isn’t a legal entity and therefore can’t do this” but it’s entirely possible that that was shortsighted of me.
(Obviously the IETF itself can.)
https://static.ietf.org/logos/ietf.svg
Atproto decouples them: there's app-agnostic hosting (which anyone can run), and there's hosting-agnostic apps (which anyone can run).
I wrote about it here: https://overreacted.io/there-are-no-instances-in-atproto/#so...
Did I just describe Apple Podcasts? Huh. Regardless, yeah, there’s no “ATProto instances” technically, but there are ATProto apps and the single biggest one now owns the trademark to the protocol name.
A Public Benefit Corporation to be precise. So they are legally obligated to favor public benefit.
This structure was created to allow a business to protect the interest of the public when it conflicts with the interests of their shareholders
When you go to bsky.app, you're interacting with the Bluesky AppView; one key feature of ATProto is that any AppView can interact with any (consenting) Personal Data Server (PDS). So you can self-host your PDS but still use bsky.app if you so choose. But critically, anyone can write an AppView; there are reimplementations of Bluesky as well as other social apps that use the same ATProto infrastructure. That would be closest thing to a Mastodon instance, except you don't have to host your data on it in order to use it. Imagine being able to go to a Lemmy instance and just post things with your Mastodon identity, and have everything show up without Mastodon having to know anything about Lemmy magazines or its special upvote / comment formats.
The actual centralization in ATProto lies in a combination of unfortunate design decisions and genuine friction in the self-hosted path. Being totally reliant on Bluesky is the happy path, self-hosting your PDS data is difficult but doable, and being totally independent of Bluesky is only possible if you do everything correctly right at the start.
First off, Bluesky doesn't offer any GUI tools for PDS migration. If you want to get off their PDS, you'll need to bust out command-line tools and possibly do some steps in advance of when you need to migrate in order for everything to work properly.
Second, even if you're on a PDS, you're still reliant on the Public Ledger of Credentials (PLC) to host your Distributed ID (DID) document. The PLC is run by Bluesky, although they've taken steps to make it easy to notice if they were to do something fucky with the PLC. But let's say we don't like that. There is a solution: you can host your DID document on a normal web server. Problem solved?
Well, if you were setting up an account for the first time, then yes, the problem is actually solved, you're 100% independent of Bluesky. But if you made the mistake of registering an account normally, you have a did:plc identity. And one core principle of ATProto is that identity names never ever ever change. So if you go and make a did:web identity, it's like having a second account, there is no way to tie your old did:plc identity into it. In fact, I'm pretty sure you can't even redirect one did:web identity to another (say if you need to switch domain names)
Regarding Bluesky's "independent protocol governance organization", they made the same promise about the PLC; but it hasn't actually been transferred yet. I would be a lot more bullish on ATProto if there was a way to migrate DIDs and retain all your followers and shit. And if there was proper graphical tools for data migration.
Half the point of ATProto is that identities are used across a host of apps, and therein lies a big vulnerability. If identities are not truly independent of centralized infrastructure, then you are vulnerable to losing access to a number of apps at once similar to Google services black hole if your Google account is banned (not to mentioned anywhere you've logged in with SSO).
It would be much better if the PLC was somehow decentralized itself. Barring that it should at least be finally spun out as the independent Swiss organization they've talked about for some time now. The organization could form a board with interested parties to set the future of PLC development if needed.
As for PDS migration, there are good options if you are migrating away from Bluesky. There are lots of GUI tools that work well now like https://pdsmoover.com/moover, Eurosky has https://move.eurosky.tech/, etc. It would be cool though if Bluesky actually linked to the other big PDS-providers on the Bluesky sign-up page to actually promote decentralization. But I guess it is hard to vouch for other services.
I still think the future of ATProto is bright, but there are definitely some obstacles before I'm comfortable with the whole setup. The network needs more decentralization in the PDS-layer, and the PLC needs to spin out in the separate governance organization pronto.
https://atproto.com/blog/plc-directory-org
How does IANA handle this with domain names? genuine question, i'm not sure. is it enough to have distinct registrars and distinct jurisdictions for some TLDs and so on?
IANA could stop publishing country TLDs in their root zone file but it would probably split the internet in two, and everyone involved knows that. Several root server operators would refuse the update, and many recursive resolver operators would put them back in.
This is getting much better recently. I migrated to https://eurosky.tech/accounts/ with no command line — just needed to wait for a wizard in my browser to move my records. It could've been much faster and seamless (the app was confused after this and I had to re-login), but it's definitely accessible to non-technical people, and the share of independent hosting is growing.
This is usually compared to Mastodon, but it's not apples to apples since "running a Mastodon instance" always mean a tiny partial view of the network. You can do a partial view of atproto too for the same cost, it's just not very interesting because what's the point? Every app can "see" the entire network (unlike in ActivityPub) so there's a lot less motivation to create these fragmented views into it.
I've already linked elsewhere, but I've written an article on precisely this topic, curious to see if this can clarify it for you: https://overreacted.io/there-are-no-instances-in-atproto/#so...
This is exactly where I’ve landed re: ATProto. If you actually want to self-host everything you lose one of the biggest draws of it, the migratable IDs.
I was looking into it to build an alternative to Threads/IG/TikTok for one of my hobby communities that’s become almost entirely reliant on Meta/Tencent. Being able to plug into the wider AT Proto world was a big draw, but not being able to self host a true alternative to did:plc has put a halt to that for now while I figure out what I want to do.
If Wsocial was on ActivityPub or Nostr nothing similar would have happened.
ATProto has serious centralisation problems, baked into the design. And it makes sense, considering it came out of a Twitter R&D experiment to "decentralise" Twitter itself. Pure federation was never part of the initial design.
ActivityPub and Nostr solve the issue already.
- many people wish they could control what they see and who they talk to. (Eg control the algorithm, avoid censorship from big tech)
- some people care about owning their data so it doesn’t go away when a company fails
- technical people are interested in building more types of social apps that aren’t just twitter posts etc
- nearly everyone just wants a fairly seamless experience without a lot of gotchas or technical problems to solve like self hosting an instance for your friends that falls over if too many people use it and is tricky to network with others.
Bluesky is trying to solve all those kinds of problems, which I think is pretty interesting, and I don’t think the others are quite doing the same thing technically. At the end of the day they are all pretty niche.
- content not in line with the political left is censored
- sure, you have your data in your PDS, but it is de-facto useless if the central identity server of Bluesky goes down
- ActivityPub and Nostr solve this already without being owned by a company
- you cannot easily and cheaply have an ATProto instance. AP and Nostr solve this already
What do you mean? Individual apps can choose to censor I guess, but you can fairly trivially run an AppView with no filtering whatsoever if that's what you fancy.
> - sure, you have your data in your PDS, but it is de-facto useless if the central identity server of Bluesky goes down
That's not correct. You can use plc, which Bluesky operates the largest directory for, but you can also use web, which completely bypasses Bluesky all together.
> - ActivityPub and Nostr solve this already without being owned by a company
What's 'this' here?
> - you cannot easily and cheaply have an ATProto instance. AP and Nostr solve this already
The terminology here of 'ATProto instance' doesn't really make sense. If you're talking about a PDS, you can use one of thousands of free PDS hosts, or host your own for free on Cloudflare (https://cirrus.earth/) or on your own hardware (there are PDS implementations which fit comfortably onto a Raspberry Pi, or an old phone, etc.)
On ActivityPub and Nostr you develop all kind of applications already, it is not only Twitter clones, but also Instagram clones, Reddit clones, on Nostr there is even the resurrected Vine (https://about.divine.video/).
And it is not trivial to switch from the Bluesky did:plc (which you cannot run in write-mode on your own and need to use the official Bluesky owned) to did:web, which you can run on your own.
If you just want to use ATProto for your own small app, there are ways to do it on more constrained hardware. The more usage it gets, the more it scales up.
> On ActivityPub and Nostr you develop all kind of applications already, it is not only Twitter clones, but also Instagram clones, Reddit clones, on Nostr there is even the resurrected Vine (https://about.divine.video/).
Same! You can explore the (unfortunately named, given the point I'm trying to make :)) 'Bluesky directory' to see apps which use ATProto: https://blueskydirectory.com
Note that most of these have nothing to do with Bluesky.
> And it is not trivial to switch from the Bluesky did:plc (which you cannot run in write-mode on your own and need to use the official Bluesky owned) to did:web, which you can run on your own
That's true, but it's not trivial to run your own Mastodon instance either...
Note those are not heavy requirements in any atproto-specific sense.
Running an atproto relay (at the current scale) is $30/month. If you're running a popular app, this is probably comparable with some of your SaaS subscriptions. Or you could use a community-run one or pool resources with other apps. Also, many atproto apps don't use a relay at all, and rely on a community cache like https://constellation.microcosm.blue/ instead.
Running an AppView is only as expensive as running any backend. "AppViews are expensive" is a myth extrapolated from "Running a copy of a Bluesky AppView is expensive", which is true because a Bluesky AppView is a backend server that's supposed to store and serve millions of posts. It would be expensive with any technology! Atproto isn't adding an extra tax here. Running a centralized service at the same scale would be equally expensive, and a Mastodon instance at that scale would simply not run.
If your AppView only serves your app's users (and has nothing to do with Bluesky), the cost is cheap or nonexistent. It's just a normal backend that listens to a websocket stream and writes some stuff to a database.
I don't mind the quasi-central nature of bsky, it's more of a problem that it's so heavily dominated by US politics.
Basically, because they didn't warn Bluesky that they were going live, they had their traffic heavily trottled and they were unable to function.
So long for decentralisation if you need to talk to the owner of the protocol you are trying to use...
The default rate limits are quite reasonable but big launches will blow past them so you gotta coordinate with someone.
And note that the relay federation/gossip agreements are largely manual configuration at the moment. Until someone pushes a proposal for an automated/dynamic topology management algorithm that doesn't get plagued with spam issues it'll stay this way.
You probably just don't notice it as a user or as the operator of a small instance which to be fair is exactly the same with atproto. Users rarely notice rate limits and small operators rarely do either. It's the operators of large services that see these limits and have to coordinate with other operators.
The issue with W social is that they have a chronic inability to coordinate or play nice with anyone else in the atproto space. Rate limits aren't a problem if you are a good neighbor and you know your neighbors but frankly they just don't.
I agree the default Discovery feed is not great, but you can just switch to a different feed like For You or the recent Eurosky version of it, called 'fu'. It vastly improves the experience.
The point is that without talking with Bluesky, you cannot start your own ATProto product or you'll get throttled from the network.
There are other relays and indexes out there that may have different rate limits. That’s just how these things work. The data from W is still there on their PDS, still public, still crawlable, and able to be backfilled within rate limits.
This is a non-issue.
Atsign, Inc. for this thing probably https://atsign.com/resources/white-papers/the-atprotocol/
These are the things that most startups account for when raising capital.
1. you choose a name for your product, start using it
2. you try registering it as your business starts to materialize
3. "oh shit we weren't the only ones who picked that name"