Streszczenie
Wolne Oprogramowanie (WO) - oprogramowanie chronione bardzo liberalnymi licencjami - staje się coraz popularniejsze na całym świecie. Od dawna wykorzystywane było do zastosowań sieciowych, od kilku lat jest używane w biurach i firmach, trafia również do coraz większej ilości szkół. Dostępne jest za darmo wraz z kodem źródłowym, który można przystosowywać do swoich potrzeb. Wśród firm wspomagających jego rozwój są największe na świecie firmy informatyczne: IBM, Novell, Sun. Najbardziej znanymi przykładami Wolnego Oprogramowania są pakiet biurowy OpenOffice.org, przeglądarka stron WWW Mozilla Firefox i system operacyjny Linux. Tekst został przygotowany na krakowską konferencję "Informatyczne przygotowanie nauczycieli", Kwieceń 2006.


Wolne Oprogramowanie w edukacji
Całe istniejące oprogramowanie możemy podzielić na dwie kategorie - otwarte, do którego kodu źródłowego dostęp mają wszyscy jego użytkownicy, oraz zamknięte - z dostępem ograniczonym lub zupełnie bez dostępu do źródeł. W tej drugiej kategorii mieści się większość gotowych programów, które można kupić w pudełku w przeciętnym sklepie komputerowym. Kiedy porównuje się licencje chroniące oba te rodzaje programów, wydają się one bardzo zbliżone do siebie pod względem obowiązków i odpowiedzialności autorów za poprawność działania napisanego przez nich programu. Poważne różnice są widoczne dopiero, kiedy porówna się zapisy licencji regulujące prawa użytkowników oprogramowania. W przypadku oprogramowania zamkniętego, prawa użytkownika ograniczają się zwykle do możliwości zainstalowania i uruchamiania danego programu na jednym komputerze. W przypadku wolnego oprogramowania, nacisk położono właśnie na prawa użytkownika.

Czym jest wolne oprogramowanie?
Wolne oprogramowanie można kopiować, uruchamiać, modyfikować, można też rozpowszechniać jego zmodyfikowane wersje. Jest kilka rodzajów wolności, które daje nam licencja:

Wolność uruchamiania oznacza, że licencja w żaden sposób nie ogranicza użytkownika pod względem wykorzystania danego programu. Można go uruchomić na dowolnym komputerze, nawet na dowolnej ilości komputerów, bez konieczności płacenia za tysiące licencji. To drugie jest zrozumiałe, a to pierwsze? Choć już większość z nas tego nie zauważa, współczesne licencje nierzadko ograniczają możliwość instalacji zakupionego oprogramowania do komputera, z którym je sprzedano. Po wymianie komputera trzeba kupić kolejną kopię popularnego systemu operacyjnego, bo ta, którą mieliśmy, może się nawet nie zainstalować. Program instalacyjny nierzadko sprawdza, czy aby na pewno został uruchomiony na maszynie, której numer seryjny ma zapisany głęboko w sobie. Po jakimś czasie może się okazać, że kilkadziesiąt licencji, które zostały kupione wraz z komputerami, może się okazać nic nie wartymi papierkami.

Co więcej, wolność uruchamiania daje nam prawo wykorzystywania oprogramowania zarówno w domu, jak i w firmie, szkole czy organizacji. Licencje wielu powszechnie używanych "darmowych" programów zezwalają na nieodpłatny użytek prywatny, ograniczając zastosowania profesjonalne. Co więcej, licencje większości zamkniętych programów nie pozwalają na ich kopiowanie - a uczniowie powinni mieć w domu programy, z których korzystają w szkołach. Zastosowanie w szkołach wolnego oprogramowania automatycznie pociągnie za sobą wzrost wiedzy o tym, że nielegalne kopiowanie nie jest koniecznością, zmniejszy też liczbę "pirackich" programów używanych przez uczniów.

Drugim wspomnianym przeze mnie rodzajem wolności jest wolność modyfikacji. Razem z oprogramowaniem dostarczany jest jego kod źródłowy. Często jest na tej samej płycie, co sam program - czasem kod źródłowy jest dostępny na stronie internetowej. Co więcej, licencja chroniąca oprogramowanie nie zabrania dokonywania w nim żadnych zmian.

Co może dać dostęp do mało zrozumiałego dla przeciętnego śmiertelnika kodu? Przede wszystkim pewność, że w razie konieczności wprowadzenia drobnych poprawek - typu literówka lub zmiana oprocentowania składki ZUS - nie trzeba będzie czekać na nową wersję programu. Tak prostą rzecz potrafi poprawić nawet osoba nieobeznana dobrze z komputerem.

