impertinence: (Default)
impertinence ([personal profile] impertinence) wrote2018-12-08 08:49 pm

Federation and Fandom

Fandom is, once again, in flux. Anyone who's been around for more than a few years knows the signs have been building: deleted accounts and new terms of service, followed by talk of moving elsewhere, fracturing communities over multiple platforms, sometimes breaking communities entirely. It's a common pattern a lot of us have come to see as an inevitability, just something that happens every five or ten years. But of course there is a cost, archival as well as communal. That chatfic you loved gets deleted. The old homepage of your favorite vidder goes down. Entire fandoms' discussions disappear forever.

We've all been there at least once, Or we're about to be there, because again: it's happening with Tumblr. People won't all leave at once. The demise of LJ was measured in years, not days. But eventually, even if it's still up, it won't be what it was. Content will slowly degrade - image hosting, external links, even the posts themselves deleted due to inactivity or changes in management. Link rot, in other words.

So. It's happening. What can be done about it?

There have been a lot of really good discussions so far. Consensus so far appears to be some combination of the following: the new platform must allow photo/text/video sharing as well as conversations; the new platform must allow NSFW content and have robust filtering; the new platform must be resistant to the kind of profit-driven vicissitudinous behavior most tech companies embrace.

I agree with all of this. I also agree with the problem statement, which I've seen repeated again and again, that fandom should be more distributed - that no single (especially not corporate-owned) social network should be the point of failure.

So. Let's talk about server federation.

The most well-known federated technology right now is probably Mastadon. In simple terms, Mastadon is a Twitter-like social network. However, one huge difference between it and Twitter is federation.

What is federation? Well, once upon a time, the internet was much more distributed. One of the backbones of that distribution was mailing lists - which were email-based. Imagine a world where you can only send emails to other Gmail users! That's basically how Twitter functions right now. Email, fortunately, is protocol-based; any technology that uses the protocol can send and receive emails. What matters for communication is the protocol, not the website or brand or company or framework. Federated social networks, wikis, and media hosting aims to bring that pattern back.

Under the hood, Mastadon implements protocols like ActivityPub to exchange information. These protocols are standardized so that different Mastadon servers can replicate data, and so that different platforms can communicate and exchange data. What this means in practical terms is that the following scenarios are possible:

- On Mastadon.one, A makes a post. On Mastadon.two, B enters "UserA@Mastadon.one" in the search bar. B then follows A, and can see user A's posts, even though they are on totally different servers run by completely different people.
- On Mastadon.one, A follows UserB@Hubzilla.two. Hubzilla is a totally different, Tumblr-esque platform. But because Hubzilla also implements the ActivityPub protocol, A can see B's posts in A's Mastadon feed.
- A is on Mastadon.one. On Mastadon.one, NSFW content is required to be flagged. B is on Mastadon.two. There are no content controls on Mastadon.two. Despite very different priorities and values, A can still follow B and vice versa, while remaining within their own communities.

This sort of setup is also fairly future-proofed: what matters is the protocol. You don't have to worry about someone's hobby framework going under, for example. Hubzilla takes this idea one step further and implements what they call "nomadic identity". The basic idea is that you can log into different Hubzilla servers with the same credentials, and each account is equivalent, so even if your original account dies, your identity persists on all other servers.

Federation would solve a lot of fandom's current problems. For starters, there is a huge variety of roll-your-own federated services out there. There's Peertube, which is focused on video hosting; Pixelfed, focused on image hosting; Mastadon and other microblogging frameworks; Friendica and Osana, which are focused on social networking; Hubzilla, which is focused on all-purpose social networking, file storage, and wiki management; and Nextcloud, which is focused on file storage. This network of frameworks is incredibly powerful, and some of them are very easy to set up. I've run a Nextcloud instance for several years. It has my calendar, my files, a chat platform, an audio streamer, a Trello-esque project management app, and an e-reader. Hubzilla can be used as a wiki, a forum, a personal blog, a Reddit-esque community, or some unholy combination of all of the above. All of these platforms can communicate within separate instances of the same framework (Nextcloud to Nextcloud, or Friendica to Friendica), and many can communicate between frameworks too.

So: there are frameworks to do basically every fannish activity you could imagine, and a few of them even encompass Tumblr's functionality. But also, because these frameworks were built by privacy-focused nerds, there are often a LOT of privacy and filtering controls. The idea behind federated communities is partially that even groups of decent people aren't always going to get along, and a group of 100k+ people is likely to be incredibly hard to manage and no longer a true community. Federation gives you the ability to exist in online communities without being completely isolated from one another. Mastadon takes this idea so far that it shows health as green/yellow/red, with larger instances being less healthy.

Federation allows for data replication, so that data's more resistant to takedowns. All of the above frameworks are open source, which means that fandom-specific extensions can be built without having to build the whole framework. Fandom has tons of technologically capable people who'd be capable of installing instances, and tons of data science people who could help ensure they don't disappear.

