Hi, Habr.
The other day in the comments to one Habropost I saw the phrase: " I think the future is after the federation ." This finally led me to write an article ripening for a year. I would like all those who are interested in decentralized social networks to take something new out of it.
I will not talk about the benefits of federated (decentralized) networks, you can read about it here or here . And about flaws wrote, for example, Moxy Marlinspike blog Signal . Since you are reading this article, I hope you agree that such systems have more advantages.
It will be about Fediverse and about what this corner of the Internet is remarkable for.
According to Wikipedia, the term " fediverse " was formed from the words " federated " (" federated ", " federation ") and " universe " ("universe"), an inquiring glance will notice here the root of the word " diversity " (" divers-ity ") .
Fediverse currently consists of 12 federated networks and boasts a variety of programming languages:
Why is it that only half of the networks are listed on Wikipedia?
The fact is that different networks communicate using different protocols. The image below illustrates which networks implemented a particular protocol (+) or plan to implement in the future (~).
As you can see, not all networks communicate with each other. Some - for example, Libertree and pump.io (in a sense - because bridge2Ostatus does exist, but I have never seen posts from the pump.io platform look like my tape) are completely cut off from the rest of the world Fediverse . The Wikipedia article reflects the part of the federated networks that support oStatus.
oStatus is a group of protocols on the basis of which the microblogging platform GNU Social was born in the distant 2010.
ActivityPub is a protocol proposed by the W3C group as a new standard.
In addition, there is the diaspora protocol , which originally developed as part of the diaspora network, since then put into a separate independent module. Currently, 5 federated networks (diaspora, Friendica, Hubzilla, Socialhome, GangGo), referred to as " the Federation ", communicate using this protocol.
There is also a Zot protocol , part of the Hubzilla project. Actually, so far only Hubzilla has implemented it. This protocol is perhaps the most advanced and interesting by a large number of functional capabilities that are not found in any other network. To its credit, Hubzilla should be noted that due to the low popularity of its own protocol, this federated network is the only one that has implemented all other protocols and, thus, can communicate with everyone.
For those who are a little confused in the terminology of Fediverse <-> Federation , I recommend the review article by Sean Tilly, reflecting the interaction of most federated networks at the moment.
I call the term Fediverse all federated networks - there is some chance that one day they will all interact with each other.
How many users are there in the federated universe? The answer is ambiguous: it's hard to say for sure. Since all projects are open source, anyone can deploy them on their server without being required to send statistics. Nevertheless, they are trying to collect some statistics, at least for their own satisfaction. Approximate coverage of the so-called Federation (part of Fediverse) can be found here . You can count users of microblogging networks here . The network Mastodon has its own separate statistics , about a month ago, the project noted a million registration. Someone at this place will think that the total number of registrations does not mean anything. I assure you, the project continues to grow rapidly and two million registrations, we hope, are not far off.
Now briefly about each federated network. Moments in the "dignity" - my subjective opinion.
Information : diaspora has existed since 2010 and during this time it managed to attract and maintain a stable number of regular users.
Advantages : registration by email (confirmation is not necessary), auto deletion of EXIF data of downloaded images, proxying links from the outside using Camo, private posts to a separate group of friends (post visibility is "fixed" at the moment it is sent and cannot be changed), part availability flow through the Tor network.
One of the developers at the FOSDEM conference last year, I recommend more details about the diaspora.
Information : The microblogging platform that appeared at the beginning of 2016 quickly attracted the attention of pioneers. Mastodon has experienced a real boom in Japan , due to the fact that certain popular content (lolicons) is banned on Twitter. As a result, mobile applications from Japanese developers appeared, and a large number of servers were launched.
Advantages : The Mastodon community is active and friendly, which contributes to the growth of new contributors. This is the only federated network that is consistently sponsored by the users themselves (through donations from Liberapay, Patreon), which allows the main developer Eugene Roshko to work on the project 24/7. This is the fastest growing federated platform in terms of users. From the point of view of the interface, it is familiar to the average user (yes, there is emoji there!). Constantly there is a new functionality.
Information : the project was originally created by Mike McGirvin, who later retired to the Hubzilla project. Friendica is currently being developed by a small group of enthusiasts.
Advantages : the interface is standard, not difficult to understand. Friendica is believed to be easy to install. There is a profile migration from one server to another. It is possible to create multiple profiles for one account. The main functionality of the social network is present: photo albums, likes of comments, editing posts.
Information : The project is being developed under the direction of Mike McGirvin and is more than a social network. Recently, Mike gave a long interview in which he told in detail the entire story and vision of the project. My personal opinion: this is a project for advanced users who are ready to understand the complex network architecture.
Advantages : Unique functionality. For example, the ability to create on one account different profiles for different purposes. Advanced account migration ("nomadic identity"). Advanced, detailed profile settings ("channel"). Forums for communication by interests. Ability to use as a file storage, with privacy settings. Encrypt comments out of the box. Communicate with all other federated networks.
Information : Initially, the project was developed by Matt Lee as a series of plug-ins for the StatusNet network, subsequently the projects were combined under the name GNU Social. In 2013, Hans Mannerheim implemented the Quitter plugin, which extends the functionality of GNU Social.
Advantages : The presence of plug-ins, a large number of mobile clients (varying degrees of convenience). The presence of "groups" that allow you to deliver content to a number of users.
Information : Pleroma was created as an alternative frontend GNU Social, as a result it grew into an independent project, with the server part in the Elixir language.
Advantages : Pleroma has its own frontend, but the project is easy to run with Mastodon frontend - many users like this combination. Due to its compactness, Pleroma works well on single-board (Beaglebone, Raspberry Pi). The frontend uses the framework Vue.js.
Information : this is a fork of GNU Social, the main purpose of which is to rework the backend and improve the frontend.
Advantages : Despite the small team of developers, the project aims to become a multi-protocol network to interact with the entire federated universe. At the moment there are two small bounty for the implementation of the protocols diaspora and Zot. Anyone want to help?
Information : this project is being developed by one of the diaspora * contributors and is in the pre-Alpha version.
Pros : Go is a popular language. And, although it is not yet clear in which direction the project will develop, there are chances that a stable development team will be formed around it.
Information : Socialhome is being developed by one of the contributors to diaspora *, a fairly new project that started in 2016.
Advantages : Python and specifically the Django framework are quite popular, the project has all the chances to gain a stable development team. The lead developer, Jason Robinson, welcomes any input and is open to new suggestions. The frontend in the future will be on Vue.js.
Information : this project has just appeared on the horizon and is in the pre-Alpha version.
Advantages : the Rust language is interesting in itself, and the project is gradually gaining stars on GitHub. The development team is just being formed, you can make a contribution.
The information : Project Libertree has appeared for a long time and develops basically by forces of one person. Currently, this network does not communicate with other federated networks. The developer says: if someone implements other protocols for this network and sends a pull request, it is possible that the situation will change.
Advantages : This is a small, cozy community, where it is customary to communicate with each other in a polite manner and to criticize with arguments. The network has a number of unique features: for example, the functionality of post sharing is not provided in principle. Users believe that the discussion should take place under the author's post. For the same reason, the republishing of a previously published link is stopped by a warning with a request to write a unique comment on the link or go to a previously published post and discuss the link there. Users are sensitive to the privacy of their posts and do not really want them to be visible to the outside world - it is difficult to say whether it is worth or disadvantage.
Information : this network, I confess, is the least studied by me. For those who want to dive into the story, I recommend this article .
And what is there to do there? At the moment this is the most difficult task. After all, social networks involve communication. Since there are relatively few users in federated networks, and there are very few Russian speakers, new users come and quickly leave, disappointed by the meager number of likes under their posts and never knowing that the whole point is in architecture! Indeed, due to its federative nature, such social networks operate somewhat differently from the usual centralized ones. The new user will not see on his server all posts from all other servers. His tape will be formed gradually: the more people from other pods a person subscribes to, the richer his news feed will become, the more posts will be federated to him to the server. Different federated networks solve the problem of an "extinct city" - a sparsely populated server, where little content falls into - in different ways. The diaspora project has a relay that allows small servers to exchange posts with other servers, where the relay is also configured, regardless of whether the users of this server are subscribed to other servers or not. The relay is not an official part of the diaspora, it must be configured separately. In Mastodon, some administrators use bots that subscribe to everyone they find, thus increasing the "overview" of the federated universe for the server on which this bot is running.
And they inhabit the federal universe, primarily geeks and tech-savvy users, free software supporters (FSF, FSFE), developers of open free software and hardware (Liberapay, HardenedBSD, Pyra, Vikings, Technoethical), pirated organizations and representatives , privacy advocates personal information, people of diverse political views and beliefs. Recently, thanks to active advertising on Twitter, the infosec community, users who have been censored on centralized platforms, and simply curious, have begun to catch up. Universities around the world are raising their servers (MIT, University of La Rochelle, Clarkson University, Umeå University). Even the representation of the Brazilian Ministry of Culture has its own Mastodon server . All these are people who care about the fate of the Internet, free from rigid censorship and corporate aquariums.
I use federated networks primarily for the sake of content that I could not get anywhere else. This is a source of information about what the European and global open source software community is doing, what concerns the respected hacker groups (CCC) and associations (Framasoft), what was interesting at this or that decent conference (FOSDEM). This is a community with a unique set of values that includes different people, often with opposing views, living in the most remote parts of the planet, expanding my horizons daily. Also, from the obvious - no advertising (attempts are quickly banned by server administrators), from pleasant - some privacy and freedom of action (photos of the breast are not removed, but politely asked to hide behind the NSFW tag), and enviable resiliency of the entire federated network as a whole. I would also like to say: and all this is free (no "pay - and we will show your post to all your friends, otherwise we will not show"), but I will not say. Servers of federated networks are administered by enthusiasts, often at their own expense. Therefore, the first rule of Fediverse: know your admin! And, if possible, throw him a few dollars to support the system.
It would be great to see new faces in the federated universe. Not those who register and disappear after the first test post, but those who remain and become part of the community. And, perhaps, it will join its collection of green squares on GitHub with commits to open source projects. Or those who raise new servers and administer them, multiplying Fediverse, making it an even more viable decentralized system.
If this article turns out to be interesting to the Habr community, next time I will tell you about the ACT of the Framasoft team, their fascinating events and plans for the next year .
* This article uses the term "server" to denote a node of a particular network. In the documentation, some networks call server podami (diaspora), instances (Mastodon), trees (Libertree), nodes or even pods (someone please correct the Russian translation of the Diaspora). Let the variety of terminology not confuse you: the server - it is in Africa and the server.
My thanks go to Senya, one of the diaspora contributors, for some ideas taken from his report on the Coliberator, and for reading this article .
Source: https://habr.com/ru/post/345402/