Komu tak na prawdę służy ten serwer?

Richard Stallman

(Pierwsza wersja opublikowana w Boston Review.)

W Internecie, oprogramowanie własnościowe nie jest jedyną drogą do utraty wolności. Usługa zastępująca oprogramowanie [Service as a Software Substitute - SaaSS przyp. tłum.] jest inną metodą pozwolenia obcej osobie kontrolowania naszego sposobu przetwarzania danych.

SaaSS znaczy, że używacie usługę udostępnianą przez kogoś innego w zamian za uruchamianie własnej kopii programu. Termin jest nasz; artykuły i reklamy nie używają go i nie powiedzą wam czy dany serwis jest SaaSS. Zamiast tego, będą używali niejasnego terminu „chmura”, który łączy SaaSS z innymi praktykami, nadużywającymi i nie. Za pomocą wyjaśnień i przykładów na tej stronie, sami rozróżnicie czy dany serwis jest SaaSS.

Podstawy: Jak oprogramowanie własnościowe zabiera nam wolność

Technologia cyfrowa może dać nam wolność; może także naszą wolność odebrać. Pierwszym zagrożeniem dla kontroli naszego przetwarzania jest oprogramowanie własnościowe: program którego użytkownik nie może kontrolować ponieważ to właściciel (firma taka jak Apple czy Microsoft) ma nad nim kontrolę. Właściciel często wykorzystuje tę niesprawiedliwą władzę umieszczając w kodzie różnego rodzaju złośliwe funkcje takie jak spyware, backdoory, czy Digital Restrictions Management (DRM) [cyfrowe zarządzanie ograniczeniami, przyp. tłum.] (zwane w ich propagandzie jako „Digital Rights Management”).

Naszym rozwiązaniem tego problemu jest rozwijanie wolnego oprogramowania i odrzucanie oprogramowania własnościowego. Wolne oprogramowanie oznacza, że my, jako użytkownicy, mamy cztery podstawowe prawa: (0) uruchamiać program w sposób, jaki sobie życzymy, (1) analizować i zmieniać kod źródłowy, tak, że program będzie robił to, czego oczekujemy, (2) rozpowszechniać wierne kopie, oraz (3) rozpowszechniać kopie naszych zmodyfikowanych wersji. (Zobacz definicję wolnego oprogramowania.)

Dzięki wolnemu oprogramowaniu, my - użytkownicy, odzyskujemy kontrolę nad przetwarzaniem naszych danych. Oprogramowanie własnościowe nadal istnieje, ale możemy je usunąć z naszego życia i wielu z nas tak zrobiło. Jednakże, w dzisiejszych czasach mamy do czynienia z nowym zagrożeniem naszego przetwarzania: usługa zastępująca oprogramowanie [ang. Service as a Software Substitute (SaaSS)]. Dla dobra naszej wolności, musimy to także odrzucić.

W jaki sposób usługa zastępująca oprogramowanie odbiera nam wolność

Usługa zastępująca oprogramowanie [ang. Service as a Software Substitute (SaaSS)] oznacza używanie usługi zamiast uruchamiania własnej kopii programu. Konkretniej ktoś uruchamia serwer sieciowy, który wykonuje wybrane zadania związane z przetwarzaniem danych – przykładowo obróbka zdjęcia, tłumaczenie tekstu na inny język itp. – a następnie zaprasza użytkowników do przetwarzania danych na tym serwerze. Użytkowniczka wysyłałaby swoje dane na serwer, który dokonuje dla niej obliczeń na dostarczonych danych, a następnie zwraca wynik użytkowniczce lub w jej imieniu wykonuje dalsze kroki.

Obliczenia są dla niej ponieważ, teoretycznie, ona mogłaby zrobić to samo uruchamiając program na swoim komputerze (niezależnie od tego, czy ten program jest obecnie dla niej dostępny). Gdy to założenie jest nieprawdziwe, nie jest to SaaSS.

Takie serwery wyrywają użytkownikom kontrolę nawet bardziej nieubłaganie niż oprogramowanie własnościowe. Oprogramowanie własnościowe dostarcza na ogół użytkownikowi plik wykonywalny ale nie dostarcza jego źródeł. To powoduje, że ciężko przestudiować kod uruchamianego programu, więc ciężko dociec co ten program tak naprawdę robi i równie ciężko to zmienić.

Przy SaaSS użytkownik nie dostaje nawet pliku wykonywalnego programu, który dla niego dokonuje obliczeń: znajduje się on bowiem na serwerze, gdzie żaden z użytkowników nie ma do niego dostępu. Dlatego nie jest możliwym sprawdzić co tak naprawdę ów program robi, ani tym bardziej nie można go zmienić.

