Finished the alternative platforms blog post

pull/3/head
gianmarco 2022-11-12 18:42:25 +01:00
parent 80372fd346
commit 63b456789e
3 changed files with 34 additions and 22 deletions

View File

@ -2,14 +2,14 @@
title: "Alternative platforms and why you should consider them"
description: I'll tell you how to be an internet chad and resist from Elon's and Mark's empires
thumbnail: "/blog/img/altplatforms.png"
date: 2022-11-06T20:31:34+01:00
date: 2022-11-12
tags: ["selfhosting", "free software", "fediverse"]
draft: true
draft: false
---
Most people nowadays have a very limited view of the internet: they just watch content like posts, photos and videos from **the same 5 or 6 social networks owned by a few corporations** who filter the content to make people spend even more time on these sites, making them believe what they want you to believe and bombarding you with ads tailored to every single activity of yours, even on other websites, holding entire monopolies on the tech industry and the flow of information. Instant messaging happens all on either SMS or WhatsApp (more rarely on Telegram and Signal) which have **extreme privacy issues**, more specifically the first one for being an ancient unencrypted protocol and the second being yet another data honeypot for Meta.
Most people nowadays have a very limited view of the internet: they just watch content like posts, photos and videos from **the same 5 or 6 social networks owned by a few corporations** who filter the content to make people **spend even more time on these sites**, making them believe **what they want you to believe** and bombarding you with ads tailored to **every single activity of yours**, even on other websites, holding entire monopolies on the tech industry and the flow of information. Instant messaging happens all on either **SMS**, **WhatsApp** or **iMessage** (more rarely on Telegram and Signal) which have **extreme privacy issues**, more specifically the first one for being an ancient unencrypted protocol, the second being yet another data honeypot for Meta and the third being an Apple service because Apple constantly [lies](https://gizmodo.com/apple-iphone-analytics-tracking-even-when-off-app-store-1849757558) with their privacy marketing.
But the internet has not always been like this, the good old internet (I'd say from the very early days up to the mid 2000's) was much different: everyone had **their own website**, all with a unique look and feel, style of content and complete freedom, but even with the rise of the early social networks and video sharing platforms like MySpace, Facebook and YouTube, there was so much more soul and uniqueness to what people uploaded on such sites. When it comes to messaging there were several options, such as email, BBS and IRC, which were (and still are) **decentralized, interoperable and not under control of one entity**, although that's also when early proprietary IM platforms such as AIM, MSN Messenger and Google Talk were created. However all of these protocols and platforms weren't exactly private since back then there was no real concept of online privacy and encryption, especially before stuff like the [Patriot Act](https://en.wikipedia.org/wiki/Patriot_Act) in 2001 and the [Snowden revelations](https://en.wikipedia.org/wiki/Edward_Snowden) in 2013.
But the internet has not always been like this, the good old internet (I'd say from the very early days up to the mid 2000's) was much different: everyone had **their own website**, all with a unique look and feel, style of content and complete freedom, to get updates we had **RSS and Atom feeds**, but even with the rise of the early social networks and video sharing platforms like MySpace, Facebook and YouTube, there was so much more soul and uniqueness to what people uploaded on such sites. When it comes to messaging there were several options, such as **email**, **BBS** and **IRC**, which were (and still are) **decentralized, interoperable and not under control of one entity**, although that's also when early proprietary IM platforms such as AIM, MSN Messenger and Google Talk were created. However all of these protocols and platforms weren't exactly private since back then there was no real concept of online privacy and encryption, especially before stuff like the [Patriot Act](https://en.wikipedia.org/wiki/Patriot_Act) in 2001 and the [Snowden revelations](https://en.wikipedia.org/wiki/Edward_Snowden) in 2013.
![An oldschool looking site (wac.neocities.org), HexChat and Outlook Express 6](/blog/img/webircemail.png)
@ -27,19 +27,19 @@ In order to do this we have two questions to answer to.
### Write in bare HTML
This is the most direct way to create a webpage, you just write plain HTML on a blank file and start building from there. This isn't the most convenient way to make a website since you need to learn and use proper HTML syntax and you'd have to write your own CSS if you want to style your site and not make it look like it's literally from the 90's. It could also be faster, but still good for learning, to take a HTML and CSS template that you like and start hacking around with that, this is how I started too.
This is **the most direct way to create a webpage**, you just write plain HTML on a blank file and start building from there. This isn't the most convenient way to make a website since you need to learn and use proper HTML syntax and you'd have to write your own CSS if you want to style your site and not make it look like it's literally from the 90's. It could also be faster, but still good for learning, to take a **HTML and CSS template** that you like and start hacking around with that, this is how I started too.
![Good old Notepad++ with some HTML source open (image from lifewire.com)](/blog/img/htmlediting.jpg)
### Use a static site generator
This is my preferred way to write a website: you get a template and just write your various pages and articles in Markdown, a very simple to use markup language, so that the software will compile it into a full HTML and CSS site automatically. I use the most popular generator, which is [Hugo](https://gohugo.io). It takes a while to learn and you need to be used to run a few commands from the command line, but once you wrap your head around it you will be able to make flexibly and efficiently a full blown site. You can still learn HTML and CSS with it by editing the template files manually, which is how I customized [the template I used](https://github.com/jonathanjanssens/hugo-casper3) for my website.
This is my preferred way to write a website: you get a template and just write your various pages and articles in **Markdown**, a very simple to use markup language, so that the software will compile it into a full HTML and CSS site **automatically**. I use the most popular generator, which is [Hugo](https://gohugo.io). It takes a while to learn and you need to be used to run a few commands from the command line, but once you wrap your head around it you will be able to make flexibly and efficiently a full blown site. You can still learn HTML and CSS with it by editing the template files manually, which is how I customized [the template I used](https://github.com/jonathanjanssens/hugo-casper3) for my website.
![Me writing this very paragraph in Markdown and seeing a live result on the side](/blog/img/hugoediting.png)
### Use WriteFreely or WordPress
If you want a fancy and intuitive interface to write in, there are free and open source solutions like WriteFreely and WordPress, among others. They're a bit cumbersome to install and are also a little heavy on resources, but the result is a software that lets you write a blog in a very easy and not too distracting way.
If you want a fancy and intuitive interface to write in, there are free and open source solutions like **WriteFreely** and **WordPress**, among others. They're a bit cumbersome to install and are also a little heavy on resources, but the result is a software that lets you write a blog in a very easy and not too distracting way.
![WriteFreely running in a web browser](/blog/img/writefreelyui.png)
@ -47,62 +47,74 @@ Alright, you have your site now and you've bought a domain name, so you want the
## Where do I host my website?
### Selfhosting at home
### Selfhosting at home or at the office
If you've got an old computer stuffed in a closet that you want to give new life to, this is an excellent choice. I've also talked about this in more detail [on this article](/blog/whyselfhost). In order to do this you need to be comfortable with installing and configuring an operating system like Debian or OpenBSD with just the command line if you want to save as many system resources as possible (although something with a GUI could also work fine if you prefer), keeping a computer always running on a wall socket of yours and you need a decently fast and stable internet connection that's **not behind a NAT**. Ideally you'd need to have this machine hooked up to power and network 24/7, so if you can buy even a cheap UPS that should keep most downtimes away. You also need to associate your domain to the public IP of your home network with some service like [Afraid FreeDNS](https://freedns.afraid.org/), otherwise the domain won't point to your server and thus your website. Since this is pretty much an entire computer, it means that it can even do more than hosting your website and install whatever you want: it could run [Nextcloud](https://nextcloud.com/) for file and photo sharing, [Plex](https://www.plex.tv/) or [Jellyfin](https://jellyfin.org/) for movies, [Jitsi](https://jitsi.org/) or [Mumble](https://www.mumble.info/) for VoIP, [XMPP](https://xmpp.org/) or [Matrix](https://matrix.org/) for text chatting, [SearXNG](https://docs.searxng.org/) as a search engine, etc.
If you've got **an old computer** stuffed in a closet that you want to give new life to, this is an excellent choice. I've also talked about this in more detail [in this article](/blog/whyselfhost). In order to do this you need to be comfortable with installing and configuring an operating system like **Debian** or **OpenBSD** with just the command line if you want to save as many system resources as possible (although something with a GUI could also work fine if you prefer), keeping a computer **always running on a wall socket** and you need a decently **fast and stable internet connection that's not behind a NAT** (a way to check for a NAT is on [this thread](https://stackoverflow.com/questions/21250097/how-can-i-know-if-my-computer-is-behind-nat)). Ideally you'd need to have this machine hooked up to power and network 24/7, so buying even a cheap **UPS** should keep most downtimes away. You also need to **associate your domain to the public IP of your network** with some service like [Afraid FreeDNS](https://freedns.afraid.org/), otherwise the domain won't point to your server and thus your website; this is especially useful if your public IP isn't static and needs constant reassociation which can be done by a special feature of your router, a cron job or something similar. Since this is pretty much an entire computer, it means that it can even do more than hosting your website and **install whatever you want**: it could run [Nextcloud](https://nextcloud.com/) for file and photo sharing, [Plex](https://www.plex.tv/) or [Jellyfin](https://jellyfin.org/) for movies, [Jitsi](https://jitsi.org/) or [Mumble](https://www.mumble.info/) for VoIP, [XMPP](https://xmpp.org/) or [Matrix](https://matrix.org/) for text chatting, [SearXNG](https://docs.searxng.org/) as a search engine, etc.
![My current server: the HP ProLiant MicroServer N36L](/blog/img/sunfish.jpg)
### Renting a VPS
Not to be confused with VPN, a Virtual Private Server is like a virtual machine in a big datacenter that's basically going to be your remote computer with some minimal OS like Debian that you can access remotely via the terminal to install and configure all you want. So it's like selfhosting, except the machine isn't in your home and isn't consuming your electricity and bandwidth, although this kinda takes away some degree of control from you since you don't have a physical machine in your own home or office.
Not to be confused with VPN, a Virtual Private Server is like **a virtual machine in a big datacenter** that's basically going to be your remote computer with some minimal OS like Debian that you can access remotely via the terminal to install and configure all you want. So it's like selfhosting, except the machine isn't in your home and isn't consuming your electricity and bandwidth, although this kinda takes away some degree of control from you since you don't have **a physical machine in your own home or office**.
![Some public domain datacenter photo, I guess](/blog/img/datacenter.jpg)
### GitHub/GitLab Pages
[GitHub](https://github.com) and [GitLab](https://gitlab.com) are two popular collaboration platforms for programming and version control, they both offer a free service called Pages which let you easily host static webpages on their servers. By default they give you a subdomain like `username.github.io`, but you can also associate your own domain. This isn't like a VPS since you can't remote into a shell and install whatever you want, all you can do is uploading and managing files with Git, which is probably enough for most people.
[GitHub](https://github.com) and [GitLab](https://gitlab.com) are two popular collaboration platforms for programming and version control, they both offer a free service called **Pages** which let you easily host static webpages on their servers. By default they give you a subdomain like `username.github.io`, but you can also associate your own domain. This isn't like a VPS since you can't remote into a shell and install whatever you want, all you can do is **uploading and managing files with Git**, which is probably enough for most people.
![An example GitLab Pages site made by the authors of Hugo](/blog/img/gitlabpages.png)
### Standard hosting services
These services vary in functionality, they could be as bare bones as GitHub/GitLab Pages or they could have preconfigured WordPress or other similar stuff, but they pretty much take care of everything regarding hosting, maintenance and security. They could get kind of expensive and could also not be truly worth it since these are not as versatile as other paid options like VPS providers, so it depends on what hosting provider you choose, what you want to do and how you want to expand in the future, if you plan to.
These services vary in functionality, they could be as bare bones as GitHub/GitLab Pages or they could have preconfigured WordPress or other similar stuff, but they pretty much **take care of everything** regarding hosting, maintenance and security. They could get kind of expensive and could also not be truly worth it since these are **not as versatile as other paid options** like VPS providers, so it depends on what hosting provider you choose, what you want to do and how you want to expand in the future, if you plan to.
![Some other public domain datacenter photo](/blog/img/datacenter2.jpg)
# Alternative social networks and platforms
If you want a more streamlined way to interact with others on the internet, you can try alternative social networks which aren't controlled by big tech companies and don't inherit the flaws of mainstream services. But we have to distinguish two kinds of alternative platforms: **centralized** and **decentralized** platforms. Centralized socials are controlled and hosted by one entity, meaning that they can do anything to everyone who has signed up for an account; decentralized socials are divided up into multiple servers managed by different people or organizations, each with their own users and rules, but users on one server can interact with users on other servers (this is called **federation**).
If you want a more streamlined way to interact with others on the internet, you can try **alternative social networks** which aren't controlled by big tech companies and don't inherit the flaws of mainstream services. But we have to distinguish two kinds of alternative platforms: **centralized** and **decentralized** platforms. Centralized socials are controlled and hosted by one entity, meaning that they can do anything to everyone who has signed up for an account; decentralized socials are divided up into multiple servers managed by different people or organizations, each with their own users and rules, but users on one server can interact with users on other servers (this is called **federation**).
Let's say we have the user Bob on `bobplace.com` and the users Alice and Kate on `artuniverse.net`: Alice and Kate are on the same server so they can see, like, comment and reshare each other's posts and DM each other, but they can also interact with Bob and his posts that are on `bobplace.com` even from their own server without having extra accounts on Bob's server. If Bob wants to look for Kate's account, he has to type `kate@artuniverse.net` in his search field, so the username @ the domain of the server, if she was registered on `bobplace.com` he wouldn't have to type the domain since they're both already there. Also if `artuniverse.net` goes down for example, all the other servers will continue working and communicating reciprocally as if nothing happened, thus keeping the whole federated network alive. Clearly decentralized socials are more resilient to outages, censorship and corporate influence, since it's more in the control of individual people scattered around the world, and they're also much more versatile thanks to the fact that pretty much all of them are free and open source projects, so that people can contribute to their development and modify them for their own needs.
Let's say we have the user Bob on `bobplace.com` and the users Alice and Kate on `artuniverse.net`: Alice and Kate are on the same server so they can see, like, comment and reshare each other's posts and DM each other, but **they can also interact with Bob and his posts that are on `bobplace.com`** even from their own server without having extra accounts on Bob's server. If Bob wants to look for Kate's account, he has to type `kate@artuniverse.net` in his search field, so **the username @ the domain of the server**, if she was registered on `bobplace.com` he wouldn't have to type the domain since they're both already there. Also if `artuniverse.net` goes down for example, **all the other servers will continue working and communicating reciprocally** as if nothing happened, thus keeping the whole federated network alive. Clearly decentralized socials are more resilient to outages, censorship and corporate influence, since it's more in **the control of individual people** scattered around the world, and they're also much more versatile thanks to the fact that pretty much all of them are **free and open source projects**, so that people can contribute to their development and modify them for their own needs.
![All of the federated socials based on ActivityPub](/blog/img/fediversetree.jpg)
As you can see in this image above, there are lots of free software options following this federated model, and the thing they all have in common is the protocol at the base, which is called [ActivityPub](https://en.wikipedia.org/wiki/ActivityPub). This means that even if you're using two different applications, they can still kinda communicate with each other despite surface level incompatibilities because they both share the base protocol, not that this aspect is truly important. The most interesting thing here is that there is an open standard for decentralized mass communication used by many compelling platforms, which are in constant evolution and are usually available via the web browser and on mobile through first party and/or third party apps.
As you can see in this image above, there are lots of free software options following this federated model, and the thing they all have in common is the protocol at the base, which is called [ActivityPub](https://en.wikipedia.org/wiki/ActivityPub). This means that even if you're using two different applications, they can still kinda **communicate with each other** despite surface level incompatibilities because **they both share the base protocol**, not that this aspect is truly important. The most interesting thing here is that there is **an open standard for decentralized mass communication** used by many compelling platforms, which are in constant evolution and are usually available via the web browser and on mobile through first party and/or third party apps.
Since Elon Musk's recent takeover of Twitter, a lot of people have done a literal mass migration over to [Mastodon](https://joinmastodon.org/), one of these ActivityPub based socials intended for microblogging, and most of them were quite confused on the way it worked. There's [this video](https://youtu.be/IPSbNdBmWKE) that explains shortly and clearly how Mastodon works; this explanation can also be applied to other federated socials such as [Pixelfed](https://pixelfed.org/) (for Instagram-like photo sharing), [PeerTube](https://joinpeertube.org/) (for peer-to-peer video sharing), [Lemmy](https://join-lemmy.org/) (for Reddit-like groups and threads) and [many more](https://fedidb.org/software).
Since Elon Musk's recent takeover of Twitter, a lot of people have done **a literal mass migration over to [Mastodon](https://joinmastodon.org/)**, one of these ActivityPub based socials intended for microblogging, and most of them were quite confused on the way it worked. There's [this video](https://youtu.be/IPSbNdBmWKE) that explains shortly and clearly how Mastodon works; this explanation can also be applied to other federated socials such as [Pixelfed](https://pixelfed.org/) (for Instagram-like photo sharing), [PeerTube](https://joinpeertube.org/) (for peer-to-peer video sharing), [Lemmy](https://join-lemmy.org/) (for Reddit-like groups and threads) and [many more](https://fedidb.org/software).
![Mastodon, Pixelfed and PeerTube](/blog/img/top3fedisocials.png)
There are other kinds of decentralized platforms which aren't based on ActivityPub, most notably [LBRY](https://lbry.com/) and its main frontend [Odysee](https://odysee.com) which are used for sharing mainly videos but also text and other types of media with blockchain technology; another similar thing is [IPFS](https://ipfs.tech/) which is a peer-to-peer protocol for file sharing which is marketed to be very resilient, making it useful for long term preservation of information. This is a sort of controversial area since it goes into the definition of Web 3.0 which many people dislike and associate to scams and buzzwords, which in most cases is true, but I personally think that stuff like [Monero](https://www.getmonero.org/) as a truly private cryptocurrency and these decentralized file and media sharing platforms are very interesting and could be used for doing real good. Just stay away from uncertain financial investments involving crypto and you'll be alright.
There are other kinds of decentralized platforms which aren't based on ActivityPub, most notably [LBRY](https://lbry.com/) and its main frontend [Odysee](https://odysee.com) which are used for sharing mainly videos but also text and other types of media with **blockchain technology**; another similar thing is [IPFS](https://ipfs.tech/) which is a peer-to-peer protocol for file sharing which is marketed to be very resilient, making it useful for **long term preservation of information**. This is a sort of controversial area since it goes into the definition of Web 3.0 which many people dislike and associate with **scams and buzzwords**, which in most cases is true, but I personally think that stuff like [Monero](https://www.getmonero.org/) as a **truly private cryptocurrency** and these decentralized file and media sharing platforms are very interesting and could be used for doing real good. Just stay away from uncertain financial investments involving crypto and you'll be alright.
![LBRY and IPFS](/blog/img/lbryipfs.png)
I actually have a little complaint about Odysee/LBRY and IPFS: their websites are full of trackers and analytics as you can see in the screenshot above on the uBlock Origin icons! This makes me feel less confident about privacy on these sites and similar technologies, but I digress...
I actually have a little complaint about Odysee/LBRY and IPFS: **their websites are full of trackers and analytics** as you can see in the screenshot above on the uBlock Origin icons! This makes me feel less confident about privacy on these sites and similar technologies, but I digress...
Other federated protocols, more specifically for messaging, are [XMPP](https://xmpp.org/) and [Matrix](https://matrix.org/). XMPP is the base to many chat services from the past and even the present, such as WhatsApp, Google Talk, [Movim](https://movim.eu/) and [Jitsi](https://jitsi.org/); it's got lots of free software clients for desktop and mobile like [Pidgin](https://pidgin.im/), [Conversations](https://conversations.im/), [Psi](https://psi-im.org/) and [Dino](https://dino.im/), and several lightweight server implementations like [Prosody](https://prosody.im/) and [ejabberd](https://www.ejabberd.im/); the X in XMPP means that it's extensible with many plugins that allow extra functionality like group chats, VoIP, file transferring, [OMEMO](https://en.wikipedia.org/wiki/OMEMO) end-to-end encryption, etc. Matrix on the other hand is a much newer protocol with more modern concepts, end-to-end encryption out of the box and usually with a better support from clients with advanced features, like [Element](https://element.io) which was created by the Matrix Foundation, [SchildiChat](https://schildi.chat/), [FluffyChat](https://fluffychat.im/) and [NeoChat](https://apps.kde.org/neochat/); it's got fewer server implementations, most notably [Synapse](https://matrix.org/docs/projects/server/synapse) and [Dendrite](https://matrix.org/docs/projects/server/dendrite) which were also created by the Matrix Foundation, and are usually much easier to maintain than an XMPP server.
Other federated protocols, more specifically for messaging, are [XMPP](https://xmpp.org/) and [Matrix](https://matrix.org/). XMPP is the base to many chat services from the past and even the present, such as WhatsApp, Google Talk, [Movim](https://movim.eu/) and [Jitsi](https://jitsi.org/); it's got lots of free software clients for desktop and mobile like [Pidgin](https://pidgin.im/), [Conversations](https://conversations.im/), [Psi](https://psi-im.org/) and [Dino](https://dino.im/), and several lightweight server implementations like [Prosody](https://prosody.im/) and [ejabberd](https://www.ejabberd.im/); the X in XMPP means that it's extensible with many plugins that allow extra functionality like **group chats**, **VoIP**, **file transferring**, **[OMEMO](https://en.wikipedia.org/wiki/OMEMO) end-to-end encryption**, etc. Matrix on the other hand is a much newer protocol with more modern concepts, **end-to-end encryption out of the box** and usually with a better support from clients with advanced features, like [Element](https://element.io) which was created by the Matrix Foundation, [SchildiChat](https://schildi.chat/), [FluffyChat](https://fluffychat.im/) and [NeoChat](https://apps.kde.org/neochat/); it's got fewer server implementations, most notably [Synapse](https://matrix.org/docs/projects/server/synapse) and [Dendrite](https://matrix.org/docs/projects/server/dendrite) which were also created by the Matrix Foundation, and are usually much easier to maintain than an XMPP server.
As cool as they sound, these two protocols and their implementations aren't exactly viable for everybody. XMPP is extremely fragmented in clients that don't sync well to each other and lack basic functionality (file transferring and voice messages for example). Matrix clients are usually better on that aspect since most clients are reskins of Element which already has all the functionality you need, but voice and video calls are still experimental and stickers support is quite disappointing; clients which aren't based on Element usually struggle to implement proper end-to-end encryption support, defeating the whole purpose of Matrix; most people don't make use of the whole decentralized nature of Matrix since they all sign up on the official `matrix.org` homeserver, although the Matrix devs have been working on a [peer-to-peer solution](https://matrix.org/blog/2020/06/02/introducing-p-2-p-matrix) for a while to solve this problem; the protocol is still considered a metadata leaking hell, even though it's not as bad as some people say and the devs are actively working to get rid of this issue once and for all, also thanks to the already mentioned peer-to-peer solution. In any case, try some of this stuff out and see if they work fine for you and your friends; I personally recommend Matrix as it's overall more normie-friendly and to make the transition easier you can also setup a [bridge](https://matrix.org/bridges/) from another chat platform like WhatsApp, Telegram or Discord (still kinda defeats the purpose of end-to-end encryption so you should use this temporairly). I hope that with time these protocols and their clients will evolve and become usable for more and more people.
As cool as they sound, these two protocols and their implementations aren't exactly viable for everybody. XMPP is **extremely fragmented** in clients that don't sync well to each other and lack basic functionality (file transferring and voice messages for example). Matrix clients are usually better on that aspect since most clients are reskins of Element which already has all the functionality you need, but **voice and video calls are still experimental and stickers support is quite limited**; clients which aren't based on Element usually **struggle to implement proper end-to-end encryption support**, defeating the whole purpose of Matrix; most people don't make use of the whole decentralized nature of Matrix since **they all sign up on the official `matrix.org` homeserver**, although the Matrix devs have been working on a [peer-to-peer solution](https://matrix.org/blog/2020/06/02/introducing-p-2-p-matrix) for a while to solve this problem; the protocol is still considered **a metadata leaking hell**, even though it's not as bad as some people say and the devs are actively working to get rid of this issue once and for all, also thanks to the already mentioned peer-to-peer solution. In any case, try some of this stuff out and see if they work fine for you and your friends; I personally recommend **Matrix** as it's overall more normie-friendly and to make the transition easier you can also setup a **[bridge](https://matrix.org/bridges/) from another chat platform like WhatsApp, Telegram or Discord** (still kinda defeats the purpose of end-to-end encryption so you should use this temporairly). I hope that with time these protocols and their clients will evolve and become usable for more and more people.
![Movim (image from medevel.com)](/blog/img/movim.jpg)
![The web version of Element (image from decatec.de)](/blog/img/elementim.png)
## The boomer protocols
At the beginning I talked about the old ways of messaging like email, BBS and IRC. I consider email to be like **a plague that has existed for a long time** since it's complex, not private and, even if you're using PGP to encrypt messages, their metadata can be pretty much read by anyone; for any formal communication, which is the typical usecase of email other than signing up to useless online services, more modern protocols, like the already mentioned XMPP and Matrix, **could be easily readapted**. However IRC can be quite useful for **public chatrooms**, like **discussing a particular topic** or **asking for help** on a specific piece of software, like the many support channels on [libera.chat](https://libera.chat/); I wouldn't reccommend it for private messaging since the protocol **doesn't really have any kind of end-to-end encryption**, among other limitations due to its age (no history, notifications or file transferring unless you use extra software or infrastructure that's kind of complicated to setup and maintain). I don't know much about BBS, you connect to a BBS server to chat with others, share data, write threads, read news and more; nowadays it's a very niece thing only used by the most nostalgic people, so feel free to enlighten me about this down in the comments. **RSS and Atom feeds** are extremely useful to get notifications from all kinds of different sites without having to go through a social network, [even my website has one](/rss.xml)!
![The most popular channels on libera.chat](/blog/img/liberachat.png)
![My favorite RSS feeds in Akregator](/blog/img/rssfeed.png)
## How about centralized alternatives?
To be honest I'm very skeptical of such platforms, like for example Artfol, SpaceHey, Coub and Telegram, simply because they're closed source and controlled by one entity, and they're usually full of trackers on the website or the mobile app. Today they might be fine, but what if they change CEO or they get bought by a bigger company and become evil? This is exactly what happened to WhatsApp when it got sold to Facebook, what happened to YouTube when it got sold to Google, what happened to Skype when it got sold to Microsoft: no matter how innocent or noble the intentions are at the beginning, there is almost no escape from the continuous cycle of capitalistic anti-competitivism, you must always be ready for the worst to happen when dealing with proprietary services like these. Don't say stuff like "I trust Pavel Durov and Telegram! He's already rich and doesn't need to sell our data!", you have no way to go to Telegram's datacenters and check that their servers aren't doing anything nasty, also because lots of security experts have heavily criticized their way of encrypting stuff while true end-to-end encryption is available only to Secret Chats, which very few people use or know about it. The traditional method of doing things has proven too many times that it's flawed beyond repair, hence why federated platforms are the real future of the internet: they're in the hands of the users, the trust is relative and the backend cannot be sold.
To be honest **I'm very skeptical of such platforms**, like for example Artfol, SpaceHey, Coub and Telegram, simply because they're **closed source and controlled by one entity**, and they're usually full of trackers on the website or the mobile app. Today they might be fine, but **what if they change CEO or they get bought by a bigger company and become evil**? This is exactly what happened to **WhatsApp** when it got sold to Facebook, what happened to **YouTube** when it got sold to Google, what happened to **Skype** when it got sold to Microsoft: no matter how innocent or noble the intentions are at the beginning, there is almost **no escape** from the continuous cycle of capitalistic anti-competitivism, you must always be ready for the worst to happen when dealing with proprietary services like these. Don't say stuff like "I trust Pavel Durov and Telegram! He's already rich and doesn't need to sell our data!", you have no way to go to Telegram's datacenters and check that their servers aren't doing anything nasty, also because lots of security experts have **heavily criticized their way of encrypting stuff** because all conversations that are not Secret Chats are not end-to-end encrypted and **the decription keys are stored on Telegram's servers** as stated in their [FAQ](https://telegram.org/faq#q-do-you-process-data-requests). The result of this is that they can give data to whoever subpoenas them like [what happened with the German government](https://www.androidcentral.com/apps-software/telegram-reportedly-gives-user-data-to-german-authorities) a while ago, or even sell data behind your back. The traditional method of doing things has proven too many times that **it's flawed beyond repair**, hence why federated platforms are the real future of the internet: they're **in the hands of the users**, **the trust is relative** and **the backend cannot be sold**.
# What's the catch?
I don't really know, I guess you could be frustrated with hosting stuff yourself if you're not experienced, or you might end up facing with weird no vax or flat earth people on an obscure Mastodon instance or Matrix chatroom, but I've seen that those problems are quite rare and only happen to people who do weird things while trying to explore these technologies (kinda like how I ended up on a loli Matrix server thinking it was about cutsie art stuff and how I'm trying to escape from it as soon as possible because I feel like my house is glowing brighter every day that passes and I'm struggling to spin up my own Matrix server).
I don't know, is there really any? I guess you could be frustrated with hosting stuff yourself if you're not experienced; you might find that **these alternatives are not as featureful as more mainstream offerings**, but honestly most extra features you're missing (like Twitter live podcasts and stories with millions of stickers for example) are for people who should probably spend more time outside, no offense 🙂; you might end up facing with **weird no vax or flat earth people** on an obscure Mastodon instance or Matrix chatroom, but I've seen that those problems are quite rare and only happen to people who do weird things while trying to explore these technologies (~~kinda like how I ended up on a loli Matrix server thinking it was about cutsie art stuff and how I'm trying to escape from it as soon as possible because I feel like my house is glowing brighter and brighter every day that passes while I struggle to spin up my own Matrix server~~), but even then you could **just block those people or their entire servers**, so that they will disappear from your sight.
# Conclusion
The web nowadays sucks ass, but **we have the resources** to take it back in our hands and make it so much better, they're just a search away. Every power user of the internet should do their part with providing and consuming content in more **flexible**, **ethical** and **freedom respecting ways**. I don't expect everybody to make the change overnight, but as more and more people realize how fucked up things are, there's always hope that these billionares and governments will gradually lose grasp on our lives and let us enjoy technology and exchange information better. Again, if you have more to suggest, just put it down in the comments field.

Binary file not shown.

After

Width:  |  Height:  |  Size: 294 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 551 KiB