Internet w stylu retro: Gopher, czyli nostalgia za świstakami

Strona głównaInternet w stylu retro: Gopher, czyli nostalgia za świstakami
23.02.2016 17:01
Internet w stylu retro: Gopher, czyli nostalgia za świstakami

W najlepszym razie nazwiecie to ciekawą internetową archeologią,w najgorszym razie uznacie to za nekrofilię. Zapraszamy Was napodróż przez port 70 po gopherspace, przestrzeni informacji októrej zapomniano już na początku tego stulecia, a która byłapięknym i czystym prekursorem WWW w czasach, gdy treść byławszystkim, a forma niczym. Dla starszych Czytelników będzie to możemiłe wspomnienie, dla tych młodszych wejrzenie w świat, którynigdy nie nastał – bo warto podkreślić, że był czas, gdyprotokoły HTTP i Gopher współistniały, wręcz rywalizując zesobą. Skończyło się tak jak wiecie, w końcu czytacie te słowana stronie WWW serwowanej przez protokół HTTP. A czy mogłoskończyć się inaczej?

Dzień świstaka

Przez chwilę bowiem, a właściwie to sam początek lat 90,Gopher był przyszłością Sieci. Pomyślany jako protokół doserwowania plików po TCP/IP, w rodzaju FTP czy Telnetu, był jednakmocno zorientowany na obsługę dokumentów z linkami i menu.Dokumenty oczywiście były czysto tekstowe, formatowane z myślą omożliwościach antycznych terminali tekstowych, a ich menu stanowiłyściśle zdefiniowane hierarchiczne drzewa. Tym, co odróżniałoGophera od normalnych BBS-ów była jednak otwartość – jeślimiało się już adres dokumentu, to można było do tego dokumentulinkować z dowolnego innego dokumentu w tzw. gopherspace, czyliwirtualnej przestrzeni dokumentów serwowanych po tym protokole.

Lekkość protokołu i jego prostota, oraz szybkość wdrożenia iskonfigurowania serwerów sprawiły, że Gopher zaczął być szybkostosowany przez systemy informacji uniwersyteckiej w USA, tworzące wten sposób pierwsze wspólne elektroniczne biblioteki. W czasach,gdy nikt jeszcze nie myślał o stronach WWW czy katalogach LDAP,ludzie wyszukiwali swoje adresy poczty elektronicznej, przeglądającgopherową hierarchię w poszukiwaniu serwerów nazw Qi, by odpytaćje o dane kontaktowe za pomocą klientów Ph. I ludziom się topodobało – nawet gdy pojawiły się pierwsze serwery WWW, wielunarzekało, że to tylko bałagan, a chaotyczna forma dokumentu HTMLsprawia, że nie da się tego czytać. W dodatku WWW nie miałowówczas żadnej dobrej wyszukiwarki, podczas gdy zawartośćgopherspace łatwo było przeglądać za pomocą wyszukiwarkiVeronica (Very Easy Rodent-Oriented Net-wide Index to ComputerArchives).

Tak się kiedyś przeglądało treści w Internecie (źródło: freeshell.org)
Tak się kiedyś przeglądało treści w Internecie (źródło: freeshell.org)

I kto wie, jak by się to wszystko potoczyło, gdyby nie jedengłupi ruch University of Minnesota, uczelni, która miała prawaautorskie do serwera Gophera. Jej włodarze w 1993 roku wymyślilisobie, że będą pobierać opłaty licencyjne za korzystanie z ichserwera, co wywołało panikę wśród twórców niezależnychimplementacji (a były to czasy, gdy nikt specjalnie nie wiedział, oco chodzi z licencjonowaniem Open Source). Pojawienie się na Uniksy,a potem także na Windowsy graficznej przeglądarki Mosaic załatwiłosprawę. Uznano, że HTML nie jest taki trudny i da się z nim żyć– i rozpoczął się masowy eksodus do WWW. Z dziesiątek tysięcyserwerów Gophera zrobiły się tysiące, a potem setki.

