Unia Europejska wymusi interoperacyjność komunikatorów, to wielka szansa dla wolności w technologii.

Jak wolnościowe regulacje mogą ocalić komunikatory

Jak wolnościowe regulacje mogą ocalić komunikatory Jan Iłowski

Bardzo nie lubię korzystać z aplikacji, których nie potrzebuję. Staram się utrzymywać minimalną ilość programów, szczególnie na moim telefonie. Każda aplikacja to potencjalne rozproszenie, komplikacja, wektor ataku cyberprzestępców, źródło informacji dla marketerów i rządu, często wszystko razem. Utrzymanie skupienia jest dla mnie bardzo ważne, dlatego nie korzystam z powiadomień.

Kilka razy dziennie powtarzam więc krótki układ baletowy, złożony z otwarcia różnych aplikacji, na których mogłem otrzymać jakąś wiadomość. Najczęściej sprawdzam Signala, potem przychodzi kolej na Thunderbirda bądź NeoMutta (czytniki maili), za którymi zgrabnie podąża kilka ciekawych pokojów na Session, społeczność na Discordzie oraz mała grupka i kilku znajomych z WhatsAppa. Przez ten tłumik przeciska się SMS od starego znajomego, a klamrę na całym spektaklu dopina (o zgrozo) Messenger, który jest wymogiem stawianym przez niektóre organizacje, w szczególności wolontariaty. Przydługie przedstawienie niedługo zostanie wzbogacone o kolejny akt, gdyż moja społeczność została usunięta z Discorda z nieznanego mi, jako administratorowi, powodu. Z tego względu będziemy przenosić się na sieć Matrix, jednak spodziewam się, że pełna migracja może zająć trochę czasu. Z tego względu mój układ taneczny zostanie wzbogacony o kolejny akt, w postaci odświeżania Matrixa.

Powyższy opis nie jest przerysowany. Znam ludzi, którzy posiadają znacznie więcej komunikatorów (bądź innych aplikacji, które posiadają zaawansowaną funkcję czatu, jak chociażby SnapChat bądź Instagram), a jak zaznaczyłem na początku, wykazuję się wybitną wręcz powściągliwością przed instalowaniem jakiejkolwiek nowej aplikacji. Sęk w tym, że każdy z ośmiu komunikatorów spełnia dokładnie tę samą funkcję. Czemu w takim razie potrzebuję ośmiu aplikacji, a nie jednej?

Komiks xkcd.com przedstawiający różne postaci korzystające z niekompatybilnych ze sobą komunikatorów. W efekcie zamykają się w bańkach swoich aplikacji.
Komiks xkcd.com

Brak wzajemnej współpracy między wielkimi platformami technologicznymi jest jednym z problemów, które stara się rozwiązać Unia Europejska, wprowadzając Digital Markets Act (DMA) oraz Digital Services Act (DSA). Rozporządzenia ustalają nowe zasady gry dla największych firm technologicznych. Zachęcam do zapoznania się z podsumowaniem na stronie Fundacji Panoptykon, ja skupię się wyłącznie na jednym z aspektów DMA - interoperacyjności komunikatorów internetowych.

Z wierzchu może się wydawać, że zmuszenie komunikatorów do “rozmawiania” ze sobą będzie stosunkowo proste. Przecież fundamentalnie wszystkie aplikacje czatowe spełniają tę samą funkcję… Niestety, z technicznego (a nawet filozoficznego) punktu widzenia jest to znacznie bardziej skomplikowane. Do problemu podejdę od kilku perspektyw: ekonomisty, regulatora oraz technika.

Ekonomista

Intuicyjną odpowiedzią osób, o podstawowej wiedzy ekonomicznej będzie zwrócenie uwagi na pożyteczny aspekt konkurencji. Przecież wolna konkurencja różnych standardów z czasem musi wyłonić najlepszy!

Cóż, gdyby ten rynkowy ideał w praktyce funkcjonował, organizacje ustalające globalne i regionalne standardy nie byłyby potrzebne. Wbrew pozorom wolna konkurencja nie prowadzi do osiągnięcia równowagi (equilibrium), ale stale do niego dąży. Rynek ciągle galopuje, więc rzadko jest zdolny do ustalenia powszechnie akceptowanych standardów. W jednostkowym interesie każdego gracza rynkowego jest stworzenie i spopularyzowanie standardu, który będzie marginalnie lepszy, lecz niekompatybilny z pozostałymi. Dzięki temu można utrzymać aktualnych konsumentów. Takie podejście płaci szczególnie dobrze sieciom społecznościowym, gdzie ludzi trzymają głównie inni ludzie, a nie fantastyczne funkcje, interfejs czy inne kwestie.

