Pleroma — rozbudowany mikroblog

3 lat temu

Disclaimer

Zacząłem pisać ten wpis w połowie sierpnia i chyba kiedyś wypadałoby go opublikować… Nie do końca jestem zadowolony z tego, iż skupiłem się tak bardzo na porównaniu z Mastodonem, czy może nie aż tak istotnej kwestii onboardingu. A pisałem, iż nie lubię tego robić…

Po opisaniu Mastodona i PeerTube, przyszła pora na opisanie trzeciej największej składowej obecnego Fediwersum. Pleroma to platforma mikroblogowa w dużej części kompatybilna z Mastodonem, ale będąca niezależnym projektem. Pozwala zarejestrowanym użytkownikom przede wszystkim na tworzenie wpisów i interakcje z nimi, a także zawiera funkcję czatów, czy dodatki takie jak możliwość reagowania na wpisy z użyciem emoji.

Początki Pleromy to rok 2016, gdy powstawało Pleroma-FE, czyli obecny interfejs Pleromy. Początkowo był on przeznaczony na platformę GNU Social — innego, mającego już kilkunastoletnią historię sfederowanego mikrobloga (chyba wspomniałem, iż muszę o nim napisać), ale gdy front-end ten był już gotowy, zaczął powstawać back-end Pleromy, nazywający się po prostu Pleroma. Warto wspomnieć, iż choć Pleroma-FE nie jest już kompatybilna z GNU Social, więc jest dedykowana wyłącznie backendowi Pleromy, sam back-end nie jest z nią tak ściśle powiązany. O często wykorzystywanych alternatywnych interfejsach napiszę dalej. Pleroma, jako projekt związany początkowo z GNU Social, implementowała protokół OStatus, pozwalając na komunikację z użytkownikami serwerów tej sieci, a później również najpopularniejszy standard sfederowanych platform, czyli ActivityPub. Było to proste, ze względu na podjęte przy tworzeniu Pleromy decyzje projektowe. Popularność zdobywana w tym czasie przez projekt sprawiła, iż niektóre popularne serwery, wykorzystujące GNU Social, zostały przeniesione na bardziej współczesny, wydajny i aktywnie rozwijany back-end Pleromy.

Właśnie, wydajność. Choć Pleroma nie jest po prostu klonem czy zamiennikiem Mastodona, często jest z nim porównywana pod tym względem. Ze względu m.in. na wykorzystanie języka Elixir i frameworka webowego Phoenix zamiast Ruby on Rails, jak w przypadku Mastodona, jest to platforma znacznie lżejsza dla serwera, co sprawia, iż często jest wybierana przez mniejsze społeczności. Jest też prostsza w instalacji, bez tak wielu zewnętrznych zależności… W porównaniu z Mastodonem, w tej chwili Pleroma nie skaluje się horyzontalnie, co oznacza, iż nie są możliwe do uzyskania korzyści związane z uruchamianiem jednej instancji Pleromy na wielu serwerach. Natomiast żaden serwer Pleromy jeszcze tego chyba nie wymagał.

Choć nie lubię porównywać Pleromy z Mastodonem (chyba jeszcze bardziej nie lubią tego twórcy Pleromy), jest to wygodny punkt odniesienia. Wielu użytkowników Pleromy poznało wcześniej Mastodona, poza tym na fediverse.pl pisałem już o Mastodonie. Napiszę więc o tym, czego brakuje tym projektom w takim porównaniu.

Mastodon to chyba pierwsza sfederowana platforma społecznościowa o tak dopracowanym onboardingu. Nowi użytkownicy są po niej oprowadzani począwszy od wprowadzenia do pomocy w wyborze serwera według kategorii i głównego języka, po pierwsze kroki po rejestracji (od niedawna jest tam lista polecanych kont). Na joinmastodon.org znajdziemy animowany film wyjaśniający działanie federacji i opis projektu. Znajdziemy link do bloga i napisaną prostym językiem dokumentację, której pierwszą sekcję, poświęconą korzystaniu z Mastodona, przetłumaczyłem na język polski. Znajdziemy też stronę poświęconą aplikacjom mobilnym, gdzie dowiemy się również o istnieniu oficjalnej aplikacji na iOS.

