bluesky: Start compilation
This commit is contained in:
parent
5ac1e637fc
commit
bad56eb06a
8 changed files with 3980 additions and 0 deletions
BIN
Bluesky problems/Bluesky problems.en-book.pdf
Normal file
BIN
Bluesky problems/Bluesky problems.en-book.pdf
Normal file
Binary file not shown.
3636
Bluesky problems/Bluesky problems.en.pdf
Normal file
3636
Bluesky problems/Bluesky problems.en.pdf
Normal file
File diff suppressed because it is too large
Load diff
4
Bluesky problems/bluesky.svg
Normal file
4
Bluesky problems/bluesky.svg
Normal file
|
|
@ -0,0 +1,4 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<svg width="600" height="530" version="1.1" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<path d="m135.72 44.03c66.496 49.921 138.02 151.14 164.28 205.46 26.262-54.316 97.782-155.54 164.28-205.46 47.98-36.021 125.72-63.892 125.72 24.795 0 17.712-10.155 148.79-16.111 170.07-20.703 73.984-96.144 92.854-163.25 81.433 117.3 19.964 147.14 86.092 82.697 152.22-122.39 125.59-175.91-31.511-189.63-71.766-2.514-7.3797-3.6904-10.832-3.7077-7.8964-0.0174-2.9357-1.1937 0.51669-3.7077 7.8964-13.714 40.255-67.233 197.36-189.63 71.766-64.444-66.128-34.605-132.26 82.697-152.22-67.108 11.421-142.55-7.4491-163.25-81.433-5.9562-21.282-16.111-152.36-16.111-170.07 0-88.687 77.742-60.816 125.72-24.795z" fill="#1185fe"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 745 B |
BIN
Bluesky problems/bluesky_arch.png
Normal file
BIN
Bluesky problems/bluesky_arch.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 161 KiB |
45
Bluesky problems/build.sh
Executable file
45
Bluesky problems/build.sh
Executable file
|
|
@ -0,0 +1,45 @@
|
||||||
|
#! /usr/bin/env bash
|
||||||
|
|
||||||
|
basedir="$(dirname "$0")"
|
||||||
|
basedir="$(realpath "$basedir")"
|
||||||
|
cd "$basedir"
|
||||||
|
name="$(basename "$(pwd)")"
|
||||||
|
|
||||||
|
# Check if we want to run against a certain translation
|
||||||
|
if [ $# -lt 1 ]; then
|
||||||
|
echo "Please specify the language you want to build (eg. fr)"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
TARGETLANG="$1"
|
||||||
|
SOURCEFILE="main.${TARGETLANG}.typ"
|
||||||
|
TARGETFILE="$name".$TARGETLANG.pdf
|
||||||
|
TARGETFILEBOOK="$name".${TARGETLANG}-book.pdf
|
||||||
|
|
||||||
|
if ! typst compile --root .. ./"$SOURCEFILE" ./"$TARGETFILE"; then
|
||||||
|
echo "Failed to compile "$name"/"$SOURCEFILE". Please fix errors and run me again."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "Compiled read mode. Now compiling print mode."
|
||||||
|
|
||||||
|
if ! command -v pdfbook2; then
|
||||||
|
echo "ERROR: pdfbook2 not installed. Not compiling print mode."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
t="$(mktemp --suffix=.pdf)"
|
||||||
|
typst compile --input format=booklet --root .. ./"$SOURCEFILE" "$t"
|
||||||
|
|
||||||
|
# Need to be in the folder there for it to work, otherwise it
|
||||||
|
# tries to rename from current partition to /tmp which of course fails
|
||||||
|
parent="$(dirname "$t")"
|
||||||
|
newFileName="$(basename "$t" .pdf)-book.pdf"
|
||||||
|
newFile="$parent"/"$newFileName"
|
||||||
|
cd "$parent"
|
||||||
|
|
||||||
|
pdfbook2 --paper=a4paper "$t" --no-crop --outer-margin=0 --inner-margin=0 --top-margin=0 --bottom-margin=0
|
||||||
|
|
||||||
|
cd "$basedir"
|
||||||
|
cp "$newFile" "$TARGETFILEBOOK"
|
||||||
|
echo "Booklet available in $TARGETFILEBOOK"
|
||||||
BIN
Bluesky problems/decentralization.jpg
Normal file
BIN
Bluesky problems/decentralization.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 335 KiB |
25
Bluesky problems/dev.sh
Executable file
25
Bluesky problems/dev.sh
Executable file
|
|
@ -0,0 +1,25 @@
|
||||||
|
#! /usr/bin/env bash
|
||||||
|
|
||||||
|
cd "$(dirname "$0")"
|
||||||
|
name="$(basename "$(pwd)")"
|
||||||
|
|
||||||
|
# Check if we want to run against a certain translation
|
||||||
|
if [ $# -lt 1 ]; then
|
||||||
|
echo "Please specify the language you want to build (eg. fr)"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
TARGETLANG="$1"
|
||||||
|
SOURCEFILE="main.${TARGETLANG}.typ"
|
||||||
|
|
||||||
|
|
||||||
|
t="$(mktemp --suffix=.pdf)"
|
||||||
|
if ! typst compile --root .. ./"$SOURCEFILE" "$t"; then
|
||||||
|
echo "Failed to compile $name/"$SOURCEFILE". Please fix errors and run me again."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "Initial compilation successful. Now starting watch mode. Opening $t"
|
||||||
|
xdg-open "$t"
|
||||||
|
|
||||||
|
typst watch --root .. ./"$SOURCEFILE" "$t"
|
||||||
270
Bluesky problems/main.en.typ
Normal file
270
Bluesky problems/main.en.typ
Normal file
|
|
@ -0,0 +1,270 @@
|
||||||
|
// Default margin for readability
|
||||||
|
#set page(
|
||||||
|
margin: (inside: 1.5cm, outside: 1.5cm),
|
||||||
|
)
|
||||||
|
#set quote(
|
||||||
|
block: true,
|
||||||
|
)
|
||||||
|
#show quote: set text(
|
||||||
|
style: "italic",
|
||||||
|
)
|
||||||
|
// If input format == "booklet", we alternate
|
||||||
|
// margins for print format. Otherwise, we set
|
||||||
|
// equivalent margins on both sides.
|
||||||
|
#set page(
|
||||||
|
margin: (inside: 2cm, outside: 1cm),
|
||||||
|
) if "format" in sys.inputs and sys.inputs.format == "booklet"
|
||||||
|
|
||||||
|
#set page(
|
||||||
|
paper: "a4",
|
||||||
|
)
|
||||||
|
#set text(
|
||||||
|
font: "DejaVu Sans",
|
||||||
|
size: 15.7pt,
|
||||||
|
)
|
||||||
|
#set par(justify: true)
|
||||||
|
|
||||||
|
#align(
|
||||||
|
center,
|
||||||
|
text(
|
||||||
|
size: 48pt,
|
||||||
|
// font: "Communard",
|
||||||
|
[ = Bluesky problems ]
|
||||||
|
) + text(
|
||||||
|
size: 19pt,
|
||||||
|
[ = What Silicon Valley won't tell you ],
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
|
#align(
|
||||||
|
center + horizon,
|
||||||
|
image(height: 50%, "bluesky.svg"),
|
||||||
|
),
|
||||||
|
|
||||||
|
#align(
|
||||||
|
center + bottom,
|
||||||
|
[ *Multiple authors - 2025-2026* ],
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
#pagebreak()
|
||||||
|
|
||||||
|
#show heading.where(level: 2): set block(above: 1.5em, below: 1.5em)
|
||||||
|
#set page(
|
||||||
|
numbering: "1",
|
||||||
|
)
|
||||||
|
|
||||||
|
= Be Wary of Bluesky
|
||||||
|
|
||||||
|
_Kevin Åberg Kultalahti (February 21 2026) on kevinak.se_
|
||||||
|
|
||||||
|
In 2023, Bluesky's CTO Paul Frazee was asked what would happen if Bluesky ever turned against its users. His answer:
|
||||||
|
|
||||||
|
#quote("it would look something like this: bluesky has gone evil. there's a new alternative called freesky that people are rushing to. I'm switching to freesky")
|
||||||
|
|
||||||
|
*That's the same argument people made about Twitter.* "If it goes bad, we'll just leave." We know how that played out.
|
||||||
|
|
||||||
|
== The promise
|
||||||
|
|
||||||
|
Bluesky is built on ATProto, an open protocol. The pitch is simple: your data is yours, your identity is yours, and if you don't like what Bluesky is doing, you can take everything and leave. Apps like Tangled (git hosting), Grain (photos), and Leaflet (publishing) all plug into the same protocol. One account, many apps, no lock-in.
|
||||||
|
|
||||||
|
It sounds great. But look closer.
|
||||||
|
|
||||||
|
== Where your data actually lives
|
||||||
|
|
||||||
|
When you use any ATProto app, it writes data to your Personal Data Server, or PDS. Your Bluesky posts, your Tangled issues, your Leaflet publications, your Grain photos. All of it goes to the same place.
|
||||||
|
|
||||||
|
*For almost every user, that place is a server run by Bluesky.*
|
||||||
|
|
||||||
|
You can self-host a PDS. Almost nobody does. Why would they? Bluesky's PDS works out of the box with every app, zero setup, zero maintenance. Self-hosting means running a server, keeping it online, and gaining nothing in return.
|
||||||
|
|
||||||
|
To be fair, migration tools exist. You can move your account to a self-hosted PDS for as little as \$5 a month. Bluesky has made this easier over time and even supports moving back. But this only works if you do it before the door closes. If an acquirer disables exports, it doesn't matter that the tools existed yesterday. And we know from every platform transition in history that almost nobody takes proactive steps to protect their data.
|
||||||
|
|
||||||
|
== The flywheel
|
||||||
|
|
||||||
|
Here's the part that worries me.
|
||||||
|
|
||||||
|
Every new ATProto app makes this problem worse, not better. Each app tells you "sign in with your Bluesky account", which really means "write more data to Bluesky's servers." The more apps that launch, the more users depend on Bluesky's infrastructure, the less reason anyone has to leave.
|
||||||
|
|
||||||
|
*The protocol doesn't distribute value across the network. It concentrates it.* Developers are building features on top of Bluesky's infrastructure for free, making it more indispensable with every app that ships.
|
||||||
|
|
||||||
|
And Bluesky gets to claim the moral high ground the whole time. "We're open! We're decentralized! You can leave whenever you want!" Meanwhile, the switching cost goes up every day.
|
||||||
|
|
||||||
|
== The chokepoints
|
||||||
|
|
||||||
|
It's not just the PDS. Bluesky controls almost every critical layer:
|
||||||
|
|
||||||
|
*The Relay.* All data flows through it. Bluesky runs the dominant one. Whoever controls the relay controls what gets seen, hidden, or deprioritized. Third parties can run their own, but without the users, it doesn't matter.
|
||||||
|
|
||||||
|
*The AppView.* This is what assembles your timeline, threads, and notifications. Bluesky runs the main one. If it goes down or goes hostile, every client that depends on it breaks.
|
||||||
|
|
||||||
|
*The DID Directory.* Your identity on ATProto resolves through a centralized directory run by Bluesky. They've called it a "placeholder" since 2023 and said they plan to decentralize it. There's still no timeline.
|
||||||
|
|
||||||
|
*At every layer, the answer is "anyone can run their own." At every layer, almost nobody does.*
|
||||||
|
|
||||||
|
== The Gmail problem
|
||||||
|
|
||||||
|
Email is an open, federated protocol. Anyone can run a mail server. In practice, running your own mail server is painful and everyone just uses Gmail. The protocol being "open" didn't prevent centralization.
|
||||||
|
|
||||||
|
ATProto might be worse. With email, at least each app connects to your own server. With ATProto, each new app adds more data to the same centralized PDS. The open protocol is actually a centralization flywheel.
|
||||||
|
|
||||||
|
== What happens in an acquisition
|
||||||
|
|
||||||
|
Say someone buys Bluesky. They now control:
|
||||||
|
|
||||||
|
- The PDS for nearly every user
|
||||||
|
- The main relay
|
||||||
|
- The main AppView
|
||||||
|
- The DID directory that resolves every identity
|
||||||
|
|
||||||
|
They could disable data export. They could cut off third-party apps. They could shut down federation. They could insert ads, shadow ban users, deprioritize content.
|
||||||
|
|
||||||
|
And the blast radius isn't just Bluesky the social network. It's every app in the ecosystem. Your git issues on Tangled, your posts on Leaflet, your photos on Grain. All stored on infrastructure now controlled by the acquirer.
|
||||||
|
|
||||||
|
*The protocol says you can leave. But the company that just paid billions for the network has no incentive to let you.*
|
||||||
|
|
||||||
|
I like Bluesky. I use Bluesky. The team seems to genuinely care.
|
||||||
|
|
||||||
|
But every counter-argument to the concerns above rests on the same foundation: technically, users can leave. Technically, you can self-host. Technically, you can run your own relay. The capability exists at every layer. But people don't do these things. They never have with any protocol. Not email, not RSS, not XMPP. *The default wins. Always.*
|
||||||
|
|
||||||
|
And then there's the money. You don't raise \$120M at a \$700M valuation to run a public utility. Those investors need a return. That return comes from monetizing users, getting acquired, or going public. All three create pressure to consolidate control, not distribute it. A truly decentralized network where users can freely leave is worth less to an acquirer than one where they can't.
|
||||||
|
|
||||||
|
The PBC structure is supposed to be the safeguard. But PBC obligations are vague and untested in court. When \$120M in VC money is on one side of the balance, guess which way it tips.
|
||||||
|
|
||||||
|
*The protocol can't save you from incentives.*
|
||||||
|
|
||||||
|
#pagebreak()
|
||||||
|
|
||||||
|
= User ban controversy reveals Bluesky’s decentralized aspiration isn’t reality
|
||||||
|
|
||||||
|
_Matthew Sheffield (October 7 2025) on plus.flux.community_
|
||||||
|
|
||||||
|
When it launched in 2023 in private beta, Bluesky was pitched as a different kind of social network, one that placed openness and user-friendliness at its core. It came along at just the right moment as Elon Musk’s purchase and takeover of Twitter led millions of users head toward any type of exit.
|
||||||
|
|
||||||
|
The initial destination for many was Mastodon, but its Linux geek ethos and system of numerous “federated” servers that communicate via the open-source ActivityPub protocol proved to be too complicated for people who just wanted to crack jokes. Acting on the opportunity, Bluesky opened up to the public in February 2024 and saw a rapid influx of users.
|
||||||
|
|
||||||
|
Besides being easier to sign up and use than Mastodon, Bluesky offered a different approach to content moderation that was more flexible and user-driven. In addition to making its software source code available under open licenses, Bluesky wanted to put moderation decisions in the hands of its users, encouraging them to make lists of accounts that could be automatically blocked or labeled—and thereby removing itself as much as possible from moderation decisions that have plagued discussion group administrators since the days of Usenet newsgroups.
|
||||||
|
|
||||||
|
Millions of people flooded in after Bluesky opened its doors to the public. By November of 2024, there were nearly 1.5 million daily posters, most of them anti-Musk Twitter refugees who were eager to get away from Musk’s right-wing makeover of the site into X.
|
||||||
|
|
||||||
|
However, as time has gone by, Bluesky’s traffic has declined (X’s has as well) and some of its users have become increasingly upset at its moderation decisions, including allowing U.S. Vice President J.D. Vance and anti-trans writer Jesse Singal to remain as users of the platform. Singal became a particular target, prompting a petition with more than 28,000 signatures urging Bluesky to “enforce its Community Guidelines” against him that has not been successful, although he has been temporarily banned.
|
||||||
|
|
||||||
|
Accusations of indifference to anti-trans bigotry seem to have exacerbated some users’ frustrations with the platform for its alleged tolerance of racist content. In 2023, many launched a “posting strike” after they discovered that Bluesky allowed people to sign up for user names containing racial slurs, a policy the company quickly reversed and apologized for.
|
||||||
|
|
||||||
|
The labeling feature of Bluesky has been more positively regarded, with many people subscribing to lists to label or block Trump supporters, Singal, and other widely disliked journalists. But things have not been perfect. Several users have complained about being added to libelously named lists, while others have complained that stalkers have added them to numerous lists out of revenge. Trying to balance concerns between legitimate blocklist maintainers and victims of false accusations, Bluesky unveiled a series of changes to its terms of service which brought it more in line with other social platforms, but also sparked controversy because now users can get blocklists hidden by reporting on them.
|
||||||
|
|
||||||
|
The failure of the Singal ban effort has also continued to grate on Bluesky’s most persistent critics, and the site’s executives have been met with many critical and often off-topic replies and quote posts.
|
||||||
|
|
||||||
|
#line()
|
||||||
|
|
||||||
|
While Bluesky has been navigating user concerns, its engineering team has been moving ahead with its long-promised open source efforts, breaking up its software stack into several pieces to enable a federated Authenticated Transfer Protocol (ATProto) network where anyone with the know-how and funds could run their own copy of Bluesky.
|
||||||
|
|
||||||
|
#image("bluesky_arch.png")
|
||||||
|
|
||||||
|
There are several key pieces of code that combine to make the Bluesky network function: A personal data server (PDS) which hosts the official/canonical copies of its users’ posts and profile information. Whenever it’s updated, the data is combined and sent to a Relay server, which combines and indexes posts from many different PDSes to create what social networks call the “firehose,” the collection of all posts made on the network.
|
||||||
|
|
||||||
|
The firehose data is imported by a labeler program which categorizes it in various ways set up by users, the processed data is combined together by an application server (or AppViews as they’re called for now in Bluesky). When a user logs into their PDS and pushes “refresh,” their local app connects to the PDS’s designated feed generator which serves up a cached version of the accounts they follow.
|
||||||
|
|
||||||
|
While the ATProto system has been criticized as overly complicated compared to the ActivityPub system that powers the Fediverse, it has one key feature that ActivityPub lacks: the ability to transfer servers while keeping all of your followers and posts.
|
||||||
|
|
||||||
|
Due to the complexity of the Bluesky software stack, whether its federation model actually works in practice has not really been put to the test. While ActivityPub has several instances with millions of users (like Facebook Threads, Flipboard, and even Donald Trump’s Truth Social), it also has many much smaller ones run by small organizations and individuals.
|
||||||
|
|
||||||
|
As of this writing, however, the only completely independent implementation of ATProto is Bluesky. But that isn’t for want of trying on the part of Rudy Fraser, the creator of Blacksky, an alternative service that he unveiled in May of 2023 in response to Black American users’ complaints about Bluesky’s moderation policies.
|
||||||
|
|
||||||
|
Despite Fraser’s efforts to implement his own PDS, Relay, and App View, however, Blacksky still remains partially dependent upon Bluesky’s application server, largely because while the code to implement the dataplane of posts and users within an application server is released, the open-source version is slower. As a result, Blacksky is dependent on Bluesky’s application server to give users a fast experience, which also means that it is dependent on Bluesky’s labeling system and its moderation choices.
|
||||||
|
|
||||||
|
The labeling software, called Ozone, also has issues, according to Bluesky engineer Bryan Newbold.
|
||||||
|
|
||||||
|
“Making it easier to run moderation services is something we want to do. we invested a lot of time and effort in Ozone, but have not been able to focus on making it usable/accessible for independent folks,” he wrote in an Oct. 3 post, adding that “we are looking at funding folks to fork or re-implement it for community use-case.”
|
||||||
|
|
||||||
|
This limitation is likely to be another reason why Blacksky relies on Bluesky’s AppView. Without it, Blacksky’s independent moderators couldn’t actually perform their task. (Fraser did not respond to repeated attempts to contact him for comment.)
|
||||||
|
|
||||||
|
Blacksky’s continued dependency on Bluesky came into focus on Sunday after a Blacksky user going by the handle Link suddenly found himself unable to view his own posts on the alternative site.
|
||||||
|
|
||||||
|
“My account was taken down without any explanation for almost a full day,” Link told me in a Signal message, showing me a screenshot indicating that he had been banned even as his Blacksky account remained capable of viewing others’ posts and changing preferences. Unbeknownst to him, Link’s account had been banned by Bluesky’s moderators and this meant that even though he was in good standing at Blacksky, no one there, including himself, was able to read his posts. (They are visible within the ATProto firehose feed, however, as several sharp-eyed users soon discovered.)
|
||||||
|
|
||||||
|
Link’s banning came at a very bad moment for Bluesky, just weeks after it had banned or suspended several users following the Sept. 10 murder of far-right activist Charlie Kirk, which many Republican officials have sought to use as a tool for government censorship.
|
||||||
|
|
||||||
|
Federal Communications Commission Brendan Carr’s threats against late night comedian Jimmy Kimmel led to his temporary suspension by ABC, and he was far from the only Republican to issue them. Louisiana Rep. Clay Higgins, chair of the House subcommittee on federal law enforcement, sent a menacing letter to Bluesky and other social media networks demanding that they identify and ban anyone deemed to be celebrating Kirk’s killing.
|
||||||
|
|
||||||
|
“The authors of these posts are to be identified and banned from your platform, as well as any new pages they may create,” he wrote. “The reasonable restriction of public statements that lie far beyond the standards of our own society is not an oppression of free speech, it is, rather, the protection of free speech.”
|
||||||
|
|
||||||
|
There’s no proof that Higgins’s threats against social media platforms led to Bluesky banning anyone, but in any case, more than a few users were permanently or temporarily banned for mocking Kirk’s death, including horror author Gretchen Felker-Martin.
|
||||||
|
|
||||||
|
The fallout from the Kirk controversies and the months of replies seems to have irked Bluesky CEO Jay Graber, and she began pushing back on the user complaints. On Oct. 1, she approvingly quoted a user who had referenced the famous pancakes-waffle Twitter meme about how liking pancakes doesn’t mean disliking waffles, adding: “Too real. We’re going to try to fix this. Social media doesn’t have to be this way.”
|
||||||
|
|
||||||
|
Graber’s post was soon met by a reply asking if she’d banned Singal yet, prompting her to respond in all-caps: “WAFFLES.”
|
||||||
|
|
||||||
|
The next day, Thursday, Graber returned to her theme, posting a photograph of a berry-covered waffle, accompanied with the caption: “Amazing breakfast this morning. I love waffles.”
|
||||||
|
|
||||||
|
As might be expected, Graber’s trolling was not taken well by her critics. The waffles post received more than 1,700 replies, including many mocking her as a Musk-like figure.
|
||||||
|
|
||||||
|
On Friday, Graber turned more serious in her pushback: “Harassing the mods into banning someone has never worked. And harassing people in general has never changed their minds,” she wrote, adding later that: “Yet it’s a behavior that persists across social media anyway, with negative consequences for civil discourse and society. Human nature is a contributing factor, but systems that reward outrage only make the problem worse.”
|
||||||
|
|
||||||
|
Among the more than 100 people who quoted Graber’s post that day was Link. He posted a photo of Kirk which he accompanied with descriptive text that read: “Charlie Kirk sitting in a white T-shirt that says freedom. A negative consequence follows.”
|
||||||
|
|
||||||
|
Link made a number of other posts after to that one, but on Sunday his Blacksky account stopped working. After receiving no contact from either Blacksky or Bluesky, Link messaged Bluesky’s moderation team and received an email about 3 hours later saying that he had violated the social network’s community guidelines in his quote of Graber days earlier, presumably its policies against “threats or encouragement of violence.”
|
||||||
|
|
||||||
|
That is not how Link sees his post.
|
||||||
|
|
||||||
|
“I want to be extremely clear I was not making a death threat or inciting violence,” he told me, saying that he had sent 12 separate examples of other people posting the same Kirk image as a reaction meme. “I don’t wish death on Jay, I wish for her and her team to grow a conscience. I disagree with the decision and how it was handled. My account was taken down without any explanation for almost a full day in what can only be viewed as a retroactive ban.”
|
||||||
|
|
||||||
|
I’ve asked Bluesky whether the post had been reported as a violation by other users. I will update this story if I receive a response. Rudy Fraser, the Blacksky administrator has not responded to a request for comment.
|
||||||
|
|
||||||
|
Asked about why Link had to contact Bluesky to find out what had happened to his account rather than receiving a notice, Paul Frazee, the service’s CTO, said that it was “unfortunate,” and that Bluesky needed to finish adding a feature to let users of external PDSes know if they have been banned by Bluesky labelers.
|
||||||
|
|
||||||
|
#line()
|
||||||
|
|
||||||
|
Agree or disagree on whether Bluesky has treated Link fairly, the incident has exposed that the social network’s decentralization plans have yet to be fulfilled. Blacksky seems to be the furthest-along alternative ATProto implementation, but it’s still dependent on Bluesky. There’s another one called Northsky Social, but it has not launched any services yet. And while there are several alternative AppViews such as Deer.social, there does not seem to be any service (or combination of services) that can function as a full-stack implementation of ATProto.
|
||||||
|
|
||||||
|
This might explain why, despite having a network of nearly 40 million users, no situation like Link’s banning seems to have happened during Bluesky’s very short lifespan.
|
||||||
|
|
||||||
|
The episode has sent more than a few Bluesky users to start wondering whether the snow-covered grass on Mastodon’s side of the road is worth considering.
|
||||||
|
|
||||||
|
But not everyone is looking forward to the idea: “I’d go back to Usenet before I went back to Mastodon,” wrote Bluesky user Count Von Horse Knuckler. “I do not need people yelling at me for not putting cat pictures behind trigger warnings or unwanted Linux advice.”
|
||||||
|
|
||||||
|
Help may be on the horizon, however. As developers are becoming more aware of the power of ATProto, they are building increasingly complex projects on it, including a promising service called Slices, which aims to make it easy to build and deploy custom AppViews, a feature Blacksky and other Bluesky alternatives could certainly use. Bluesky execs have said they are working hard to make federation easier.
|
||||||
|
|
||||||
|
Meanwhile, Link is caught in limbo.
|
||||||
|
|
||||||
|
“Now my account is not viewable on either Blacksky or Bluesky,” he notes. “I’m fortunate that I moved over to Blacksky and I think that is the only reason I still have access to my account and data…Bluesky claims to want decentralization and composable moderation, but they still enjoy abusing the power of arbitrary banishment.”
|
||||||
|
|
||||||
|
#pagebreak()
|
||||||
|
|
||||||
|
= Decentralization stats
|
||||||
|
|
||||||
|
\
|
||||||
|
There are several ways to measure how centralized a network is. Check out https://arewedecentralizedyet.org/ for more information. Here's a screenshot of the website, showing how decentralized the Fediverse is, compared to the ATmosphere (taken September 12 2026).
|
||||||
|
\
|
||||||
|
|
||||||
|
#align(
|
||||||
|
center,
|
||||||
|
image("decentralization.jpg")
|
||||||
|
)
|
||||||
|
|
||||||
|
#pagebreak()
|
||||||
|
|
||||||
|
#set page(
|
||||||
|
numbering: none,
|
||||||
|
)
|
||||||
|
|
||||||
|
#align(
|
||||||
|
center + horizon,
|
||||||
|
block(
|
||||||
|
height: 50%,
|
||||||
|
width: 80%,
|
||||||
|
[
|
||||||
|
= Is Bluesky decentralized?
|
||||||
|
\
|
||||||
|
|
||||||
|
This compilation of text outlines some of the problems with Bluesky, Jack Dorsey's latest startup.
|
||||||
|
|
||||||
|
While advertised as a decentralized platform, how decentralized is it in practice? Who controls the network? And who benefits from making users believe they are in control?
|
||||||
|
]
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
|
#align(
|
||||||
|
center + bottom,
|
||||||
|
image("../resources/noslop.svg"),
|
||||||
|
)
|
||||||
Loading…
Reference in a new issue