Do 1995 w zasadzie wszystko było już pozamiatane. W roku tympróbowano jeszcze wskrzesić Gophera za pomocą szalonego pomysłuna wirtualną rzeczywistość GopherVR (tak, ludzie wcale nie zaczęlisię ekscytować VR-em na tegorocznych targach MWC w Barcelonie), alenic z tego nie wyszło, mimo że miało być równie wspaniale, jak wNeuromancerze Williama Gibsona. Ot, przyszłość w stylu retro,która nigdy nie nadeszła, która zdołała jedynie przedstawićprototypową wersję, by zaginąć niebawem w awarii serwera FTP. Imimo że w roku 2000 University of Minnesota wydało kod serweraGophera na licencji GPLv2, niczego to nie zmieniło. W połowiepoprzedniej dekady liczba serwerów Gophera spadła poniżej setki. Wkońcu wsparcie dla tego protokołu zaczęły zarzucać kolejneprzeglądarki – Internet Explorer 6 (kończąc wraz z aktualizacjąMS02-047), Firefox (kończąc na wersji 3.6) czy SeaMonkey (kończącna wersji 2.1).

Proste hierarchie, trudne konfiguracje

Skoro zatem świstak (bo tak nazywano w Polsce ten protokół,mimo że gopher to po angielsku zupełnie inne zwierzątko, amianowicie niewystępujący u nas goffer) już się skończył, to poco o nim wspominać poza encyklopedycznymi przypisami do historiiInternetu? Są dwa powody, które naszym zdaniem usprawiedliwiająten tekst.

Pierwszy to powód techniczny. Gopher jest bardzo prosty, takprosty, że nie potrzebuje własnego klienta. Jak ktoś się uprze,może korzystać z takich narzędzi jak netcat, by przeglądać posesji TCP zasoby serwera udostępniane na porcie 70 (domyślny portserwera WWW to 80). Do serwera wysyła się ciąg znaków, tzw.selektor, po którym następuje powrót karetki i obrót wałka donowej linii, czyli sekwencja CR LF (przypomnijcie sobie maszynę dopisania). Selektor identyfikuje jednoznacznie dokument, a jeśli jestpusty, to serwer zwróci domyślny katalog, wraz ze swoim menu,składającym się z linii zawierających zawsze pięć pól: typobiektu, opis, selektor, nazwę hosta i numer portu.

Typ obiektu zapewnić miał rozszerzalność protokołu.Początkowo były tylko dwa obiekty, 0 – tekst i 1 – lista menukatalogu, potem pojawiły się wspomniane serwery nazw Qi, daneheksadecymalne, binarne archiwa, sesje Telnetu. W końcu doszły dotego obrazki GIF, JPG, pliki HTML, a nawet pliki dźwiękowe. Powybraniu pozycji w menu reprezentującej określony rodzaj dokumentu,jego treść była albo bezpośrednio wyświetlana na ekranie, alboprzekazywana do klienta analogicznie jak w FTP, by zostać zapisaną,lub w niektórych wypadkach (np. plikach graficznych) takżewyświetloną. W wypadku odnośników do sesji telnetowych, gopherwywoływał po prostu klienta telnetu celem nawiązania połączenia.

Jak widać więc, gopher jest rozproszonym systemem linków,podobnie jak WWW. Na czym polega więc główna różnica? Wdokumentach HTML wystarczy umieścić w treści HTML znacznik A zadresem URL, by połączenie z tym adresem zostało zrealizowaneprzez przeglądarkę. W gopherze jednak w procesie linkowaniauczestniczy serwer, który w swoich plikach konfiguracyjnych musimieć opisane połączenia między serwerami gopherspace.

Dlatego też Gopher jest nie tyle systemem hipertekstu, co raczejsieciowym systemem plików tylko do odczytu – i można go taktraktować. Jeśli macie pod ręką linuksową maszynę lub Maka,możecie skorzystać z systemu plików gopherfs,który podłączany jest jako moduł FUSE i pozwala na przeglądaniegopherspace za pomocą zwykłego menedżera plików, takiego jak np.Midnight Commander (mc).

Hipster browsing

Drugi powód jest kulturowy – gopher nie umarł, lecz zszedł doinformatycznego podziemia (złośliwi powiedzą raczej: piwnicy),gdzie cieszy się upodobaniem nie tylko brodatych nerdów w szelkach.Niemałe grono pasjonatów uruchamia nowe serwery, wypełniagopherspace treścią, a nawet… rozwija oprogramowanie serwerowe iklienckie. To prawdziwy fenomen: ostatnie wersje oprogramowaniaserwerowego gophera, takiego jak GoFish,Gophernicus czy Motsognirpojawiły się w ciągu minionego roku, zaczęto też implementowaćzaproponowane w 1993 roku rozszerzenia Gopher+,przynoszące obsługę metadanych, interaktywne zapytania, opisyobiektów i różne widoki dokumentów.

