Wady i zalety WiOO

Profile picture
Michał Rzeszutek

Podstawową cechą zarówno wolnego, jak i otwartego oprogramowania komputerowego jest możliwość swobodnego użytkowania tego typu rozwiązań bez względu na czas oraz miejsce wykorzystania. Legalne i nieodpłatne kopiowanie kodu wynikowego oraz źródłowego, a także możliwość dowolnej modyfikacji programu komputerowego stanowi istotę ruchu WiOO. Wymienione zalety oprogramowania open source odróżniające je od rozwiązań własnościowych nie są jedynymi czynnikami decydującymi o powodzeniu FLOSS na rynku IT.

Do grupy zasadniczych atrybutów otwartoźródłowych rozwiązań programistycznych należy zaliczyć wysoką sprawność aplikacji, efektywne usuwanie napotkanych błędów, zgodność ze standardami, niskie koszty eksploatacji oraz licencji, a także możliwość budowy na podstawie OSS nowych modeli biznesowych.

Gradacja istotności pozytywnych aspektów, jakie niesie ze sobą wykorzystanie wolnego i otwartego oprogramowania zależna jest od grupy użytkowników eksploatującej dane rozwiązanie programistyczne. Priorytety odbiorców indywidualnych wykorzystujących przeważnie aplikacje desktopowe różną się od zasad rządzących polityką wielkich korporacji. Zgodnie z charakterystyką użytkowników domowych, a także mikro i małych przedsiębiorstw funkcjonujących na rynku innym niż IT, podstawową cechą otwartego oprogramowania jest brak opłat licencyjnych. Pomimo możliwości dystrybucji FLOSS na zasadach komercyjnych poprzez świadczenie usług dodanych jak udzielanie gwarancji lub wsparcie techniczne, większość produktów środowiska pozostaje wolna od opłat.

Rezygnacja z pobierania należności za wykorzystanie WiOO stała się jednym z czynników szerokiego rozpowszechnienia wolnych aplikacji w sektorze zastosowań serwerowych. Zakup licencji na oprogramowanie obsługujące farmy obliczeniowe, centra danych czy też budowę innego rodzaju klastrów komputerowych wiązał się dotąd z olbrzymimi kosztami. Wykorzystanie otwartoźródłowych systemów operacyjnych, a także dedykowanego oprogramowania serwerowego usunęło problem, umożliwiając jednocześnie sprawniejsze administrowanie strukturą.

Darmowe rozpowszechnianie wolnego oprogramowania poza korzyściami dla przedsiębiorców oraz użytkowników domowych ułatwia także rozwój krajom trzeciego świata. Dzięki FLOSS wyposażono w podstawowy sprzęt komputerowy szkoły pakistańskie, stworzono sieć serwerowni dla szkół filipińskich, a także wyposażono w niezbędne oprogramowanie niektóre stany indyjskie. Oprogramowanie o otwartym kodzie źródłowym z powodzeniem wykorzystywane jest także w rozwijających się krajach afrykańskich.

Brak kosztów związanych z dystrybucją aplikacji open source oprócz korzyści finansowych umożliwia budowę sprzyjającej użytkownikom strategii upowszechniania programów. Dzięki przyjętym przez środowisko WiOO liberalnym formom licencjonowania dostęp do otwartych aplikacji możliwy jest za pośrednictwem różnego rodzaju mediów. Oprogramowanie rozpowszechniane jest zarówno poprzez tradycyjne wydawnictwa książkowe, czasopisma, dystrybutorów komercyjnych, otwarte repozytoria programów, serwisy zintegrowane z systemami kontroli wersji, jak również przez wyspecjalizowane menedżery pakietów.

Otwarty model tworzenia oprogramowania oparty na współpracy szerokiego grona specjalistów oraz entuzjastów umożliwia ponadto przyspieszenie rozwoju projektu oraz ich doskonalenie. Sytuacja ta korzystna jest zarówno dla organizacji opierających swą działalność na OSS, jak i użytkowników indywidualnych. Kooperacja pomiędzy społecznością zgromadzoną wokół aplikacji, a instytucją wykorzystującą dany program prowadzi do znacznego obniżenia kosztów związanych z usuwaniem błędów, wprowadzaniem nowych funkcji oraz opracowywaniem dokumentacji. Odbiorcy oprogramowania nie muszą się również martwić o wydatki związane z częstą aktualizacją aplikacji, a także migracją do innych otwartych rozwiązań programistycznych.