O wiele więcej na wolności modyfikacji zyskają nauczyciele informatyki, programiści oraz osoby planujące wdrożenie jakiegoś rozwiązania od zera (na przykład firmy i organizacje). Po pierwsze, mogą oni dostosowywać program do swoich konkretnych wymagań, nie muszą pozostawać przy tym, co zaoferował producent. Po drugie - w przypadku wystąpienia błędu nie trzeba czekać (często miesiącami) na nie zawsze darmowe poprawki. Po trzecie, i chyba najważniejsze, w momencie upadku producenta oprogramowania lub chęci jego zmiany, nie trzeba wymieniać całego istniejącego systemu na nowy. Łatwo jest znaleźć nowego "opiekuna" naszej instalacji, bo dzięki dostępowi do kodu źródłowego może on przejąć wszystkie bez wyjątku funkcje poprzednika. Krótko mówiąc - wolne oprogramowanie oznacza tez mozliwosc wyboru wsparcia (supportu). Nie jesteśmy skazani tylko na producenta lub określonego wdrożeniowca.

Ostatnim elementem wolnościowym jest wolność dystrybucji - czyli kopiowania. Dzięki niej oprogramowanie, które przerobimy i dostosujemy do potrzeb naszych bądź naszej organizacji, możemy przekazać innym. Pozwoli to na obniżenie kosztów działania szkół w całym kraju, bo często korzystają one z tego samego lub podobnego oprogramowania. Wymiana poprawek między nimi - lub ich współne opracowywanie - pozwoli na lepsze dostosowanie oprogramowania do potrzeb nauczania, da też wszystkim równe szanse w dostępie do najnowszych rozwiązań informatycznych.

Czy da się zastosować WO w praktyce?
Czy idea oprogramowania na liberalnych licencjach, rozprowadzanego najczęściej za darmo, nie jest utopią? Jak się okazało w ciągu ostatniej dekady - nie. Wolne oprogramowanie wyszło już z fazy eksperymentalnej, dziś jest wykorzystywane w praktyce przez zwykłych użytkowników, przez zaawansowanych programistów, przez biura, firmy, jednostki badawcze, szkoły, administrację państwową - nawet przez armię. Wolne oprogramowanie można znaleźć w komputerach sterujących sztucznymi satelitami i urządzeniami projektowanymi przez NASA. Trudno by uwierzyć, żeby ta ostatnia organizacja wykorzystywała jakieś rozwiązania tylko ze względu na ich niskie koszty - WO jest przez nich wykorzystywane ze względu na jego jakość.

Wolne oprogramowanie sprawdza się również w bardziej przyziemnych zastosowaniach. Postaram się opisać najważniejsze przykłady, które można wykorzystać w nauczaniu informatyki.

  1. Podstawy obsługi komputera
    Do nauki podstaw obsługi komputera najlepiej nadaje się system operacyjny Linux, z zainstalowanym środowiskiem graficznym KDE lub GNOME. Sam Linux zapewnia stabilność i bezpieczeństwo - został od podstaw tak zaprojektowany, żeby jego użytkownicy bez praw administratora nie mogli nic przypadkiem (lub celowo) uszkodzić w samym systemie. Systemy okien KDE i GNOME wyglądem i sposobem obsługi przypominają MS Windows i MacOS, osoby nauczone ich obsługi nie mają problemów z obsługą innych systemów operacyjnych.
  2. Obróbka tekstu, arkusz kalkulacyjny
    Dla Linuksa napisano wiele edytorów tekstu, jest jeden duży pakiet biurowy (OpenOffice.org - odpowiednik MS Office) i kilka różnych arkuszy kalkulacyjnych - najbardziej rozbudowane to Gnumeric oraz OpenOffice Calc. Dostępny jest też system składu tekstu Scribus. Sam pakiet biurowy OpenOffice.org, w którego skład wchodzą m.in. edytor tekstu, arkusz kalkulacyjny, program do tworzenia prezentacji, program do tworzenia prostych rysunków, działa pod kontrolą Linuksa, MS Windows i Mac OS X, więc można go uruchomić niezależnie od używanego systemu operacyjnego. Pakiet potrafi czytać i zapisywać dane w formatach MS Office.
  3. Korzystanie z Internetu
    Dla Linuksa istnieje każdy rodzaj oprogramowania sieciowego, który istnieje pod innymi systemami operacyjnymi - m.in. przeglądarki stron www (Mozilla Firefox, Konqueror), programy pocztowe (Mozilla Mail, Thunderbird, Kmail), komunikatory (Psi, Gaim, Kvirc), oprogramowanie do rozmów przez Internet (kphone, OpenWengo, "zamknięty" Skype). Większość z tego oprogramowania działa również pod kontrolą innych systemów operacyjnych.

  4. Tworzenie stron internetowych
    Poza programami dającymi możliwość zapisu pliku tekstowego jako strona internetowa (np. jedna z opcji OpenOffice.org), istnieje olbrzymia ilość edytorów zaprojektowanych również pod kątem tworzenia stron w języku HTML.Wśród nich: Quanta, Anjuta, Bluefish, Amaya. Większość z nich wspomaga również tworzenie stron pisanych z wykorzystaniem języka PHP.
  5. Obróbka grafiki
    Sztandarowym programem wykorzystywanym do obróbki grafiki bitmapowej jest GIMP (działa również pod kontrolą MS Windows). Poza tym istnieje wiele narzędzi do tworzenia grafiki trójwymiarowej - Wings3d, Blender, K-3D, Povray), z których niektóre jeszcze niedawno była zamkniętymi narzędziami wykorzystywanymi tylko przez studia filmowe.
  6. Programowanie
    Większość istniejących języków oprogramowania ma swoje "wolne" kompilatory, często generujące wynikowy kod w sposób bardziej zoptymalizowany, niż kompilatory zamknięte. Do nauki programowania w szkołach można wykorzystać gcc (języki C, C++ i wiele innych, bardziej egzotycznych języków programowania), Free Pascal Compiler (Pascal), php (najpopularniejszy obecnie język skryptowy wykorzystywany przy tworzeniu stron internetowych), perl. Większość zaawansowanych edytorów dla Linuksa wspiera składnie wszystkich tych języków, dzięki czemu można zaleznie od upodobań dobrać ten, który najlepiej spełnia nasze wymagania.

