14 listopada 2007

Wybierz Jabbera

Tytułem wstępu

Chciałbym Cię w tym (przyznaję — przydługim) tekście namówić do przynajmniej wypróbowania Jabbera. Jeśli się nie zdecydujesz na podjęcie tego kroku — trudno. Za kilka lat to właśnie Jabber (lub inna sieć zgodna z XMPP) będzie z pewnością powszechnie używany przez większość internautów. Do zobaczenia więc w tej sieci za jakiś czas, szkoda że nie już teraz.

Dlaczego nie warto używać GG?

Protokół ("język" używany do komunikacji między klientami i głównym serwerem) wykorzystywany przez sieć gadu-gadu jest bardzo ułomny.
Nie posiada autoryzacji, przez co nie mamy możliwości dobrego kontrolowania tego kto może czytać nasz status. Opcja "tylko dla znajomych" dostarcza tylko ułamek możliwości prawdziwej autoryzacji czy list prywatności, dostępnych w Jabberze.
Gadu-gadu posiada tylko trzy stany:
  • dostępny
  • zaraz wracam
  • niedostępny
(stan niewidoczny, jako podszywający się pod jeden z tych stanów, został pominięty), tak mała liczba stanów praktycznie uniemożliwia rozpoznanie po stanie czy rozmówca chce/może/ma ochotę rozmawiać, co więcej wypaczyła pojęcie stanów jako takich: zaraz wracam traktowane jest przez wiele osób jak "dostępny", niewidoczny jako "nie przeszkadzać".
Status opisowy posiada ograniczenie liczby znaków do 70, mniej niż długość przeciętnego zdania.
Wysyłana wiadomość ma ograniczenie wielkości do ok. 1980 znaków, nie da się z oryginalnego klienta wysłać dłuższej wiadomości. Co ciekawe z nieoficjalnego klienta da się wysłać nieco dłuższą wiadomość (ok. 1990 znaków), ale wtedy wychodzi na jaw błąd w protokole — oprócz wysłanej wiadomości do adresata dochodzi kolejna o treści:
dziękuję za odpowiedź.PozdrawiamMałgorzata Bryłka
(pisownia oryginalna), oczywiście nie wysłana przez nadawcę (niewykluczone, ze w innych przypadkach docierać będą inne "zagubione" wiadomości). Próba wysłania jeszcze dłuższej wiadomości (ok. 2000 znaków) kończy się wylogowaniem z serwera gadu-gadu.
Gadu-gadu używa do kodowania znaków pseudostandardu CP-1250, przez co możliwe jest wysyłanie i odbieranie wiadomości wyłącznie pisanych z polskimi znakami, nie da się wysłać wiadomości zawierającej nietypowe dla polskiego alfabetu znaki diakrytyczne czy wręcz pisane w niełacińskim alfabecie.

Gadu-gadu, wzorem ICQ, do identyfikacji użytkownika używa numeru, co stwarza szereg problemów i możliwości nadużyć:
  • w numerze łatwo się pomylić, przypadkiem możemy się połączyć z inną osobą niż zamierzaliśmy
  • numer trudniej zapamiętać (zarówno własny jak i osoby, z którą chcielibyśmy się komunikować), o wiele łatwiej zapada w pamięć "human friendly" login złożony z nielosowych liter
  • łatwo zaspamować (zmora tej sieci) dużą ilość kont programując bota spamującego, aby wysłał wiadomość do określonej puli numerów, dużo ciężej jest zebrać bazę adresów złożonych z loginów

Protokół gadu-gadu jest bardzo mało bezpieczny, do dziś (po blisko siedmiu latach od powstania) nie zostało wprowadzone szyfrowanie SSL, używane od dawna w innych komunikatorach, w poczcie elektronicznej, do komunikacji z bankami internetowymi, na serwisach aukcyjnych. etc.
Bardzo łatwo da się podsłuchać rozmowę przez gg w sieciach LAN lub z użyciem trojana. Można również podsłuchać hasło (które, wbrew zapewnieniom Gadu-Gadu S.A., w pewnych przypadkach przesyłane jest otwartym tekstem) i przejąć cudze konto. Łatwo da się również odczytać hasło zapisane w profilu — program dekodujący "szyfrowanie" użyte do zapisania hasła w pliku config.dat liczy niecałe 70 linii kodu. Odczytanie archiwum rozmów także nie stanowi żadnej trudności.