Kolejną zaletą wolnych i otwartych programów komputerowych stanowiącą uzupełnienie wspólnotowego modelu rozwoju oprogramowania jest możliwość zastosowania heterogenicznego planu wydawniczego. Zróżnicowana forma publikacji nowych wersji programu umożliwia dokładniejsze ukazanie planów związanych z rozwojem projektu oraz wyszukiwanie i usuwanie usterek. Schemat ten zastosowano w większości projektów środowiska open source. Jednym z najlepszych przykładów wdrożenia tego typu programu jest wolna dystrybucja systemu GNU/Linux – Debian. Rozwój projektu przebiega jednocześnie w trzech równoległych gałęziach: eksperymentalnej, niestabilnej oraz testowej. Oprogramowanie mające zostać zaaprobowane przez deweloperów musi przejść przez wszystkie etapy kontroli aż do wersji testowej. Użytkownicy dystrybucji mają dostęp do każdej wersji programu w celu wyszukiwania błędów oraz zgłaszania uwag dotyczących projektu. Finalnym produktem jest publikowane co kilka lat wydanie stabilne. Stanowi ono zamrożoną i dopracowaną gałąź testową.

W przypadku zamkniętego modelu rozwoju oprogramowania przebieg prac związanych z projektowaniem, testowaniem oraz dopracowywaniem programu odbywa się bez wiedzy osób spoza ścisłego grona deweloperów. Schemat ten ogranicza możliwości wcześniejszego wykrycia usterek oraz dostosowania produktu do wymagań użytkowników. Po zauważeniu problemu większość z deweloperów aplikacji własnościowych przemodelowało plan wydawniczy, udostępniając przed opublikowaniem finalnego produktu wersje testowe. Zmiany tego typu wprowadzone zostały także przez największego producenta oprogramowania komputerowego na świecie, firmę Microsoft.

Nadrzędnym celem ruchu WiOO jest zapewnienie wolnego dostępu do aplikacji komputerowych przez ogół użytkowników. Możliwości wykorzystania tego typu rozwiązań nie powinny być zatem sztucznie ograniczane przez stosowanie zamkniętych formatów, umożliwianie instalacji oprogramowania wyłącznie na wybranych rozwiązaniach sprzętowych lub ograniczanie swobód użytkownika restrykcyjnymi zapisami licencyjnymi. W zgodzie z filozofią ruchu większość projektów typu open source została oparta wyłącznie o wolne komponenty nieobjęte ochroną patentową. Rozpowszechnianie programów wraz z otwartym kodem źródłowym usuwa ponadto problem umyślnego zawężania możliwości instalacji tylko na wybranych rozwiązaniach sprzętowych lub współpracy aplikacji wyłącznie z oprogramowaniem jednego producenta.

Ważną cechą FLOSS jest także wysoki stopień implementacji otwartych standardów. Wykorzystanie wolnych specyfikacji technicznych, bibliotek, a także formatów danych umożliwia wybór najlepszego oprogramowania dostosowanego do potrzeb użytkownika. Zgodność z otwartymi standardami zwiększa ponadto możliwości integracji WiOO z wykorzystywaną dotychczas architekturą IT.

Wspieranie wolnych standardów należy do grupy czynników decydujących o nieskrępowanym rozwoju społeczeństwa informacyjnego. Zależność ta została zauważona i sformułowana w Strategii rozwoju społeczeństwa informacyjnego w Polsce na lata 2007-2013 . Uniezależnienie się od konkretnych platform i rozwiązań zamkniętych poprzez wykorzystanie otwartych standardów informatycznych jest jednym z podstawowych celów polityki państwa wskazanych w dokumencie.

Neutralność technologiczna, będąca istotną zaletą wolnego i otwartego oprogramowania widoczna jest na przykładzie głównego projektu środowiska – systemu Linux. Wykorzystanie otwartych standardów oraz udostępnienie kodu źródłowego aplikacji umożliwiło przeniesienie systemu na wszystkie popularne platformy sprzętowe. Wieloplatformowość programów typu open source wykorzystywana jest przez producentów profesjonalnych rozwiązań serwerowych, komputerów osobistych, telefonów komórkowych, a także wytwórców urządzeń AGD i RTV.

Ważną cechą wolnego i otwartego oprogramowania jest także wielojęzyczność. Dostęp do kodu źródłowego aplikacji, gotowych narzędzi translatorskich oraz zastosowanie liberalnych licencji chroniących OSS, umożliwia szybkie i dogodne tłumaczenie graficznych interfejsów użytkownika. Wysoka sprawność przebiegu procesu możliwa jest dzięki wkładowi społeczności skupionej wokół danego projektu. Kooperacja pomiędzy użytkownikami została zapewniona przy użyciu systemów kontroli wersji oraz dedykowanych narzędzi translatorskich jak Pootle.

Oprogramowanie FLOSS prócz wielu zalet posiada także wady. Należy wspomnieć, iż większość aspektów wymienianych przez przeciwników ruchu wolnego i otwartego oprogramowania jako szkodliwe nie została dotąd poparta wynikami badań. Kwestiami poruszanymi najczęściej są problemy o wymiarze społeczno-ekonomicznym. Podstawowe zarzuty formułowane przez przeciwników OSS to:

  • utopijny model ekonomiczny;
  • ukryta hierarchia w społeczności twórców;
  • zależność społeczności od lidera projektu;
  • łamanie praw własności intelektualnej;
  • zaburzenie równowagi na rynku;
  • brak wsparcia technicznego;
  • niewystarczająca prędkość rozwoju;
  • niska jakość oprogramowania;
  • niebezpieczeństwo związane z otwartością kodu źródłowego;
  • niska przydatność otwartego kodu źródłowego;
  • rozłam pomiędzy Free Software a Open Source.

