"Najsłabsze ogniwo" - Daniel Koć
Z dużym zainteresowaniem przeczytałem wywiad z ekspertem programu „Laptop dla gimnazjalisty”, profesorem Maciejem Sysłą. Im dalej jednak wgłąb lektury, tym bardziej czułem się rozczarowany. Czegoś mi tam wyraźnie zabrakło. Niestety zresztą, nie tylko tam…
Nikt nic nie wie
Cieszę się, że profesor Sysło przystał na propozycję wywiadu, ponieważ taki projekt budzi różne nadzieje i obawy, ale najgorsza jest niewiedza. Wziąłem oczywiście pod uwagę, że rola eksperta to tylko fragment całego mechanizmu decyzyjnego. Urzędnicy mogą nawet odrzucić wszystkie analizy lub wybrać rozwiązanie proponowane przez innego eksperta. Jednak z braku lepszego źródła muszę odnosić się do wypowiedzi osoby, która przynajmniej znajduje się blisko centrum decyzyjnego, a więc na zewnątrz w pewnym sensie reprezentuje projekt. Takie utożsamienie może się w efekcie okazać całkowicie błędne i krzywdzące, ale ponieważ sprawa jest ważna, to muszę podjąć to ryzyko.
Rozumiem też doskonale, że cały projekt jest znacznie bardziej złożony niż tylko kwestia oprogramowania, co zresztą znalazło wyraz w różnorodności spraw poruszonych w tym wywiadzie. Nie jestem jednak ani pedagogiem, nie orientuję się również w kwestiach organizacyjnych, nie czuję się więc odpowiednią osobą by komentować te aspekty. Mimo tego wydaje mi się, że warto zająć się nawet samym problemem oprogramowania.
Mówiąc więc o tym drobnym wycinku projektu sądzę, że próbując zrealizować nowoczesną w polskiej edukacji ideę, jednocześnie głęboko tkwi w dzisiejszym podejściu do oprogramowania, które szybko przechodzi do kategorii „niedzisiejszego” - czyli do lamusa. Nie mogę się pozbyć natrętnego wrażenia, że panuje niezrozumienie nawet absolutnych podstaw nowoczesnego myślenia o znaczeniu i roli kodu komputerowego, i to niestety nie tylko w tym projekcie.
A skoro planujemy coś na wiele lat naprzód (w edukacji szkolnej to przecież naturalne założenie), to należy zwracać szczególną uwagę na rozwijające się trendy. Idee wolnego i otwartego oprogramowania (FLOSS) nie są już zupełnie nowe - akurat obchodzimy ćwierćwiecze założenia projektu GNU, czyli fundamentów Wolnego Oprogramowania, a od zaczątków pochodnego ruchu Open Source dzieli nas już 10 lat - ale wiele wskazuje na to, że są bardzo przyszłościowe.
O co właściwie chodzi?
Myślę, że pierwszy problem pojawia się wraz z podaniem tych nazw. Idea realizowana w ramach tych ruchów może się wydawać dziwna, wywrotowa, niepotrzebna, zbyt idealistyczna itp., a w najlepszym razie ważna tylko dla hobbystów. Tymczasem bardzo łatwo ją „odczarować” tak, aby była zrozumiała nie tylko dla informatyków.
Posłużę się analogią: wyobraźmy sobie, że chcemy założyć nową szkołę. W naszym klimacie potrzebujemy do tego budynku i mamy dwa wyjścia - albo go sobie zbudować, albo wynająć jakiś gotowy. Jeśli nasza szkoła jest nieduża, to druga opcja wydaje się nawet korzystna: mniejszy koszt na wejściu brzmi atrakcyjnie. Jeśli jednak planujemy jej rozrost i wieloletnią działalność, to już co innego. Na dłuższą metę lepiej jednak wykupić ziemię i postawić budynek, nad którym nie będzie miała kontroli strona trzecia. Łatwo zauważyć pewną istotną rzecz, a mianowicie, że nie chodzi tu jedynie o cenę wynajmu, ale też np. zgodę właściciela na dalszą rozbudowę i wszelkie inne ważne decyzje.
Podobna zasada dotyczy wszelkich przedsięwzięć publicznych. Podstawowa infrastruktura musi być neutralna i jak najbardziej niezależna od kontroli zewnętrznej.
Naturalnie nikt nie powiedział, że wszystko trzeba robić własnymi rękami - budowę zleca się specjalistom. Jednak gdyby mieli oni w rękach wszystkie plany budynku i nie chcieli ich nam udostępnić, to wpadamy z deszczu pod rynnę. Zamiast w rękach właściciela budynku znajdujemy się w rękach szefa firmy budowlanej. Jeśli zechcemy coś rozbudować lub zmodernizować, to tylko od jego dobrej woli zależy, czy w ogóle zgodzą się wykonać oczekiwaną przebudowę i jakiej kwoty za to zażądają.
W świecie oprogramowania dominuje obecnie model kupowania gotowych produktów informatycznych (a raczej jedynie licencji na ich wykorzystanie!), które są dane w postaci uniemożliwiającej przeróbki. To, co dziś pasuje do małej „szkółki”, po jakimś czasie może stać się poważnym ograniczeniem. Nie wiemy z góry co trzeba będzie zmieniać, bo poza planową rozbudową mogą się też ujawniać różne niespodziewane usterki lub trzeba będzie adaptować pomieszczenia do innych zastosowań. Pytanie tylko dlaczego w ogóle musimy się ograniczać w tym, co będziemy zmieniać? Dlaczego po prostu nie mieć wszystkich planów pod własną kontrolą?
O ile w budownictwie można sobie od biedy poradzić bez planów, to oprogramowanie nie daje się tak zmieniać. Faktycznie program komputerowy – a właściwie jego kod źródłowy - to taki jeden ogromny plan budynku. Co najciekawsze, do takiego informatycznego „budynku” nie potrzeba żadnych cegieł: działający program jest tylko inną formą samego planu! A więc kto ma plany, ten ma ogromną kontrolę nad budynkiem.
Użycie oprogramowania na licencjach FLOSS w akcji „Laptop dla gimnazjalisty” to po prostu gwarancja, że projekt w żadnym momencie nie zostanie pod cudzą kontrolą. Producent oprogramowania własnościowego niepodzielnie decyduje o programie. Dopóki nie mamy w rękach planu - kodu źródłowego - wraz z ważnym zapewnieniem, że wolno nam go dowolnie modyfikować, warunki dyktowane są jednostronnie.
Dlaczego warto się tym w ogóle przejmować?
Wykazałem już, że nie chodzi o słówka i terminologię. Pozostaje jeszcze wyjaśnić dlaczego to jest takie ważne, dlaczego traktuję oprogramowanie jako podstawową infrastrukturę. To chyba jasne, „laptop dla gimnazjalisty” to przecież projekt, w którym chodzi właśnie o wdrożenie do edukacji narzędzi informatycznych. Wdrożenie instytucjonalne, bo przecież poza szkołą informatyka samorzutnie, bez pytania i dodatkowej pomocy „wdraża się” do wszystkiego - także do edukacji, która staje się coraz bardziej spersonalizowana i permanentna.
W szkole sytuacja jest zgoła odwrotna. Ankieta przygotowana w zeszłym miesiącu dla nauczycieli zainteresowanych projektem Wolne Lektury wykazała, że największym problemem w wykorzystywaniu komputera w edukacji szkolnej jest to, że… opiekun sali komputerowej nie daje klucza! „Laptop dla gimnazjalisty”, jeśli zostanie odpowiednio przemyślany i zrealizowany, może zmienić ten absurdalny stan (choć laptopy też można pozamykać w szafkach, żeby nie narażać tak cennych pomocy naukowych na kontakt z uczniami). Komputer w szkole może zrobić ten sam krok, który poza nią już dawno świetnie mu wyszedł: zamienić się w narzędzie naprawdę osobiste.
O ile jednak dobry program nauczania i odpowiedni sprzęt są oczywistością, o tyle licencja oprogramowania może wydawać się sprawą drugorzędną i ezoteryczną. Oprogramowanie ma być przecież funkcjonalne i w sensownej cenie - ot i wszystko. Prawda?
Tymczasem różnica jest taka, że sprzęt można używać dowolnie, np. instalować na nim co zechcemy, bo po zakupie jest nasza własnością (zdarzają się sytuacje, gdy podarowany sprzęt jest obwarowany warunkiem, że będzie na nim używane tylko dane oprogramowanie, jednak o ile mi wiadomo przy zakupach pecetów to jak dotąd nie występuje); program nauczania można dowolnie kształtować, bo sami sobie go planujemy; natomiast oprogramowanie jest najsłabszym elementem tego łańcucha.
Jeżeli od początku nie zadba się o to, żeby także było pod naszą kontrolą, to praktycznie nie ma możliwości ani prawa żeby zrobić z nim coś, co okaże się potrzebne dopiero za jakiś czas. A jak wiadomo cały łańcuch jest tylko tak silny, jak jego najsłabsze ogniwo.
Przecież nie jest aż tak źle…
Oczywiście może się okazać, że z pewnych względów bardziej atrakcyjne będzie jednak oprogramowanie na licencjach własnościowych. Przy całej jego powszechności trzeba zawsze pamiętać, że jest ono obarczone podstawową wadą: zmiany (a często także warunki używania) zależą od producenta. Muszą to więc być bardzo ważne względy, które należy za każdym razem precyzyjnie wyjaśnić i od początku nakreślić realistyczny plan wydostawania się z takiej pułapki.
Znów analogia: przed kilkoma laty w debacie publicznej w ogóle nie istniało pojęcie „bezpieczeństwa energetycznego”, a dziś jest to jeden z najbardziej gorących tematów w skali globu. Podobnie dalekowzrocznie należy rozpatrywać bezpieczeństwo projektów informatycznych od strony praw użytkownika. A tak naprawdę nie tylko czysto informatycznych, ale w ogóle wszelkich projektów i zadań - publicznych w szczególności – ponieważ jeśli są jeszcze jakieś dziedziny życia, w których oprogramowanie nie ma znaczenia, to są to już bardzo nieliczne obszary (z przyjemnością podejmę dyskusję, jeśli ktoś uważa inaczej).
W dodatku znaczenie oprogramowania cały czas rośnie, i to dynamicznie: jest w laptopie, telefonie i w pralce, w samochodzie nadzoruje coraz więcej układów – nie tylko regulację szyb, ale także tak ważne jak hamulce i skład mieszanki paliwowej - pozwala zarządzać ruchem ulicznym, a coraz częściej nawet karty medyczne mają postać plików, które jest odczytywane i zapisywane przez specjalistyczne aplikacje.
W tym szczególnym zakresie, w jakim za pomocą narzędzi informatycznych realizowana jest edukacja, jego rola także będzie nadal rosła, a wraz z nią – znaczenie producentów oprogramowania, którzy trzymają do niego wszystkie klucze. Lepiej nie czekać na problemy, jakie z tego mogą wyniknąć, i już dziś inwestować w solidne rozwiązania, które na zawsze pozostaną pod kontrolą użytkownika.
Pan profesor powiedział o FLOSS: "Nie neguję, że ma ono wiele zalet dla specjalistów, ale przeciętny użytkownik (uczeń, zdecydowana większość nauczycieli) widzi tylko to, że jest to darmowe oprogramowanie. A ponieważ ci użytkownicy w szkole nie płacą za oprogramowanie, to jest im wszystko jedno." Przyznam, że nie wiem co na to odpowiedzieć: te zalety specjaliści oczywiście lepiej rozumieją niż przeciętni użytkownicy, ale nie znaczy to bynajmniej, że inni z tego nie korzystają. To właśnie zadaniem specjalistów jest przygotowanie projektu tak, aby zwykli użytkownicy nie musieli się nawet zastanawiać nad takimi rzeczami jak bezpieczeństwo projektu. Nie musi ich także interesować kwestia pieniędzy, ale o to ma zadbać zespół projektu. Sprawa nie jest bezprzedmiotowa, tylko kto inny powinien się nią zajmować.
Nie tylko kontrola
Trzeba wspomnieć także o innych zyskach z zastosowania wolnych licencji oprogramowania. Są one znacznie łatwiej uchwytne i nie wymagają takiego długiego wprowadzenia - co wcale nie znaczy, że są mniej ważne.
1. Wolny kod źródłowy pozwala na lepszą edukację w zakresie działania komputerów.
Informatyka może stać się wreszcie żywym przedmiotem o namacalnym wpływie na rzeczywistość, a nie nauką abstrakcyjnych pętli czy zmiennych na zaliczenie.
Do rozwoju takiego oprogramowania może się włączyć każdy – zarówno uczniowie jak i nauczyciele, a z efektów ich pracy skorzystają wszyscy pozostali. Daje to możliwość aktywnego wpływu na rozwój całej platformy. Jeżeli jednym z celów procesu edukacji ma być budzenie aktywności uczniów, to taką metodę trudno przecenić.
Nie ma przy tym najmniejszego znaczenia czy tę możliwość wykorzysta tylko promil, czy nawet ułamek promila uczestników projektu: nawet jedna osoba może wprowadzić do niego bardzo istotne zmiany. Naturalnie jednak im więcej osób się zaangażuje, tym bardziej widać zalety tego modelu, w tym możliwość pracy grupowej, z podziałem zadań wedle stopnia umiejętności oraz zainteresowań (kodowanie, dokumentacja, grafika i dźwięki, a także dowolne inne elementy związane z oprogramowaniem).
Piję tu zwłaszcza do argumentu, a raczej retorycznego pytania "ilu jest w stanie zrozumieć taki kod?". Zdumiewa mnie traktowanie kodu źródłowego jak czarnej magii nie dla maluczkich. Jeśli chcemy mieć społeczeństwo informacyjne, to nie tylko podtykamy mu komputer pod nos i uczymy go obsłużyć, ale też dbamy o to, by potrafiło samo zajmować się narzędziami informatycznymi, które same są przecież tylko specjalnym przypadkiem informacji. Inaczej będziemy coraz bardziej modelowani, a więc programowani przez dostępne własnościowe rozwiązania.
Czy może źle rozumiem koncepcję społeczeństwa informacyjnego i chodzi o działanie nad wybranymi informacjami tylko w takich ramach, jakie zakreśla ktoś inny?
2. Wolne oprogramowanie do różnych zastosowań już istnieje i można z niego swobodnie czerpać!
Tworząc nowy projekt nie trzeba zaczynać od zera: wykorzystywanie w odpowiedni sposób sprawdzonych „klocków” informatycznych może obniżyć pracochłonność, koszta i czas, a także zwiększyć niezawodność systemu, ponieważ były one już wykorzystywane i testowane w różnych środowiskach przez dotychczasowych użytkowników. Bywa, że autorzy tych modułów włączają się do prac nad ulepszeniem swojego kodu, gdy zorientują się, że istnieje taka potrzeba.
Z lenistwa patrząc tylko na listę różnych "wirtualnych środowisk nauczania" z angielskiej wersji Wikipedii (dzisiaj podstawowej encyklopedii każdego internauty) znalazłem bez trudu około 10 na wolnych licencjach. A jeśli nie spełniają one dokładnie naszych potrzeb, to można zlecić dopisanie brakujących modułów lub opracować własne rozwiązanie wykorzystujące np. ich gotowe fragmenty albo komponenty pochodzące z innych projektów na wolnych licencjach.
3. Oprogramowanie na licencjach FLOSS to także szansa na budowanie normalnego, także lokalnego rynku informatycznego.
Nie należy polegać wyłącznie na oddolnych inicjatywach. Przynajmniej w początkowej fazie projektu wiele rzeczy będą musieli wykonać specjaliści na zamówienie, a całkiem możliwe, że będą nieraz potrzebni także potem. Jednak będą to pieniądze wydawane bardziej racjonalnie: zamawia się tylko to, co naprawdę potrzebne, a nie płaci hurtem za cały produkt. Jeśli jeden wykonawca nie chce lub nie może się podjąć odpowiednich zmian, albo okazał się zwyczajnie niesolidny, to można na jego miejsce wynająć innego.
W wielu instytucjach nawet na zakup zwykłego papieru do drukarek wymaga się porównania kilku ofert – większa konkurencja wśród firm informatycznych tym bardziej leży w interesie klientów. Oczywiście jeśli jakiś program lub warunki jego używania stają się uciążliwe, to można poszukać jego zamiennika, ale im bardziej podstawową rolę pełni w projekcie, tym bardziej jest to wyjście fikcyjne. Swoboda dysponowania kodem w projekcie pozwala na wybór wykonawcy nawet w takiej trudnej sytuacji.
Smak różnicy
Oprogramowanie to tylko narzędzie, ale we współczesnym świecie coraz bardziej wszędobylskie. Coraz więcej od niego zależy, nie jest więc bez znaczenia, czy użytkownik może decydować o jego kształcie, czy jest tego prawa praktycznie pozbawiony. Personalizacja, o której wspominał w wywiadzie prof. Sysło, to także dostosowywanie tych narzędzi do potrzeb użytkowników nieskrępowane niekorzystną licencją.
Łatwo jest wybierać gotowe produkty informatyczne, nad którymi w pełni panuje jedynie producent, ponieważ taki model dojrzewał przez lata bez alternatywy i przez to stał się popularny. Jednak z chwilą upowszechnienia się Internetu na jaw wyszła jego niezdolność do wykorzystania nowego typu potencjału - współpracy poprzez sieć i radykalnej dostępności. Sprawdza się jeszcze siłą inercji, ale od kiedy wiadomo, że oprogramowanie powstaje wszędzie (nie tylko pod kluczem w firmach programistycznych), i że danie użytkownikom swobody w używaniu, a nawet rozwijaniu kodu, jest najzupełniej realne i można nawet prowadzić na jego bazie biznes, nie ma sensu dłużej chronić monopolu jego producentów przed użytkownikami.
Dotyczy to wszystkich, ale projektów realizowanych dla potrzeb publicznych w szczególności. Państwo ma wyjątkową możliwość i moralną odpowiedzialność promowania rozwiązań korzystnych dla obywateli na dłuższą metę, a nie tylko w danej chwili. Jeżeli są one jeszcze niedojrzałe, warto je wspierać - także we własnym, dobrze pojętym interesie - a tam, gdzie są podobne lub lepsze niż tradycyjne (własnościowe) rozwiązania, ich wybór nie powinien ulegać żadnej wątpliwości.
Warto tu zdecydowanie podkreślić, że taka preferencja nie jest żadną formą dyskryminacji producentów, bo i takie głosy czasem się pojawiają. Należy bowiem dbać o konkurencję, a nie o konkurentów. Jeżeli decydują się oni na restrykcyjne licencjonowanie, to automatycznie osłabiają wartość swojej oferty. Ostatecznie nikt ich do tego nie zmuszał - podobnie jak twórcy kodu na licencjach FLOSS sami dyktują zasady dozwolonego używania swojego produktu. Jeśli uznają to za stosowne, mogą nawet ją zliberalizować - znane są przecież przykłady, kiedy początkowo własnościowy kod stawał się dostępny na warunkach wolnych licencji lub kiedy jest równolegle dostępny na różnych licencjach.
Wybór kodu na wolnych licencjach nie jest oczywiście panaceum na wszystkie problemy informatyczne (tu w pełni zgadzam się z panem profesorem), ale stanowi godny zaufania fundament na przyszłość. Z czasem coraz bardziej widać, że oprogramowanie to wcale nie jest jednorazowy produkt, lecz - podobnie jak sama edukacja - owoc niekończącego się procesu rozwoju.
FLOSS także nie należy widzieć tylko z perspektywy dzisiejszych aplikacji – po latach obecne ich wersje z pewnością przestaną być używane, może nawet będą śmieszyć lub budzić zażenowanie. Ale dzięki modelowi w którym powstają, będą w stanie stopniowo ewoluować tak, aby zaspokajać także przyszłe potrzeby użytkowników, i to bez zmuszania ich do gwałtownych ruchów. Bez trudu można wskazać popularne niegdyś programy, do których wszyscy byli przyzwyczajeni, na których nowe, lepsze wersje trudno po raz kolejny znaleźć uzasadnienie przy wydawaniu pieniędzy lub które w ogóle przestały być legalnie dostępne na rynku.
„Laptop dla gimnazjalisty” może być dobrym wzorem zarówno dla uczestników tego projektu, jak i dla innych podobnych przedsięwzięć, tak publicznych jak i prywatnych. Może promować zdrowe i bardziej korzystne dla użytkowników zasady, w których konkurencja wzmacnia najlepszych, a nie tylko najbardziej zasiedziałych na rynku producentów i wykonawców. Mam nadzieję, że tak właśnie się stanie.