Za i przeciw

W przypadku oprogramowania komercyjnego narzędziami będą dysponować jedynie "Autoryzowane Centra Supportowe". Jest to metoda wykorzystywana także z powodzeniem na przykład przez sieci autoryzowanych warsztatów samochodowych i przeniesiona bez zmian do sfery produktów niematerialnych.

Natomiast zasadą open source jest udostępnienie narzędzi i dokumentacji wszystkim i bez żadnych ograniczeń. Teoretycznie więc każdy może zrozumieć działanie oprogramowania i w związku z tym prowadzić jego efektywny serwis. Niestety, oba podejścia mają słabe punkty. W przypadku oprogramowania komercyjnego dystrybucja wiedzy jest na ogół celowo ograniczana. Dzieje się tak przede wszystkim z powodu obaw producenta, że jego rozwiązania zostaną skopiowane w produktach konkurencji. Im więcej informacji zostanie przekazanych do punktów serwisowych, tym prawdopodobieństwo ich niekontrolowanego ujawnienia jest większe.

Takie stanowisko producentów skutkuje wprowadzaniem pośrednich (np. regionalnych) centrów serwisowych i tym samym wydłużeniem czasu reakcji serwisowej.

W przypadku oprogramowania open source dokumentacja jest niestety dość często niekompletna lub lakoniczna. Jakość dokumentacji jest zazwyczaj lepsza w przypadku bardziej zaawansowanych projektów.

Istotną zaletą open source jest natomiast powszechna dostępność oprogramowania narzędziowego. Pozwala to na znaczne skrócenie tzw. kanału wsparcia technicznego, a tym samym szybką oraz zindywidualizowaną reakcję serwisową.

Dokonując wyboru, należy więc postąpić rozważnie. Otwartość oprogramowania jest wielką zaletą - zapewnia ogromną elastyczność, która w większości przypadków nie jest możliwa do osiągnięcia przez oprogramowanie komercyjne.

Dawni "Unix Guru" mieli takie powiedzenie "w Unixie można zrobić wszystko. Jeśli się nie udaje, to znaczy, że jeszcze nie wiemy jak". Jest ono prawdziwe (nawet w większym stopniu) także dla Linuxa. Ale możemy nie umieć, możemy nie mieć czasu, albo po prostu nie chcieć. W takim przypadku nie oczekujmy, że za darmo otrzymamy produkt, który zastąpi (bez żadnego wysiłku z naszej strony) komercyjny system za kilka tysięcy dolarów. Cudów niestety nie ma...

Tak naprawdę to wdrażanie systemów open source jest bardzo podobne do realizacji profesjonalnych systemów opartych na systemach klasy Unix. W obu przypadkach producent oddaje nam całkowitą władzę nad systemem:

Paragraf 1: "ROOT wie, co robi i może wszystko"

Paragraf 2: "W razie jakichkolwiek wątpliwości patrz paragraf 1".

Oczywiście, trudno sobie wyobrazić w tych warunkach bezwarunkowe gwarantowanie poprawnej pracy oprogramowania. Dzięki takiemu podejściu unikamy ograniczeń charakterystycznych dla systemów zamkniętych. Ale coś za coś. Wykorzystanie możliwości systemu otwartego wymaga większej pracy przy jego konfiguracji. Nikt nigdy nie twierdził, że jest inaczej. Dlatego właśnie systemy otwarte są tak chętnie stosowane w rozwiązaniach serwerów sieciowych, a ciągle (właściwie od początku) nie mogą się "przebić" w rozwiązaniach dla użytkowników (desktop). Po prostu, w tym ostatnim przypadku elastyczność systemu nie jest tak atrakcyjna, jak w przypadku np. serwera internetowego. Wyjątkiem od powyższej reguły są jedynie terminale sieciowe, które są z reguły konfigurowane "seryjnie" poprzez sieć.

Autor tekstu "Rozważnie czy romantycznie" popełnia typowy błąd - usiłuje porównać rzeczy nieporównywalne. Dostawcy oprogramowania komercyjnego oferują nam gotowe do użycia produkty, zaś oprogramowanie open source to dostępny nieodpłatnie zestaw narzędzi. Za ich pomocą dobry fachowiec może przygotować system pasujący do potrzeb jak dobry garnitur uszyty na miarę przez znakomitego krawca. Jeśli krawiec jest kiepski - zawsze można spróbować wybrać gotowe ubranie w sklepie (ale pod warunkiem, że nie mamy 2 m wzrostu i 125 kg wagi).

Porozumienie ponad podziałami

Na zakończenie jeszcze krótki komentarz do "Spiskowej teorii open source" zaprezentowanej przez Marka Wierzbickiego (mam na myśli akapit "Komórkowe olśnienie"). Zupełnie jej nie rozumiem. Wsparcie ruchu open source ze strony producentów sprzętu jest obecnie powszechne.

Na przykład dla firmy IBM, która dostarcza platformy sprzętowe od terminali sieciowych poprzez stacje PC, stacje i serwery RISC aż po systemy mainframe jedynym systemem, który może wykorzystywać je wszystkie jest Linux - oszczędności (oraz korzyści dla użytkowników) są oczywiste. Zamiast rozwijać kilka wersji systemów operacyjnych zgodnie z ideą Unixa, wymieniamy jedynie część uzależnioną od sprzętu. A więc wsparcie ze strony producentów sprzętu jest dość łatwo racjonalnie wytłumaczyć chęcią obniżenia kosztów tworzenia oprogramowania oraz ujednolicenia środowiska systemowego.

Trzymając się porównania z komórkami - oprogramowanie komercyjne jest podobne do komórki z blokadą karty SIM, która pozwala korzystać tylko z usług jednej sieci. Oprogramowanie otwarte to swobodna możliwość dostawcy usług. Oczywiście, należy go wybrać starannie, ale najważniejsze, że taka możliwość istnieje!

Wybór pomiędzy oprogramowaniem komercyjnym i otwartym nie jest zadaniem prostym i łatwym oraz wymaga rozważenia wielu czynników. Poza tym wybór wcale nie musi być jednoznaczny. Mogę podać także wiele konkretnych przypadków, w których oprogramowanie komercyjne z powodzeniem współpracuje z oprogramowaniem open source oraz innym dostarczanym na zasadach licencji publicznych. I są to instalacje, w których od kilku lat pracują (również w Polsce) dziesiątki tysięcy użytkowników i stacji roboczych! Odpada więc argument o braku skalowalności. A czy warto postępować rozważnie i rozważyć wszystkie za i przeciw - na pewno tak.

Tomasz Barbaszewski jest prezesem firmy ABA.


TOP 200