Z kolei na stronie pleroma.social znajdziemy parę zdań o tym, czym jest Pleroma, linki do wpisów dot. Pleromy, link do instrukcji instalacji serwera, oraz listę przykładowych serwerów, na których możemy się zarejestrować. Lista zdaje się być zupełnie przypadkowa, nieuporządkowana w porównaniu z tą na joinmastodon.org, uwzględniającą serwery zobowiązujące się choćby do moderowania pewnych treści i tworzenia regularnych backupów (moderowany katalog serwerów w nieunikniony sposób będzie prowadził do nieneutralnych politycznie i kulturowo decyzji, więc podejście Pleromy ma też zalety, nie chcę skupiać wpisu na swoich opiniach). Ogromny plus za wymienienie projektów, z którymi kompatybilna jest Pleroma. W przypadku Mastodona, taką informację znajdziemy dopiero w dokumentacji. Czy strona Pleromy jest słaba, zła, niedopracowana? Nie, nie próbuję tego sugerować. Czy jest przeznaczona dla osoby bardziej technicznej, bądź gotowej poznawać to wszystko na własną rękę? Owszem. Idąc tym kryterium, Pleroma nie ma takich narzędzi jak katalog użytkowników, trendujące hashtagi, możliwość wyróżnienia wybranych profilów na własnym profilu, a to właśnie takie możliwości mogą pomóc nowo zarejestrowanemu użytkownikowi znaleźć warte uwagi treści.

Pleroma nie implementuje wszystkich funkcji Mastodona jak możliwość migracji konta z Pleromy (w drugą stronę można), ogłoszenia od administratorów czy notatki dot. użytkowników, ale Pleroma po prostu nie jest Mastodonem.

Dobrze, co ma Pleroma, czego nie ma Mastodon?

Przede wszystkim, większe możliwości konfiguracji. Właściciel serwera Mastodona musi modyfikować jego kod źródłowy, np. aby zmienić dozwoloną długość wpisu. Tego typu ograniczenia dla Pleromy mogą zostać łatwo zmienione w panelu administracyjnym. Mastodon ma wiele ograniczeń, które można wytłumaczyć chyba tylko kopiowaniem Twittera, jak brak możliwości dodania zdjęcia i ankiety do wpisu jednocześnie.

Administratorzy, poza panelem, mają możliwość automatyzacji moderacji przez tworzenie MRF (Message Rewrite Facilities), czyli kodu w języku Elixir, mogącego warunkowo edytować lub odrzucać wychodzące lub przychodzące aktywności. Może to być coś tak prostego jak odrzucanie wpisów zawierających niedozwolone słowo, lub coś trochę bardziej złożonego, jak wykorzystanie zewnętrznego API, sprawdzającego, czy zdjęcie powinno zostać oznaczone jako NSFW (te MRF akurat już istnieją, pierwszy jest dołączony do Pleromy i możesz go włączyć w AdminFE). Funkcje moderacyjne dostępne na Mastodonie tj. blokowanie danego serwera też są zaimplementowane przez Pleromę właśnie jako MRF. Pleroma pozwala na większą kontrolę nad prywatnością przy tworzeniu wpisów, np. umożliwiając utworzenie wpisu widocznego tylko na serwerze źródłowym, albo dla użytkowników z listy. Jednocześnie nie bierze udziału w tworzeniu złudzenia bezpieczeństwa/prywatności w implementacji np. funkcji blokad. Powiązany wątek na Twitterze:

Display content from Twitter

Click here to display content from Twitter.
Learn more in Twitter’s privacy policy.

Always display content from Twitter

Użytkownicy Pleromy mają możliwość reagowania na wpisy z użyciem standardowych emoji, oprócz zwykłego like/gwiazdki. Dostępny jest również czat między dwoma osobami, który nie opiera się o wpust o ograniczonej widoczności, więc oznaczając w nich dodatkowe osoby, nie wyślesz im przypadkowo swojej prywatnej wiadomości. Warto wspomnieć, iż w kodzie Mastodona znajduje się niekompletny czat szyfrowany E2E, ale jego ukończenie nie było na razie priorytetem. Pleroma pozwala też na formatowanie wpisów z użyciem ograniczonej składni HTML lub Markdown.

Jak już wcześniej wspomniałem, back-end Pleromy nie jest ściśle powiązany z jej front-endem, co ułatwia modyfikację tego drugiego, a także jego zamianę na inny, co sprowadza się do umieszczenia plików we właściwym folderze (istnieje również pozwalające na to polecenie). Dlatego warto omówić popularne interfejsy.

Pleroma-fe

Interfejs Pleroma-FE z jednym z motywów

Pleroma-FE, czyli frontend Pleromy dołączony do projektu. Opiera się o dwukolumnowy interfejs, gdzie szersza (domyślnie po prawej) kolumna przedstawia główną przeglądaną zawartość, a węższa m.in. pozwala na tworzenie wpisów, sprawdzenie powiadomień i może zawierać panel z informacjami o serwerze. Pleroma-fe posiada wiele opcji pozwalających na dostosowanie interfejsu, zarówno dla użytkowników, jak i administratorów. Użytkownik może np. modyfikować motyw wraz z takimi szczegółami jak cienie pod przyciskiem czy promień zaokrąglenia elementów interfejsu.