Co więcej, SaaSS automatycznie prowadzi do następstw równoważnych ze złośliwymi cechami niektórych programów własnościowych.

Na przykład, niektóre programy własnościowe są „spyware”: program wysyła dane na temat czynności wykonywanych przez użytkownika. Microsoft Windows wysyła informacje o działaniach użytkownika do Microsoftu. Windows Media Player raportują czego użytkownik słucha bądź co ogląda. Amazon Kindle zgłasza które strony których książek użytkownik ogląda i kiedy. Angry Birds zgłasza historię geolokacji użytkownika.

W przeciwieństwie do oprogramowania własnościowego, SaaSS nie musi ukrywać kodu, który pozyskuje dane użytkownika. To użytkownik musi wysłać swoje dane na serwer aby mogły zostać przetworzone. Efekt tego jest taki sam jak spyware: operator serwera pozyskuje dane, bez specjalnego wysiłku dzięki naturze SaaSS. Amy Webb, która nie miała zamiaru umieszczać zdjęć swojej córki popełniła błąd używając SaaSS (Instagram) do edycji zdjęć. W końcu wyciekły stamtąd.

Niektóre własnościowe systemy operacyjne mają uniwersalne tylne drzwi, umożliwiające komuś zdalną instalację oprogramowania. Przykładowo, Windows ma uniwersalne tylne drzwi za pomocą których Microsoft może wymusić zmianę każdego oprogramowania na danym komputerze. Niemalże wszystkie przenośne telefony też mają. Niektóre aplikacje własnościowe też mają uniwersalne tylne drzwi; przykładowo klient Steam dla GNU/Linuksa umożliwia deweloperowi zdalną instalację wersji zmodyfikowanych.

Z SaaSS, operator serwera może zmienić oprogramowanie, które pracuje na serwerze. Powinien być w stanie to zrobić, ponieważ to jego komputer; ale efekt jest taki sam jak używanie aplikacji prawnie zastrzeżonej z uniwersalnymi tylnymi drzwiami: ktoś ma możliwość aby potajemnie zmienić sposób, w który się dokonują obliczenia użytkownika.

Dlatego, SaaSS jest równoważne z uruchamianiem oprogramowania własnościowego ze spyware i uniwersalnymi backdoorami. Daje to operatorowi serwera niesłuszną władzę nad użytkownikiem, i tej władzy musimy stawiać opór.

SaaSS i SaaS

Pierwotnie nazywaliśmy ten problem „SaaS”, co oznacza „Oprogramowanie jako usługa” [ang. Software as a Service]. Jest to powszechnie używany termin aby uruchamiać oprogramowanie na serwerze zamiast udostępniać kopii użytkownikom i myśleliśmy, że to idealnie opisuje przypadki gdy ten problem się pojawia.

Później dowiedzieliśmy się, że termin SaaS jest czasami używany do serwisów komunikacji – czynności, gdzie ten problem nie dotyczy. Dodatkowo, termin „Oprogramowanie jako usługa” nie opisuje dlaczego ta praktyka jest zła. Wymyśliliśmy termin „Usługa zastępująca oprogramowanie” [ang. Service as a Software Substitute], który precyzyjniej określa złą praktykę i od razu opisuje, co jest złego z tym.

Rozgraniczenie pomiędzy kwestią SaaSS, a kwestią oprogramowania własnościowego

SaaSS oraz oprogramowanie własnościowe prowadzą do tych samych – bolesnych – skutków, chociaż ich mechanizmy są inne. W przypadku oprogramowania własnościowego otrzymujesz i używasz kopii którą ciężko zmodyfikować i/lub jest to nielegalne. W przypadku SaaSS, problem polega na tym, że nie masz dostępu do kopii, która dla Ciebie wykonuje obliczenia.

Te dwie kwestie są mylone, nie tylko przez przypadek. Web deweloperzy używają niejasnego terminu „aplikacja webowa(internetowa)” by móc traktować oprogramowanie serwerowe uruchamiane w przeglądarce na równi z programami, które uruchamiamy na swoich komputerach. Niektóre strony internetowe instalują tymczasowo nietrywialne, a czasem nawet bardzo duże programy w JavaScripcie w naszych przeglądarkach bez informowania nas o tym. Jeśli te programy w JavaScripcie nie są wolnym oprogramowaniem, powodują taką samą niesprawiedliwość jak każde inne niewolne oprogramowanie. Tu, jednakże, jesteśmy zaniepokojeni kwestią samego używania serwisu.