Bitwę o szerokość torów kolejowych za czasów wielkiej konkurencji firm kolejowych rozwiązał brytyjski regulator (pasażerowie niektórych linii musieli przesiadać się między różnymi pociągami wyłącznie ze względu na niekompatybilność torów. Regularny i bezsensowny przeładunek towarów również generował koszty). Kontenery, czyli symbol globalizacji i kapitalizmu, nie mogłyby istnieć, gdyby nie wspólna praca dwóch instytucji rządowych: International Standards Organisation (ISO) oraz U.S. Maritime Administration.

Przykłady można mnożyć, jednak moim wnioskiem jest, że ustalanie powszechnie obowiązujących standardów nie jest domeną działania rynku, rządy zdają się działać znacznie sprawniej na tym polu.

Regulator

Rozsądny regulator dostrzeże więc obszar, w którym rynek nie dopełnia swojej funkcji, nie dostarcza możliwie najbardziej efektywnego rozwiązania i będzie próbował ten obszar przejąć bądź uregulować. Powinien dostrzec również zagrożenie w ewentualnym zwycięstwie którejś aplikacji, co może doprowadzić do stagnacji bądź monopolu, ponieważ sieci społecznościowe nie konkurują jakością produktów, ale liczebnością grupy użytkowników.

Naturalnym działaniem antymonopolowym jest dzielenie większej firmy na mniejsze, konkurujące między sobą, jednak rozdrobnienie w przypadku komunikatorów będzie kontrproduktywne. Najbardziej rozsądnym działaniem będzie w tym wypadku zakończenie faworyzowania własnych usług względem innych.

Technik

Chociaż czy komunikatory faktycznie stosują uzasadnioną chciwością faworyzację? Przecież Signal, którego rozwija organizacja non-profit, jest wolną i otwartą aplikacją, która nie może wyświetlać ani wysyłać wiadomości przesłanych przez użytkownika innych wolnych programów jak XMPP, Matrix, Session i tak dalej.

Komunikatory nie mogą ze sobą współpracować, ponieważ istotnie różnią się pod spodem. Wszystkie wyżej wymienione aplikacje i protokoły teoretycznie spełniają te same funkcje, jednak przetwarzają wiadomości zupełnie inaczej.

XMPP jest zdecentralizowany i potrzebuje konkretnego serwera, z którym mogłoby się połączyć i przesłać przez niego wiadomość. Signal wyśle tę samą wiadomość przez swoje własne serwery, żeby uprościć obsługę aplikacji i zapewnić wysoką (homogeniczną) jakość usługi, jednak domyślnie będzie ona zaszyfrowana End-to-End, co oznacza, że nawet pracownicy Signala nie mogą odczytać wiadomości użytkowników, w przeciwieństwie do części administratorów serwerów XMPP, które nie używają specjalnej wtyczki obsługującej ten typ szyfrowania. Session idzie o krok dalej i przesyła pozbawione metadanych wiadomości na serwery swojej sieci korzystając z Onion Routing, żeby ukryć adres IP użytkownika, dzięki czemu twórcy aplikacji nie mają pojęcia kto z kim rozmawia, ani że w ogóle ktoś o czymś rozmawia. Użyłem słowa “sieć” ze względu na zdecentralizowaną naturę tej aplikacji (przesyłanie załączników nadal jest scentralizowane, jednak ma się to niedługo zmienić). Każdy z wyżej wymienionych programów jest pozornie podobny, jednak dostarczają one zupełnie różne usługi.

Istnieją programy, które od dawna próbują wspierać wiele różnych protokołów. Pidgin wspiera dziesiątki różnych standardów, od Discorda przez Facebooka po Battle.net i czat w grze Heroes of Newerth oraz Gadu-Gadu. Użytkownik może instalować wtyczki zawierające wsparcie dla różnych form komunikacji. Dla części użytkowników Pidgin będzie rozwiązaniem problemu, jednak nie sądzę, żeby stał się popularną formą wysyłania wiadomości. Pidgin nie posiada aplikacji mobilnej, a jego interfejs jest pozbawiony nowoczesnego wyglądu oraz potoku złożonych funkcji, przypomina raczej graficzne klienty IRC (którego również wspiera). Wsparcie dla wszystkiego, co wykracza poza podstawową wymianę tekstu, jest bardzo ograniczone. Rozmowy głosowe są dostępne wyłącznie dla użytkowników XMPP. Jeśli jesteś gotów porzucić wszelkie konsoomenckie przyzwyczajenia oraz niektóre z realnie przydatnych funkcji, Pidgin jest stworzony dla Ciebie. Konsoomenci będą musieli znaleźć inne rozwiązanie.