Pleroma-FE implementuje większą część funkcjonalności Pleromy (nie wliczając API administracyjnego). Interfejs może nie wydawać się wyjątkowo przyjazny, choć po zmianie tła na stały kolor i motywu na bardziej minimalistyczny, nie tworzy wrażenia tak zatłoczonego.

Masto-FE

Jak można domyślić się po nazwie, jest to interfejs oparty o frontend Mastodona, a dokładniej, o jego modyfikację o nazwie Glitch-soc. Zawiera więcej możliwości dostosowywania niż domyślny interfejs i kilka ciekawych funkcji, których wiele pojawiło się później w czystym Mastodonie. Możemy korzystać zarówno z uproszczonego interfejsu, jak i wielokolumnowego.

Interfejs nie zawiera wielu funkcji Pleromy, jak czaty, reakcje emoji i inne nieobecne w Glitch-soc. Nie ma też choćby możliwości zmiany ustawień profilu. Nie istnieje możliwość zmiany języka interfejsu na inny niż angielski.

Teraz parę szczegółów — interfejs ten również jest dołączony do Pleromy. Wystarczy dopisać /web do adresu swojego serwera. Zostanie on jednak usunięty w przyszłej wersji. Jego obecność wymaga niestandardowej obsługi w kodzie, zawiera nienaprawiane błędy, a autorzy Glitch-soc zmienili nastawienie do twórców Pleromy na wrogie.

W czasie, gdy powstawał ten wpis, MastoFE został usunięty z bieżącej wersji Pleromy. Oczekującym interfejsu podobnego do prostego UI Mastodona polecam spróbować Soapbox, a lubiącym interfejs à la TweetDeck polecam wypróbować np. zewnętrzny webowy klient Sengi.

Soapbox

Interfejs nadchodzącej wersji Soapbox FE

Soapbox, lub Soapbox FE, dla odróżnienia od sforkowanego back-endu Pleromy, to interfejs będący forkiem platformy Gab Social. Początkowo Soapbox był modyfikacją back-endu Mastodona (a dokładniej opartego o Mastodona backendu Gaba), który posprzątał po Gabie usuwając niefederujące się funkcje i naprawiając liczne błędy. Następnie, autor Soapboxa postanowił przenieść jego interfejs na Pleromę, powołując się m.in. na jej wydajność. Po ukończeniu migracji, przeniósł prowadzone serwery na back-end Pleromy.

Układ interfejsu Soapbox do niedawna był zbliżony do poprzedniego interfejsu Twittera, ale jej aktualnie rozwijana wersja została w dużej mierze zaprojektowana na nowo. Pozwala na dostęp do większości funkcji Pleromy, w tym np. edycji aliasów kont, co nie jest możliwe na innych znanych mi front-endach. Soapbox zawiera też prosty panel administracyjny.

Możliwości dostosowania interfejsu nie są tak duże, jak w przypadku Pleroma-FE — mamy do wyboru jasny i ciemny motyw, a administrator może wybrać kolor akcentu interfejsu. Łatwo można zmienić linki w panelu bocznym i stopce strony. Istnieje możliwość dodawania statycznych stron np. z regulaminem przez proste umieszczenie plików HTML we właściwym folderze. Administrator może również podać adresy portfeli kryptowalut, na które można przekazać datek np. na utrzymanie serwera. Wobec braku obsługi motywów takiej, jak w Pleroma-FE, dość przypadkową wydaje się obecność trybu Halloween, dostępnego w obu schematach kolorystycznych.

Interfejs Soapboxa jest prosty w obsłudze, zdarzają się w nim celowo upraszczane elementy, jak np. wybór reakcji emoji — mamy tam do wyboru 6 (zamiast wszystkich dostępnych) emoji, wygląda to podobnie do reakcji na Facebooku. Znajdziemy tu też kilka dodatków, których nie widziałem w innych klientach Fediwersum. Na przykład, o ile dodamy w informacjach o profilu adres portfela kryptowalut opatrzony cashtagiem (np. $BTC), zostanie on wyświetlony w formie pozwalającej na wygodne skopiowanie go, wyświetlenie w formie kodu QR, wraz z linkiem do eksploratora bloków. Chyba łatwo się domyślić, iż autor Soapboxa mocno wierzy w ideę kryptowalut.

Od niedawna, oprócz obsługi wielu kont z jednego serwera, zaimplementowana została możliwość logowania na inne serwery, a także dodano (przywrócono?) obsługę Mastodona. Soapbox-FE może więc funkcjonować zupełnie niezależnie od danego serwera Pleromy.