Jak ktoś chce uruchomić swojego własnego świstaka, to polecićmożemy ostatni kultowy uniksowy hosting, Super Dimension FortressPublic Access Unix System, który znajdziecie pod adresem sdf.org.A jeśli zechcecie tam coś wypisać, to przydać się możenarzędzie do formatowania akapitów par,za pomocą którego ładnie zawiniecie wszystko do klasycznych 67znaków w linii.

Rozwijane są też oczywiście klienty Gophera. Może iprzeglądarki normalnie już Gophera nie obsługują, ale Firefoksowi(i SeaMonkey) łatwo jest przywrócić utraconą funkcjonalność,instalując dodatek OverbiteFF.Dla Chrome'a dodatek po zmianach w API tej przeglądarki, którewprowadzono wraz z Chrome 24m już nie działa, ale w tym wypadkumożna skorzystać z publicznego proxy Floodgap.Z początkiem tej dekady pojawił się też eksperymentalny klient naAndroida,choć trzeba przyznać, że chyba o pracach nad nim szybkozapomniano. W AppStore można za to znaleźć kosztującego 2 dolaryklienta dlaiOS-a, z którym możemy przeglądać sieć tak, jakby to wciążbył 1991 rok.

Gopherowa wyszukiwarka Veronica-2
Gopherowa wyszukiwarka Veronica-2

Działa też wciąż wyszukiwarka Veronica, a właściwie jejreimplementacja pod nazwą Veronica-2(link do gopherspace). Obecnie zidentyfikowała ona w Sieci 127unikatowych serwerów Gophera, zawierających ponad 3,8 mlnunikatowych selektorów. Wśród nich sporą znajdziemy np. phlogi,tj. gopherowe blogi, które wygenerować można np. z WordPressa, zapomocą narzędzia WP2Gopher.Tak, dobrze myślicie, komentujemy wykorzystując serwer telnetu.

Nowy GopherVR bez problemów skompilował się na Linuksie
Nowy GopherVR bez problemów skompilował się na Linuksie

To nie wszystko. W październiku zeszłego roku, hobbyści ożywiliprojekt GopherVR, wydając jego nowąwersję, zbudowaną na bazie kodu z minionego stulecia. Kompilujesię na Linuksie i OS-ie X – i choć niedokończona, pozwala siępobawić w cyberpunkowego hakera. Jak więc widzicie, z jakiegośpowodu jest grono ludzi, które Gophera darzy gorącym uczuciem.

A tak naprawdę, to po co to komu?

Hobby nie potrzebuje usprawiedliwień, w końcu kto hobbyściezabroni? Fani Świstaka twierdzą jednak, że to więcej, niż tylkozabawka, i więcej niż tylko próba odpoczęcia od przeładowanegosensorycznie WWW. Gopher, rozłączając interfejs od treści,pozwala spojrzeć na nowo na wartość hierarchicznych strukturdanych, w których odpowiedzi udzielane użytkownikom sąprzewidywalne w formie, wolne od wszystkiego co zbędne – i przezto przyjaźniejsze dla użytkowników.

Miałby też Gopher być zarazem odpowiedzią na potrzebęzapewnienia możliwości przeglądania danych w środowiskach oniskiej mocy obliczeniowej. Lekki protokół, format, który jestwręcz trywialny do parsowania, wymogi sprowadzające się doposiadania stosu sieciowego – to wszystko mogłoby uczynić zGophera interesujące rozwiązanie dla Internetu Rzeczy, strukturędanych, która zapewniając interoperacyjność z WWW (nietrudno jesttreści z Gophera odziać przecież w CSS i skrypty JS), wciążbyłaby czymś więcej, niż tylko przejawem nostalgii.

Jak to będzie w przyszłości – trudno powiedzieć. Na raziezapraszamy do zainstalowania Overbite i wypróbowania Świstaka nanowo.

Programy

Aktualizacje
Aktualizacje
Nowości
Udostępnij:
Komentarze (27)