Gadu-gadu utrudnia (lub wręcz uniemożliwia) komunikację z osobami niedostępnymi. Dostarczanie wiadomości do osób offline obarczone jest irracjonalnymi limitami. Długość kolejki wiadomości do osoby niedostępnej ograniczona jest do zaledwie 20 wiadomości (dla przykładu na jabberowym serwerze chrome.pl limit ten wynosi 500), pozostałe wiadomości giną w niebycie. Co więcej ani nadawca, ani odbiorca nie są informowani o zapełnieniu owej kolejki i tym, że jakaś wiadomość nie zostanie/nie została dostarczona. Oczywiście firma Gadu-Gadu S.A. zapomniała o tym poinformować swoich użytkowników.

Na początku maja 2007, przez około tydzień, codziennie około godziny 5:00 wiadomości offline były kasowane z serwera. Łącząc się rano z serwerem gadu-gadu nie otrzymywało się wiadomości, które zostały wysłane od ostatniego wylogowania (chyba, że wiadomość została wysłana po 5:30). Nie ustalono, czy było to celowe działanie, mające na celu zmniejszenie obciążenia serwera, czy niezamierzona awaria. Nawet jeśli była to awaria zwraca uwagę fakt, że naprawienie problemu zabrało Gadu-Gadu S.A. aż tydzień. Na stronie gadu-gadu nie pojawiła się, żadna informacja, że takowy błąd występował lub został naprawiony. Nie wiadomo czy był to jednorazowy przypadek, czy sytuacja powtarzająca się co jakiś czas.
Ponadto w różnych okresach (święta wielkanocne i bożonarodzeniowe, sylwester) możliwość dostarczania wiadomości (np. życzeń) do osób niedostępnych jest całkowicie wyłączana.

Oficjalny klient gadu-gadu istnieje tylko dla jednego systemu operacyjnego Windows. Użytkownicy Linuksa, *BSD, MacOS X, Solarisa i innych systemów operacyjnych zdani są wyłącznie na niezależnych programistów — przy czym korzystanie z nieoficjalnych klientów bądź jego przeróbek jest niedozwolone, a firma gadu-Gadu S.A. uniemożliwia ich używanie. Żeby było jeszcze ciekawiej wg regulaminu gadu-gadu niedozwolone jest również komunikowanie się z osobami, które używają alternatywnych klientów — nawet jeśli samemu się korzysta z oficjalnego.
Oficjalny klient jest, podobnie jak protokół, bardzo niedopracowany i ubogi w — często podstawowe — funkcje. Praktycznie nie mamy możliwości skonfigurowania klienta wg własnych upodobań.
W oryginalnym kliencie używane są elementy kontrowersyjnej przeglądarki IE, przez co sam klient może być niebezpieczny dla systemu operacyjnego — w sieci znajduje się mnóstwo opisów wirusów i trojanów rozsyłanych przez gadu-gadu bez żadnej ingerencji użytkownika.
Przeładowany jest niepotrzebnymi dla komunikatora rzeczami jak radio, zajmuje zasoby komputera wszędobylskimi reklamami (abstrahując od tego, że chyba nikt nie życzy sobie aby jego pulpit był cudzym billboardem).

Serwery gadu-gadu są bardzo niestabilne, mają skłonność do częstego padania (od czego sieć dostała przydomek padu-padu). Zazwyczaj są to kilku-, kilkunastominutowe przerwy, choć zdarzają się i dużo dłuższe (nawet kilkunastogodzinne) pady.
Sieć gadu-gadu jest scentralizowana, awaria jednego z serwerów wpływa na działanie całej sieci. Przykładowo awaria HUB-a uniemożliwia zalogowanie do sieci.