I would strongly suggest everyone look at federated frameworks, maybe play with getting them set up if you already have a server. This would be a brilliant and relatively quick way to get people onto independent platforms. Corporations' websites are often nicer, because they pay people to make them look shiny and new. Those salaries come from you, come from us. Ad revenue, subscription, angel investment, it doesn't matter; eventually, some C-suite douche will look at all our wonderful weirdness and ask why they can't pull in influencers instead. We know we need to get out ahead of that garbage; that's why AO3 exists. My proposal is we build on that by joining the ranks of people who know decentralization is the answer to passionate, fractious communities staying together. It's time for fandom to join the fediverse.
cesperanza: (!=UGC)

[personal profile] cesperanza 2018-12-09 08:37 pm (UTC)(link)
THIS THIS THIS THIS THIS THIS. Also: THIS. And in conclusion: THIS.
norsellie: (approved)

[personal profile] norsellie 2018-12-09 08:51 pm (UTC)(link)
OMFG YES.
ithiliana: (Default)

[personal profile] ithiliana 2018-12-09 09:35 pm (UTC)(link)
Here from a link in [personal profile] cesperanza's journal. I'm fascinated by this whole new (to me!) technology and possibilities of fandom (though right now, it's zooming way over my head)!

(no subject)

[personal profile] ithiliana - 2018-12-09 21:44 (UTC) - Expand

(no subject)

[personal profile] ithiliana - 2018-12-09 23:53 (UTC) - Expand
vaysh: (Default)

[personal profile] vaysh 2018-12-09 09:38 pm (UTC)(link)
I'm here as well from Speranza's journal. I am equal parts intrigued and overwhelmed by the concept of federations. Can you explain, to a layperson, what "instances" are? Thank you!

ithiliana: (Default)

[personal profile] ithiliana 2018-12-09 09:45 pm (UTC)(link)
Am with you in the "intrigued and overwhelmed" corner!

(no subject)

[personal profile] vaysh - 2018-12-09 21:49 (UTC) - Expand

(no subject)

[personal profile] vaysh - 2018-12-09 21:53 (UTC) - Expand

(no subject)

[personal profile] vaysh - 2018-12-09 21:58 (UTC) - Expand

(no subject)

[personal profile] vaysh - 2018-12-09 22:10 (UTC) - Expand
raine: (Leverage: Eliot Spencer Tech Support)

[personal profile] raine 2018-12-09 10:04 pm (UTC)(link)
I'm having serious flashbacks to the days of BBSes and private BBSes now - but yes, this has to be the best way forward, given the tech we have now.

Honestly, I don't think it matters which highway we use as long as we'll all in the same mall together to see the movie.
peoriapeoriawhereart: very British officer in sweater (Brigader gets the job done)

[personal profile] peoriapeoriawhereart 2018-12-10 12:27 am (UTC)(link)
So, I'm understanding this as a capital (servers) and labor collaboration, where it's not who has the most toys wins, because having too many users in the same instance gives you the sad plant red condition.

From Arpanet to a network of Walters.

(no subject)

[personal profile] peoriapeoriawhereart - 2018-12-10 01:18 (UTC) - Expand
havocthecat: the lady of shalott (Default)

[personal profile] havocthecat 2018-12-10 08:37 pm (UTC)(link)
I would strongly suggest everyone look at federated frameworks, maybe play with getting them set up if you already have a server.

What would you suggest for people who can't program worth a damn?

(no subject)

[personal profile] nenya_kanadka - 2018-12-11 00:06 (UTC) - Expand

(no subject)

[personal profile] peoriapeoriawhereart - 2019-02-02 16:37 (UTC) - Expand

(no subject)

[personal profile] peoriapeoriawhereart - 2019-02-02 17:11 (UTC) - Expand

(no subject)

[personal profile] peoriapeoriawhereart - 2019-02-02 17:33 (UTC) - Expand

(no subject)

[personal profile] peoriapeoriawhereart - 2019-02-02 17:44 (UTC) - Expand

(no subject)

[personal profile] peoriapeoriawhereart - 2019-02-02 17:51 (UTC) - Expand

(no subject)

[personal profile] peoriapeoriawhereart - 2019-02-02 18:04 (UTC) - Expand

(no subject)

[personal profile] peoriapeoriawhereart - 2019-02-02 18:16 (UTC) - Expand

(no subject)

[personal profile] peoriapeoriawhereart - 2019-02-02 18:29 (UTC) - Expand

(no subject)

[personal profile] peoriapeoriawhereart - 2019-02-02 18:39 (UTC) - Expand

(no subject)

[personal profile] peoriapeoriawhereart - 2019-02-02 18:48 (UTC) - Expand

(no subject)

[personal profile] peoriapeoriawhereart - 2019-02-02 19:25 (UTC) - Expand

(no subject)

[personal profile] peoriapeoriawhereart - 2019-02-02 19:36 (UTC) - Expand
lurkmuch: (Default)

[personal profile] lurkmuch 2018-12-10 11:52 pm (UTC)(link)
Thank you so much explaining all this, it's fascinating! (I'm so tempted to play around with both of them if only I didn't have holiday-related crap to do.)

One question, if I may? (And I bet the answer is "it depends".) How much hardware do you need to run an instance? Or maybe more accurately...how much could I host with say, a Raspberry Pi? Or my 3 year old Macbook?
tei: Rabbit from the Garden of Earthly Delights (Default)

[personal profile] tei 2018-12-11 02:56 am (UTC)(link)
Here via [personal profile] yourlibrarian! This is super interesting, and I had no idea about any of this stuff before reading it, but it certainly sounds like a better bet than handing over fandom to any one website.

I have a bunch of questions, feel free to answer only some (or none) of them!

1. If I'm understanding correctly, it sounds like basically anyone can st up an instance, and have as many or as few people as they like on it. If that's the case, I'm assuming that there are a lot of instances that get abandoned or shut down when the people running them no longer want to keep doing it? When that happens, what are the options for users of that instance? Is it easy to just move your data over to another one that'll have you? I guess this will probably come up lots even in cases where an instance isn't actually shutting down... if I started using one of the open-to-anyone instances on Mastodon right now, and then wanted to move my existing data to a fandom-specific instance later, would that be easy?

2. I'm also curious if you have opinions on how instances should be organized, if fandom in general did start moving to a federated system. If an instance is just a bunch of data all stored in one place, it seems to me that tolerance to various levels of adult content would be the logical defining factor between instances-- is that how you see it? Or would there be an advantage to fandom- or ship-specific instances?

3. Is it possible for sites that already exit-- like DW and the AO3- to "turn themselves into" federated frameworks? Or is the difference between federated and non-federated social media fundamental enough that they're "stuck" even if fandom moves on to federated frameworks and comes to expect that functionality from our tools?

4. What do you (or anyone else here who is knowledgeable about this!) think needs to happen to get from where we are to fandom in general using primarily federated social media? From your description of hubzilla, it sounds like it's ugly and difficult to use but essentially workable as it stands as a replacement for tumblr-- is that so?

Thank you so much for this post!

(no subject)

[personal profile] tei - 2018-12-11 06:03 (UTC) - Expand
morgandawn: (Default)

[personal profile] morgandawn 2018-12-11 04:35 am (UTC)(link)
Yes, I tested out a PeerTube instance for fanvids. QueerTube (obviously we'd need to run our own).
https://queertube.org/video-channels/meedee_channel/videos

My question: since many of us have band-width caps (ex I am limited to 1TB up and down a month), what type of bandwidth load would someone need if they are considering hosting a server?

(no subject)

[personal profile] morgandawn - 2018-12-11 06:03 (UTC) - Expand

(no subject)

[personal profile] morgandawn - 2018-12-11 06:17 (UTC) - Expand

(no subject)

[personal profile] morgandawn - 2018-12-11 06:31 (UTC) - Expand
cassini: lightly animated pixel art of the pleiades star cluster (pleiades)

[personal profile] cassini 2018-12-11 12:39 pm (UTC)(link)
[here via fortutious tumblr reblog

fascinating stuff, not practical to me right now but surely very useful to the future of fandom beyond users like me. i'm sure i'll keep my eye on this post and its info ]
ineptshieldmaid: Inception - Ariadne talking with her hands while explaining something (Inception - Ariadne planning)

[personal profile] ineptshieldmaid 2018-12-11 05:01 pm (UTC)(link)
I barely understand this but I like the cut of its gib.
hushpiper: (breathe)

[personal profile] hushpiper 2018-12-11 08:25 pm (UTC)(link)
Having skimmed and having no firsthand experience with any federated software, it sounds to me like people are really not grasping how great the forward-compatibility is. Some kind of shiny new software came up and all your friends are moving to it? No problem! You can stay in touch with them without ever having to move your own account or data, so long as both platforms support ActivityPub. Less like switching from Tumblr to Twitter, more like switching web browsers.

I'm still curious about a lot of the specifics (how does it handle deduplication of posts over platforms? how easy is it to move your data in case of things going south with one instance/platform? do you have to choose a "home" platform/community, and how do you do that? I'm sure I'll think of others). But the fact that as of January, ActivityPub is a W3C recommended standard, is very encouraging.

(Also, I have long thought that fandom really needs to cozy up to the old school anti-authoritarian privacy-focused parts of the open source community, since they share so many of the same needs and ideals, so I'd love to see that happen.)
lovetincture: (Default)

[personal profile] lovetincture 2018-12-12 09:12 am (UTC)(link)
This gave me a lot of new things to chew on. Thank you for the brilliant post!
jesse_the_k: Pipe from Magritte's Treachery of Images captioned "this is not an icon" (alanna is amazed)

Fascinating post.

[personal profile] jesse_the_k 2018-12-16 11:50 pm (UTC)(link)
Thanks for breaking it down enough for a non-coder to comprehend.

I've created jessethek@fandom.stopthatimp.net because I could.

(I also created another account just so I could delete it. Now to figure out how to do that.)