Jedną z możliwości jest powszechne korzystanie z tzw. mostków, czyli programów, które czytają wiadomości w jednej aplikacji, przesyłają je na drugą i vice versa. Najczęściej przybierają formę botów, które można zaprosić do czatów grupowych z obu aplikacji. W gruncie rzeczy próbując zmniejszyć ilość potrzebnych standardów przesyłu wiadomości, zwiększamy ją o kolejny, który najczęściej nie dba o odpowiednie szyfrowanie wiadomości (albo nie może ich odpowiednio szyfrować przez konstrukcję niektórych aplikacji), przez co treść czatów grupowych może w niektórych przypadkach wyciec. Mostki są prawdopodobnie jednym z najgorszych rozwiązań, które będą miały realne zastosowanie w bardzo specyficznych przypadkach, jak chociażby synchronizacja wiadomości między serwerem gry MineCraft a Discordem (aplikacją czatową dla graczy).

Możliwe jest stworzenie wspólnego standardu, który będzie musiał być wspierany przez wszystkich dużych graczy. W przypadku takiego rozwiązania diabeł tkwi w szczegółach. Hipotetyczny standard powinien być wolny i szanujący prywatność użytkowników, chociaż już te założenia generują wiele wyzwań i możliwych niedopatrzeń, które mogą stać się niekorzystne dla użytkownika. Steve Bellovin, który jest badaczem cyberbezpieczeństwa na Columbia University twierdzi, że zmuszenie różnych aplikacji do współpracy zmusi je do obniżenia standardów prywatności. Chociażby szyfrowane czaty grupowe, wspierane przez Signala, nie będą dostępne na Telegramie. W takim wypadku standard szyfrowania będzie musiał zostać obniżony do najniższego z dostępnych. Komunikacja międzyplatformowa będzie również ograniczona do najbardziej podstawowych funkcji, co ograniczy innowację i dostępność funkcji specyficznych dla danej aplikacji.

Współpraca komunikatorów rodzi mnóstwo bardzo istotnych pytań z punktu widzenia prywatności. Wyobraźmy sobie hipotetyczną rozmowę między Janem, który jest użytkownikiem Signala, oraz Alicją, która woli Messengera. W jaki sposób musimy zainicjować kontakt? Czy muszę posiadać konto na FaceBooku? Czy FaceBook będzie znał mój numer telefonu? Czy mój telefon będzie łączył się bezpośrednio z serwerami FaceBooka?

Niektórzy proponują korzystanie z zaufanego pośrednika, co rozwiąże problem połączeń z serwerami nieszanujących wolności ani prywatności platform, jednak swoją konstrukcją przypomina skrajnie problematyczne “mostki”, o których wspomniałem wyżej.

Rozszerzenie wolności

Zmuszenie komunikatorów do współpracy jest porównywalne ze zmuszeniem potentatów kolejowych do zaakceptowania uniwersalnego standardu budowy torów przez rząd Wielkiej Brytanii. Jeżeli faktycznie dojdzie do skutku, użytkownicy unikną konieczności przesiadania się między pociągami, co w dzisiejszych czasach wyraża się korzystaniem z wielu różnych aplikacji, które często nie szanują wolności użytkowników. Możliwość komunikacji ze znajomymi z FaceBooka korzystając wyłącznie z Signala, zburzy najistotniejszy argument za utrzymywaniem kont na niewolnych sieciach społecznościowych: rozbudowaną sieć zarejestrowanych użytkowników.

Unia Europejska powinna ustalić bardzo jasne i konkretne wymogi techniczne, które będą musiały spełnić największe komunikatory. Wszelkie wprowadzane rozwiązania powinny być oparte o wolne oprogramowanie i szanować prywatność użytkowników, w najlepszym wypadku wymuszając szyfrowanie end-to-end.

W mojej ocenie UE ewidentnie podąża w bardzo dobrym kierunku. Teraz musi znaleźć sposób na dopasowanie do siebie ostatnich elementów układanki.


⏮ Poprzedni artykuł:
Jaką przeglądarkę wybrać?
Kolejny artykuł ⏭:
GitWeb - Instalacja i podstawy konfiguracji