Alex Gleason, twórca Soapboxa, jest w tej chwili najbardziej aktywnym współautorem Pleromy. Pracuje również nad implementacją grup dla Pleromy. Ma też w planach integrację Soapboxa z BAT i MetaMask, co ma pozwolić na proste przekazywanie środków ($BAT i $ETH) użytkownikom Fediwersum. Funkcje te będą oczywiście dostępne dla użytkowników przeglądarki Brave lub wtyczki MetaMask, jeżeli obawiacie się o prywatność.

Sam korzystam z Soapboxa najczęściej i od kilku miesięcy mam również wkład w ten projekt, więc mogę nie być obiektywny w jego ocenie.

Fedi-FE

Interfejs Fedi-FE (git.pleroma.social/pleroma/fedi-fe)

Fedi-FE to interfejs Pleromy o prostym i przejrzystym wyglądzie, napisany z wykorzystaniem frameworku Ember. Według członka zespołu Pleromy, odpowiedzialnego za ten frontend, jest on już w większości gotowy. Nie miał jednak jeszcze oficjalnego wydania, rozwój od kilku miesięcy praktycznie zatrzymał się, a ostatnio jedyny znany mi serwer korzystający z Fedi-FE przeniósł się (tymczasowo) na Soapbox.

Chciałbym móc wspomnieć choćby o Kenomie, która — niestety — nie jest rozwijana od prawie roku. Nie będę omawiać admin-fe, czyli interfejsu administracyjnego oraz static-fe, czyli opcjonalnego interfejsu nieużywającego JavaScriptu dla niezalogowanych, ponieważ pierwszy ma swoje określone zastosowanie, a drugi nie pozostało szczególnie zachęcający i zwykle nie jest włączony.

Aplikacje mobilne

Ponieważ interfejs Mastodona działa z Pleromą a Soapbox może być wykorzystywany z Mastodonem, łatwo domyślić się, iż liczne aplikacje przeznaczone dla Mastodona są kompatybilne z Pleromą. Rzeczywiście, również wydana niedawno oficjalna aplikacja Mastodona na iOS pozwala na zalogowanie się na serwer Pleromy. Jednak nie pozwalają one na korzystanie z funkcji wyłącznych dla Pleromy.

Użytkownikom Pleromy oczekującym aplikacji mobilnej pozwalającej np. na korzystanie z reakcji emoji polecam wypróbowanie dwóch aplikacji. Pierwsza z nich nazywa się po prostu Fedi. Jest ona dostępna na systemy Android i iOS, prezentuje się bardzo czytelnie, pozwala na korzystanie z wielu kont jednocześnie, obsługuje Mastodona i Pleromę… Druga z nich to Husky, czyli fork popularnej aplikacji Tusky, wzbogacony o obsługę funkcji Pleromy i inne usprawnienia. Jest dostępna wyłącznie na Androida.

Materiał promujący aplikację Fedi (fediapp.com)

Rozwój i przyszłość projektu

Pisząc o Mastodonie i PeerTube, wspominałem o finansowaniu projektów, bądź przez sponsorów, bądź z funduszy takich jak NGI0. W przypadku Pleromy, wraz z końcem marca 2021 projekt utracił stałego sponsora, pozwalającego na rozwój Pleromy przez pracujących na pełny etat programistów. Łatwo zauważyć, iż jednocześnie dynamika rozwoju projektu zauważalnie zmalała, głównym autorem nowych merge requests został wspomniany autor Soapboxa, a zespół tworzący Pleromę poświęca jej wyłącznie część wolnego czasu.

Nie istnieje profil Pleromy na platformie takiej jak OpenCollective (idealny model dla rozwijania projektów open source przez wiele osób), choć jest to planowane. Ponieważ liczba użytkowników Pleromy wzrasta, można spodziewać się, iż uda się rozruszać projekt dzięki darowiznom, a także zachęcić nowe osoby do swojego wkładu. Pozostaje czekać lub upomnieć się o to.

W przyszłych wydaniach Pleromy można spodziewać się wspomnianej obsługi grup (jeżeli implementacja Gleasona pojawi się w upstreamowym repozytorium), poza mniejszymi usprawnieniami. Bardziej zauważalne zmiany dostrzeżemy dość często w Pleroma-FE i Soapboxie (sam mam w tym sporo udziału).

Pleroma jest bardzo funkcjonalną sfederowaną platformą społecznościową, choć nie tak prostą dla nowego użytkownika jak Mastodon. Zachęcam do wypróbowania Pleromy na jednym z ogólnodostępnych serwerów, a także do tworzenia własnych, choćby (a może i przede wszystkim) jedno-/kilkuosobowych.

Polecam przeczytać:

Idź do oryginalnego materiału