Co daje zastosowanie wolnego oprogramowania w nauczaniu? Przede wszystkim - zmusza ucznia do nauczenia się nie konkretnej wersji konkretnego programu, lecz filozofii obsługi komputera. Uczeń, który w czasie nauki poznał tylko jeden konkretny program, jest często bezradny kiedy pojawi się nowa wersja tego samego programu, różniąca się od poprzedniej tylko wyglądem. Uczeń, który podczas nauki poznał wiele programów służących podobnym celom wie, że nie ma znaczenia interfejs - lecz filozofia używania - i poradzi sobie również, kiedy będzie musiał skorzystać z programu, z którym wcześniej nie miał żadnej styczności.

Wykorzystanie wolnego oprogramowania daje również możliwość walki z piractwem. Mało który uczeń posiada w domu legalny zestaw programów wykorzystywanych w szkole. Jeśli nauczyciele będą używać wolnego oprogramowania, będą je mogli również legalnie skopiować uczniom do instalacji w domu.

Korzystanie z wolnego oprogramowania nie oznacza konieczności rezygnacji z używania Windows. Po pierwsze, większość z najważniejszych 'wolnych' programów dostępna jest również w wersji działającej pod kontrolą tego systemu operacyjnego. Po drugie, każdą dystrybucję Linuksa da się zainstalować "obok" Windows - na tym samym dysku twardym, a wybór uruchamianego systemu operacyjnego następuje przy włączaniu komputera.

Kolejną korzyścią wynikającą z przedstawienia pracowni informatycznych na wolne oprogramowanie jest poważne zmniejszenie kosztów ich prowadzenia. Po pierwsze - znikają koszty zakupu licencji. To ważne, choć dzięki umowom rządowym koszty te są dla szkół coraz mniejsze. Po drugie - spadają koszty rozbudowy pracowni informatycznych. System Linux został zaprojektowany w taki sposób, że wystarczy jeden szybki komputer w pracowni, a pozostałe - wolniejsze - działają jako tzw. x-terminale. Uczniowie pracują przy starych terminalach, same programy wykonywane są na głównym serwerze. Cała operacja jest przezroczysta dla użytkownika - nie ma różnicy, czy siedzi przy serwerze, czy przy jednym z terminali, wszystko wygląda dla niego tak samo. Różnica jest w kosztach, bo przy kolejnej aktualizacji systemu operacyjnego czy wykorzystywanego oprogramowania niepotrzebne jest rozbudowywanie każdego komputera w pracowni. Ich wymagania sprzętowe już się nie zmieniają.

Jak spróbować?
Żeby wypróbować przedstawionych przeze mnie rozwiązań, nie trzeba instalować Linuksa na swoim komputerze. Wystarczy tzw. Linux Live - płyta CD, z której startuje pełna wersja systemu operacyjnego i działa całkowicie w pamięci, nie zapisując nic na dysku komputera. Niestety, Linux uruchomiony z takiej płyty działa wolniej, niż uruchomiony z dysku twardego - ze względu na to, że wykorzystuje pamięć RAM również do przechowywania danych, które normalnie znajdują się na dysku twardym komputera - jednak daje możliwość zapoznania się z systemem bez konieczności wcześniejszej instalacji.

Duża część wolnego oprogramowania jest przenoszona na platformę Windows - tak jest chociażby z Mozillą Firefox, Thunderbirdem, GIMPem czy pakietem biurowym OpenOffice.org. Można więc je zainstalować również pod kontrolą używanego obecnie systemu operacyjnego. Trzeba jednak pamiętać, że niektóre z tych pakietów są tworzone z myślą o uruchamianiu pod kontrolą Linuksa i właśnie pod kontrolą Linuksa działają najlepiej.

Wreszcie - można zainstalować Linuksa na osobnej partycji dysku twardego, a wyboru, z którego systemu operacyjnego chcemy korzystać tym razem, dokonuje się przy uruchamianiu komputera.



Odnośniki:

7.03.2006