Wiele osób wspierających wolne oprogramowanie zakłada, iż problem SaaSS zostanie rozwiązany przez rozwijanie wolnego oprogramowania dla serwerów. Dla dobra operatorów serwerów, programy na serwerach powinny być wolne; jeśli byłyby własnościowe, ich właściciele mieliby władzę nad serwerem. Jest to niesprawiedliwe względem operatora serwera, a także nie jest dobre dla użytkowników. Ale jeśli oprogramowanie na serwerze jest wolne, nie chroni to użytkowników serwera przed efektami SaaSS. Takie oprogramowanie daje wolność operatorowi serwera, a nie użytkownikom.

Udostępnianie kodu źródłowego serwera pomaga społeczności: umożliwia to wystarczająco bystrym użytkownikom aby ustawili własny, podobny, serwer z ewentualnymi zmianami. Sugerujemy licencję GNU Affero GPL do oprogramowania, które zwykle byłoby używane na serwerach.

Jednakże żaden z tych serwerów nie da Wam kontroli nad sposobem przetwarzania danych jakich na nim dokonujecie, dopóki to nie jest Wasz serwer. Może zawierzacie serwerowi kolegi niektóre swoje obliczenia, podobnie jak może pozwalacie koledze utrzymywać oprogramowanie na waszym komputerze. Cała reszta serwerów byłaby SaaSS względem Was. SaaSS zawsze podporządkowuje was władzy operatora serwera i jedynym lekarstwem na to jest nie używać SaaSS! Nie używajcie czyjegoś serwera do przetwarzania swoich danych.

To ilustruje jak duża jest różnica między „otwartym” a „wolnym”. Kod źródłowy, który jest otwartym jest, prawie zawsze, wolnym. Jednak pomysł serwisu „open software” w znaczeniu, że oprogramowanie na serwerze jest otwarte i/lub wolne, nie zajmuje się problemem z SaaSS.

Usługi są fundamentalnie inne niż programy i zagadnienia etyczne, które są poruszane przez usługi są fundamentalnie inne niż zagadnienia przy programach. Aby uniknąć zamieszania, unikamy terminów „wolny” czy „własnościowy„ gdy mówimy o usługach.

Odróżnianie SaaSS od innych usług sieciowych

Które serwisy online są SaaSS? Najprostszym przykładem jest usługa tłumaczeniowa, która tłumaczy (przykładowo) tekst z angielskiego na hiszpański. Tłumaczenie tekstu jest obliczeniem w całości Waszym. Moglibyście uruchomić program na własnym komputerze jeśli mielibyście odpowiedni program. (Etycznie byłoby, aby program był wolny.) Usługa tłumaczenia zastępuje ten program, więc jest Usługą zastępującą oprogramowanie [ang. Service as a Software Substitute], czyli SaaSS. Ponieważ odmawia Wam kontroli nad waszymi obliczeniami, czyni Wam zło.

Innym jasnym przykładem jest używanie serwisu typu Flickr lub Instagram aby obrabiać zdjęcie. Obrabianie zdjęć jest czynnością, którą ludzie robili na własnych komputerach od dziesięcioleci; czynienie tego na serwerze zamiast na własnym komputerze jest SaaSS.

Odrzucanie SaaSS nie oznacza odmawiania korzystania z jakichkolwiek serwerów utrzymywanych przez osoby inne niż Wy. SaaS nie dotyczy większości serwerów, ponieważ praca jaką na nich wykonujemy nie jest naszym prywatnym przetwarzaniem.

Pierwotnym pomysłem dla serwerów sieciowych nie było przetwarzanie danych, lecz publikowanie informacji. Do dzisiaj większość witryn internetowych właśnie to robi i nie dotyczy to problemu SaaSS, ponieważ dostęp do opublikowanych przez kogoś informacji nie jest przetwarzaniem naszych danych. Tak samo jest wtedy, gdy publikujemy nasze własne materiały, np. prowadząc bloga lub korzystamy serwisu micro-blogowego jak Twitter czy StatusNet. (Te usługi mogą, naturalnie, mieć inne problemy.) Tak samo w przypadku komunikacji, która nie ma być prywatna, typu grupy czatowe.

Esencją sieci społecznych jest forma komunikacji i publikacji informacji, a nie SaaSS. Jednakże serwis, którego głównym celem jest sieć społecznościowa, może także posiadać usługi lub rozszerzenia, które byłyby SaaSS.