Różnorodność modeli biznesowych oraz liczba firm opierających swą działalność na wolnym i otwartym oprogramowaniu wskazują na niewłaściwe określanie WiOO mianem utopijnego schematu ekonomicznego. Jednakże niewłaściwie przygotowany plan biznesowy przedsiębiorstw chcących przenieść swą działalność w sferę OSS może skutkować poważnymi problemami natury finansowej, a także bankructwem. Przedwczesne i nieprzemyślane otwarcie kodu źródłowego komercyjnej aplikacji skutkuje przeważnie zakończeniem rozwoju projektu.

Zarówno zarzuty dotyczące zagadnień ekonomicznych, braku wsparcia technicznego, niskiej przydatności otwartego kodu źródłowego, niskiej jakości oprogramowania, jak i niewystarczającej prędkości rozwoju projektów OS nie obejmują popularnych przedsięwzięć środowiska. Rozbudowane aplikacje o szerokim wsparciu społeczności stanowią bowiem idealną podstawę dla wielu organizacji pragnących wykorzystać oprogramowanie dla własnych celów. Rozwijanie popularnych programów WiOO przynosi korzyści zarówno indywidualnym użytkownikom, instytucjom wykorzystującym wybrane rozwiązania, jak i przedsiębiorstwom oferującym wsparcie dla odbiorów oprogramowania.

Przykładem tego typu aplikacji jest platforma blogerska WordPress. Wykorzystywany przez miliony użytkowników na świecie program stał się źródłem dochodu firm opracowujących dodatkowe moduły, szablony graficzne oraz gwarantujące pomoc techniczną. Współpraca różnorodnych grup interesu owocuje szybkim wytwarzaniem wysokiej jakości kodu, zapewnieniem wsparcia na warunkach komercyjnych, jak i oferowanym przez społeczność. W przypadku rozwiązań webowych należy także wykluczyć niską przydatność otwartego kodu źródłowego. Skryptowy język programowania oraz dopracowana dokumentacja umożliwiają dostosowywanie aplikacji nawet przez niedoświadczonych użytkowników indywidualnych.

Pomimo że większość z wymienionych wad nie znajduje odniesienia w przypadku rozbudowanych i popularnych projektów FLOSS, mogą one charakteryzować niewielkie, niszowe przedsięwzięcia. Zgodnie z wynikami badań Krzysztofa Klincewicza 31% aplikacji znajdujących się w popularnym repozytorium SorceForge.net rozwijana jest przez grupy deweloperów składające się maksymalnie 4 osób. Prace prowadzone indywidualnie stanowią 9% badanego zbioru. Zależność ta stanowi spore zagrożenie dla użytkowników pragnących wykorzystywać dane rozwiązane bez wiedzy niezbędnej do jego doskonalenia. Systemy tego typu nie posiadają najczęściej wystarczającej dokumentacji ani społeczności gotowej udzielić niezbędnej pomocy. Porzucenie projektu przez lidera prowadzi przeważnie do zaniechania dalszych prac i zamknięcia dalszej drogi rozwoju programu.

Wdrożenie oprogramowania nieposiadającego komercyjnego wparcia technicznego oraz wystarczająco rozwiniętej społeczności może się zatem wiązać z nakładami finansowymi porównywalnymi do kosztów implementacji rozwiązań komercyjnych. Kwestią sprawiającą największe problemy jest zapewnienie dalszego rozwoju aplikacji. Aktualizacja oprogramowania, dostosowywanie przejętego kodu do własnych potrzeb oraz usuwanie napotkanych usterek wymaga bowiem utrzymania wykwalifikowanej kadry, charakteryzującej się poza zdolnościami technicznymi również umiejętnością szkolenia użytkowników końcowych. Problematycznym punktem jest także odnalezienie grup osób zainteresowanych wspólną rozbudową programu.

Większość z wymienionych w artykule wad wolnego i otwartego oprogramowania odnaleźć można także w rozwiązaniach zamkniętych. Podobnie jak ma to miejsce w projektach OSS, większość aplikacji własnościowych rozwijana jest przez niewielkie grupy deweloperów. W przeciwieństwie do systemów otwartych porzucenie rozwoju platformy uniemożliwia dalsze prace nad nią przez skupioną wokół niej społeczność. Niezgodnym z popularną opinią faktem jest także brak zapewnienia wysokiej jakości kodu, gwarancji dotyczącej sprawności produktu oraz wystarczającego wsparcia technicznego.