Updated the alternative platforms blog post (draft 3)

pull/3/head
Gianmarco Gargiulo 2022-11-11 16:42:41 +01:00
parent 8a1a9a3870
commit 80372fd346
4 changed files with 23 additions and 7 deletions

View File

@ -9,7 +9,7 @@ draft: true
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.
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 AOL, 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, 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)
@ -49,7 +49,7 @@ Alright, you have your site now and you've bought a domain name, so you want the
### Selfhosting at home
If you've got an old computer stuffed in a closet that you want to give new life to, this is an excellent choice. 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. 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 [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.
![My current server: the HP ProLiant MicroServer N36L](/blog/img/sunfish.jpg)
@ -67,11 +67,11 @@ Not to be confused with VPN, a Virtual Private Server is like a virtual machine
### Standard hosting services
These services vary in functionality, they could be as bare bones as GitHub/GitLab Pages or they could preconfigured WordPress or other similar stuff, but they pretty much take care of everything regarding hosting, maintenance and security, but 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
# 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**).
@ -81,12 +81,28 @@ Let's say we have the user Bob on `bobplace.com` and the users Alice and Kate on
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 [much 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)
*here i have to talk about other non activitypub based stuff like lbry, messaging stuff and maybe even web3???*
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.
![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...
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.
![Movim (image from medevel.com)](/blog/img/movim.jpg)
![The web version of Element (image from decatec.de)](/blog/img/elementim.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, meaning that 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 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. 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 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.
# 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).

Binary file not shown.

After

Width:  |  Height:  |  Size: 200 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 302 KiB

BIN
content/blog/img/movim.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 174 KiB