Jeśli dana usługa nie jest SaaSS, nie znaczy to, że jest dobra. Są jeszcze inne zagadnienia etyczne, które dotyczą usług. Przykładowo Facebook rozprowadza filmy video we Flashu, co zmusza użytkowników do uruchamiania niewolnego oprogramowania; wymaga używania niewolnego JavaScript; daje zwodzące poczucie prywatności gdy w rzeczywistości kusi ich, aby dzielili swoje życie z Facebookiem. Są to ważne kwestie, odmienne od zagadnienia SaaSS.

Usługi takie jak wyszukiwarki internetowe zbierają dane z sieci i pozwalają nam je zbadać. Oglądanie tych zbiorów danych nie jest zwykłym przetwarzaniem naszych danych – nie dostarczamy tych zbiorów osobiście – więc korzystanie z takiej usługi, aby przeszukać sieć nie jest SaaSS. Jednakże używanie czyjegoś serwera aby wyszukiwać własną stronę jest SaaSS.

Kupowanie czegoś przez Internet nie jest SaaS, gdyż przetwarzanie nie dotyczy naszych danych; to jest raczej wspólne przedsięwzięcie Wasze i sklepu. Kwestią w handlu sieciowym jest raczej to, czy ufamy drugiej stronie i powierzymy im swoje pieniądze i dane osobowe (począwszy od imienia).

Strony, które służą jako repozytoria, typu Savannah czy Sourceforge, nie są same w sobie SaaSS, ponieważ zadaniem repozytorium jest publikowanie dostarczonych danych.

Używanie wspólnych serwerów przy grupowych projektach nie jest SaaSS, gdyż przetwarzanie nie jest Wasze własne. Przykładowo jeśli edytujemy strony na Wikipedii, nie przetwarzamy swoich danych; współpracujemy w przetwarzaniu danych Wikipedii. Wikipedia ma kontrolę nad własnymi serwerami, ale organizacje tak jak i osoby prywatne natykają się na problem SaaSS gdy przetwarzają swoje dane na czyichś serwerach.

Niektóre strony oferują wielorakie usługi, i jeśli jedna nie jest SaaSS, druga może nim być. Dla przykładu głównym celem Facebooka jest stworzenie portalu społecznościowego i nie jest to SaaSS; jednakże, wspiera aplikacje stron trzecich, wśród których są programy typu SaaSS. Główną usługą serwisu Flickr jest dystrybucja zdjęć, co nie jest SaaSS, ale posiada opcję edycji zdjęć, co jest już SaaSS. Podobnie używanie Instagram aby umieścić zdjęcie nie jest SaaSS, ale użycie go do przetwarzania zdjęcia już jest SaaSS.

Przykład Google Docs pokazuje jak skomplikowane może być oszacowanie jednej usługi. Umożliwia edycję dokumentu przez uruchamianie dużego niewolnego programu JavaScript, co jest oczywistym złem. Jednakże, udostępnia API do wysyłania i pobierania dokumentów w standardowych formatach. Edytor będący wolnym oprogramowaniem może to zrobić przez ten API. Używanie w ten sposób nie jest SaaSS, ponieważ Google Docs jest spłaszczane do repozytorium. Udostępnianie firmie wszystkie swoje dane jest złe, ale to kwestia prywatności, nie SaaSS; poleganiu na usłudze aby mieć dostęp do swoich danych jest złe, ale to kwestia ryzyka, nie SaaSS. Z drugiej strony, używanie usługi do konwersji formatu jest SaaSS, ponieważ jest to coś co moglibyście sami zrobić uruchamiając stosowny program (miejmy nadzieję, że wolny) na swoim komputerze.

Używanie Google Docs przez wolny edytor jest oczywiście rzadkie. Najczęściej ludzie używają go przez niewolny program JavaScript, które jest równie złe jak każdy inny niewolny program. To może też być SaaSS, ale to zależy od tego jaka część edycji się dokonuje w programie JavaScript, a jaka część na serwerze. Nie wiemy, ale ponieważ SaaSS i oprogramowanie własnościowe podobnie krzywdzą użytkowników, nie musimy wiedzieć.

Publikowanie czegoś przez repozytorium utrzymywane przez kogoś innego nie jest problemem prywatności, ale publikowanie czegoś przez Google Docs ma wyjątkowy problem: jest niemożliwe nawet podejrzeć tekst dokumentu Google Docs w przeglądarce bez uruchamiania niewolnego oprogramowania JavaScript. Nie powinniście używać Google Docs do publikacji czegokolwiek – ale powód nie jest kwestią SaaSS.