Do niedawna można było uniknąć niedogodności złego klienta używając alternatywnego programu. Jednak ostatnio postawa firmy Gadu-Gadu S.A. zmieniła się, zaczęła zmuszać swoich użytkowników (bezpośrednio tych używających nieoficjalnych klientów, pośrednio każdego użytkownika sieci) do korzystania z oficjalnego klienta w ordynarny, zaprzeczający komunikacji (sic! jedyny niekomunikujący komunikator!) sposób:
> poprzez podmienianie informacji przesyłanych przez rozmówcę, zamiast plików i wiadomości kierowanych do użytkownia gadu-gadu docierały takie treści:
Powiadomienie: Przesyłam Tobie właśnie plik. Posiadasz jednak starszą wersję aplikacji na której mogą wystąpić problemy z odbiorem pliku. Zaktualizuj proszę swoje Gadu-Gadu do najnowszej wersji. Znajdziesz ją na stronie Gadu-Gadu.
> poprzez banowanie użytkowników za niekorzystanie z oficjalnego klienta:
Aby łączyć się z Gadu-Gadu, użyj oficjalnego klienta.
Wysyłanie wiadomości z Twojego konta zostało czasowo zablokowane.
> poprzez blokowanie całego serwera udostępniającego transport z Jabbera do GG (http://forum.jabberpl.org/index.php?showtopic=6747).

Co ciekawe podobne szykany spotykały osoby, które używały oficjalnego klienta, tyle że w starszej wersji (a tym samym nie łamały żadnego punktu regulaminu — nigdzie nie ma nakazu używania określonej wersji oficjalnego klienta).

Dlaczego właśnie jabber?

Po pierwsze Jabber/XMPP to oficjalny standard sieciowy w dziedzinie natychmiastowej komunikacji (Instant Messaging), taki sam jak standard HTTP dla przesyłania hypertextu (czyli stron www), FTP do przesyłania plików, POP3+SMTP lub IMAP do obsługi poczty elektronicznej. Jabber jest dużo popularniejszy niż konkurent z Polski: gadu-gadu używa łącznie około 6 milionów osób (dziennie 3 miliony) (wg danych z www.gadu-gadu.pl), liczba użytkowników Jabbera szacowana jest na około 40-50 milionów — ze względu na rozproszony charakter oraz możliwość postawienia niepublicznego serwera przez każdego, trudniej określić (wg danych z www.jabber.org; w zestawieniu nie ujęto zamkniętych sieci, np. korporacyjnych).
Jabber jako protokół jest używany m.in. przez takie firmy i instytucje jak wp.pl (Spik, dawniej WPKontakt), o2.pl (Tlen, jednak ta sieć jest zamknięta na resztę jabberowego świata), Google (GTalk), Akademia Górniczo-Hutnicza, Szkoła Główna Handlowa, Politechnika Warszawska. AQQ rozpoczęło już migrację na Jabbera i od wersji 2.0 będzie to główny protokół. Rozwój Jabbera wspierają m.in. takie firmy jak IBM, Apple, Sun Microsystems, Nokia, Sony, Google, HP, Disney i wiele innych.

Jabber rozwijany jest w środowisku FLOSS, cała specyfikacja protokołu oraz kody serwerów są otwarte, każdy może zainstalować własny serwer (np. w domenie z własnym nazwiskiem, nazwą firmy, w zamkniętej sieci do wewnętrznej komunikacji np. w korporacji).
Nie ma prywatnej firmy dyktującej absurdalne warunki używania, tylko jest otwarta społeczność ceniąca sobie przed wszystkim wolność użytkownika.
Administratorzy serwerów (zazwyczaj dostępni pod JID-em admin@serwer) są normalnymi ludźmi, z którymi bez problemu można się dogadać i poprosić o jakieś rozwiązanie, liczą się oni ze zdaniem swoich użytkowników (oczywiście o ile jest to zdanie racjonalne) — porównaj tę sytuację z punktem 14. regulaminu gadu-gadu. A jeśli mimo wszystko dogadać się nie można, to zawsze można zmienić serwer.
Nie ma narzuconego jedynego słusznego klienta, tylko jest ich wiele: Pidgin (dawniej Gaim), Miranda, Gajim, Psi, GTalk, mcabber, ekg2 i inne. Działają na wielu systemach operacyjnych, a nawet na urządzeniach innych niż komputer osobisty — na komórkach, palmtopach, etc. Każdy klient ma własną specyfikę, różne możliwości konfiguracji. Dzięki wzajemnej konkurencji nieustannie się rozwijają.
Korzystając z Jabbera nie jesteś zmuszany do oglądania żadnych reklam.

Protokół Jabbera, w porównaniu do swojego konkurenta, jest bardzo rozwinięty:
  • autoryzacja oraz listy prywatności zapewniają wysoką ochronę prywatności, nikt niepowołany nie doda nas do swojej listy kontaktów, nie odczyta naszego stanu, nie wyśle do nas wiadomości, etc.
  • posiada mechanizm powiadamiania o działaniu, dzięki temu wiemy czy nasz rozmówca coś do nas pisze — nigdy więcej głupich pytań "jesteś?", "co na to powiesz?", "czemu nic nie piszesz?", etc. przerywających tylko naszemu rozmówcy dłużej komponowaną wypowiedź. Ponadto niektóre klienty informują czy osoba, z którą rozmawiamy przełączyła okno na jakieś inne i nie czyta tego co piszemy, a może zamknęła już okno rozmowy
  • można się połączyć z wielu miejsc jednocześnie, a dzięki zasobom i priorytetom można określać do którego klienta wiadomość zostanie wysłana. Domyślnie wiadomość wysyłana jest do klienta posiadającego najwyższy priorytet, można też ręcznie określić gdzie chcemy wysłać naszą wiadomość. Ponadto dzięki zasobom można łatwo zasygnalizować gdzie aktualnie się znajdujemy (przez wpisanie np. "praca", "dom"; co zresztą jest zalecaną metodą ustawiania zasobów)
  • do dyspozycji mamy dużo stanów: Dostępny, Chętny do rozmowy, Zaraz wracam, Nieobecny, Nie przeszkadzać, Niewidoczny (obecnie funkcja tego stanu jest przenoszona na listy prywatności, część serwerów oraz najnowszych wersji klientów już nie umożliwia ustawienia takiego stanu), Rozłączony. Dzięki temu nie ma problemu z przekazaniem naszej sytuacji/nastroju do rozmowy osobom z naszej listy
  • długi status opisowy, wielokrotnie dłuższy niż 70 znaków z gadu-gadu (teoretycznie nieograniczony, były zakończone powodzeniem próby ustawienia jako opis pierwszej księgi Pana Tadeusza), z pewnością przekażesz co chcesz bez żadnych "SztuczekZPisaniemBezUżyciaSpacji"
  • roster, czyli lista kontaktów, przechowywany jest na serwerze, skądkolwiek się łączysz zawsze masz dostęp do najnowszej wersji swojej listy kontaktów.
  • W Jabberze dzięki transportom można się kontaktować z użytkownikami innych sieci komunikatorów, niektóre serwery posiadają również transport e-mail
  • Jabber używa kodowania UTF-8 (Unicode), dzięki czemu zawsze do naszego rozmówcy dochodzi taka wiadomość, jaką wysłaliśmy — bez względu na alfabet czy znaki diakrytyczne
Jabber jest siecią rozproszoną (podobnie jak e-mail), dzięki temu awaria jednego serwera nie wpływa na pozostałe. Notabene awarie są rzadkie, najpopularniejsze polskie serwery (nie licząc rozwojowego serwera chrome.pl) posiadają czas działania ponad 98% (najstabilniejsze nawet ponad 99%).

Jak zainstalować?

(Instrukcja w osobnym wpisie.)

2 komentarze:

Anonimowy pisze...

NASK uzywa jabbera wewnetrznie,
pracownik NASK :)

janusz.marki pisze...

Nie wiem czemu fakt ze rozmowca wie ze w danym momencie nie mamy akurat aktywnego okna komunikatora jest zaleta. Dla mnie to inwigilacja danej osoby.