Przemysł IT zniechęca użytkowników do takiego rozróżniania. Właśnie po to stworzono hasło „cloud computing” (przetwarzanie w chmurze). Ten termin jest tak mglisty, że może odnosić się do prawie każdego zastosowania Internetu. Zalicza się do tego SaaS i wiele innych czynności sieciowych. W danym kontekście, autor piszący „chmura” (jeśli jest osobą techniczną) ma coś konkretnego na myśli, ale zwykle nie wyjaśnia, że w innych artykułach termin ma inne konkretne znaczenia. Termin powoduje, że ludzie uogólniają o praktykach, o których należy pomyśleć odrębnie.

Jeśli „przetwarzanie w chmurze” ma znaczenie, nie jest to sposób przetwarzania danych, a raczej podejścia do naszego przetwarzania: sposobu beztroskiego, który mówi „Nie zadawajcie pytań. Nie martwcie się tym, kto ma kontrolę nad Waszym przetwarzaniem czy trzyma Wasze dane. Nie sprawdzajcie czy nasza usługa ma ukryty hak nim połkniecie. Wierzcie firmom bez zawahania” Innymi słowy „Myśl jak frajer.” Chmura w głowie jest przeszkodą do jasnego myślenia. Dla jasnego myślenia o komputerach, unikajmy terminu „chmura”.

Radzenie sobie z problemem SaaSS

Z wszystkich stron internetowych, SaaSS jest tylko na nielicznych; większości stron to nie dotyczy. Co powinniśmy zrobić z tymi, które jednak są SaaS?

Przykładowo tam, gdzie własnoręcznie przetwarzasz swoje dane, rozwiązanie jest proste: używaj własnej kopii aplikacji będącej wolnym oprogramowaniem. Edytuj swój tekst własną kopią wolnego edytora tekstu takiego jak GNU Emacs lub innym wolnym pakietem biurowym. Edytuj swoje zdjęcie własną kopią wolnego programu, takiego jak GIMP. Co jeśli nie jest dostępny żaden wolny program? Używanie prawnie zastrzeżonego lub SaaSS by zabrało Wam wolność, więc nie powinniście ich używać. Wnieście wkład czasu lub pieniędzy w rozwijanie wolnego zamiennika.

Jednak co ze wspólną pracą z innymi? Na dzień dzisiejszy może być to trudne bez używania serwera, a Wasza grupa może nie wiedzieć jak utrzymywać własny. Jeśli używacie jakiegoś serwera, przynajmniej nie ufajcie serwerowi należącemu do firmy. Zwykła konsumencka umowa nie jest ochroną chyba, że moglibyście odkryć wykroczenie i procesować się, ale firma prawdopodobnie tak pisze swoje kontrakty aby pozwalać na szeroką gamę nadużyć. Rząd może pozyskać Wasze dane od firmy, razem z danymi wszystkich innych użytkowników, jak to Obama zrobił firmom telefonicznym i to nawet przyjmując, że firma nie działa tak ochotniczo jak amerykańskie firmy telefoniczne, które nielegalnie nagrywały swoich klientów dla Busha. Jeśli musicie używać serwera, używajcie takiego, którego operatorzy dają Wam podstawy zaufania większe niż zwykłe relacje komercyjne.

Jednakże, na dłuższą metę możemy stworzyć alternatywy dla korzystania z serwerów. Na przykład, możemy stworzyć program peer-to-peer, przez który użytkownicy mogą dzielić się zaszyfrowanymi danymi. Społeczność wolnego oprogramowania powinna opracować rozproszone zamienniki dla ważnych „aplikacji sieciowych”. Mądrym posunięciem może być wydanie ich na GNU Affero GPL, ponieważ są kandydatami do konwersji przez kogoś innego w serwerowe programy. Projekt GNU szuka wolontariuszy do pracy nad takimi zamiennikami. Zachęcamy również inne projekty wolnego oprogramowania aby wzięły to zagadnienie pod uwagę.

Póki co, jeśli firma zaprosi Was do korzystania z jej serwera do przetwarzania Waszych danych, nie ulegajcie; nie używajcie SaaSS. Nie kupujcie ani nie instalujcie „cienkich klientów”, które są po prostu komputerami tak słabymi, że tak naprawdę zmuszają Was do wykonywania pracy na serwerze, chyba że zamierzacie używać ich we współpracy z Waszym serwerem. Używajcie prawdziwego komputera i przechowujcie na nim swoje dane. Dla dobra Waszej wolności, pracujcie z własną kopią wolnego programu.

Zobacz także:

Bug, którego nikt nie może zrozumieć.