Dlaczego Open Source

jjb

2005/07/29

Categories: informatyka Tags: Open Source Linux FreeBSD opłacalność

Table of Contents

Dlaczego Open Source

Argumentacja może być, jak to zwykle bywa, wieloraka - pisana z różnych pozycji więc dla uściślenia podaję, że piszę to z punktu widzenia administratora usług sieciowych i dydaktyka informatyki. Nie zajmuję się dydaktyką na uczelni, a szkoleniami technicznymi dla ludzi, którzy w swojej pracy muszą rozwiązywać konkretne praktyczne problemy - np. uruchomić i utrzymywać przy życiu serwer pocztowy.

Z tego to punktu widzenia bardzo dobrze widać następujące zalety systemów otwartych:

  1. Olbrzymią elastyczność pozwalającą na wybranie narzędzia rozwiązującego nasz problem w sposób najbardziej zgodny z naszymi oczekiwaniami;
  2. Przyzwoitą, a niekiedy wręcz znakomitą dokumentację;
  3. Możliwość uzyskania sensownego wsparcia w kłopotach technicznych;
  4. Standaryzację rozwiązań.

Bez trudu mógłbym wymienić dodatkowe argumenty, ale te wydają mi się teraz najbardziej istotne. Nieuczciwe byłoby pisanie tylko i wyłącznie o zaletach rozwiązań tego typu, ale o pewnych niebezpieczeństwach wspomnę już w kontekście ich występowania.

Elastyczność rozwiązań

Załóżmy, że naszym celem jest uruchomienia usługi pocztowej dla niewielkiej domeny. Jakie mamy możliwości? Możemy wybierać od najstarszego i najbardziej zawiłego, ale potężnego sendmaila poprzez postfix, exim, qmail do mniej rozbudowanych systemów, których jest kilkadziesiąt. Do tych serwerów, które mają za zadanie przyjąć pocztę i umieścić ją w skrzynce pocztowej użytkownika, albo wysłać w świat do innego serwera można dopasować niezależnie wiele innych serwerów (usług) udostępniających skrzynki pocztowe poprzez protokoły POP3, IMAP, HTTP, etc. Ta możliwość dopasowania ma charakter praktyczny. Zastosowanie tego, czy innego oprogramowania otwartego z reguły nie wymaga wniesienia żadnych opłat czy wykonania dodatkowych czynności.

Przyzwoita dokumentacja

Uczciwa dokumentacja była warunkiem koniecznym rozwoju oprogramowania więc nigdy nie była traktowana po macoszemu. Oczywiście umiejętności klarownego opisu nie są zbyt częste ogólnie rzecz biorąc więc możemy trafić na dokumentację pisaną mniej lub bardziej ciężkawo, ale zwykle jest ona zgodna ze stanem rzeczywistym. Bywa, że ktoś kto musi brnąć przez taką dokumentację kontaktuje się często z autorem czy autorami projektu i widzi, że projekt jest znakomity, ludzie wiedzą co robią ale jakoś nie potrafią napisać tego przejrzyście. I jeżeli taki ktoś przegryzie się przez temat i z perspektywy użytkownika napisze dokumentację to często jest ona znakomita, uzupełnia się z tą dostarczoną przez twórców oprogramowania, staje się reklamą projektu i zaczyna się rozwijać razem z nim.

Sensowne wsparcie

Cóż, powinienem się wytłumaczyć z pojęcia sensowne wsparcie. Definicji nie podam, ale podam przykład. Jest sobie taka grupa użytkowników systemu TeX. I teraz ktoś, kogo życie zmusiło do porządnego pisania zaczyna korzystać z tego systemu, natykając się na jakiś problem. Taki człowiek pisze na listę użytkowników TeX-a i dostaje z reguły kilka rad, które niezależnie rozwiązują jego problem. Wybiera coś co najbardziej mu odpowiada i często czuje się zobowiązany pomóc innym, kiedy już nabierze doświadczenia. Właśnie to jest sytuacja, która wg mnie w pełni opisuje sensowne wsparcie w moim zrozumieniu.

Standaryzacja rozwiązań

Tutaj sytuacja jest trudniejsza ponieważ bardzo często ktoś, kto tworzy oprogramowanie ma tendencję do wycieczki w rozwiązania szczegółowe, po swojemu. Potrzeba sporo dyscypliny wewnętrznej aby dojrzeć do tego, że istnieją pewne standardy, przestrzeganie których czyni rozwiązanie bardziej uniwersalnym, łatwiejszym w użyciu i tym samym bardziej zrozumiałym. Może bez dodatkowych wyjaśnień coś zaproponuję. W środowiskach uniksowych często używany jest Midnight Commander - taka dwuokienkowa semigraficzna nakładka na powłokę użytkownika. Warto dla eksperymentu podejrzeć sobie co pokaże ten program, kiedy każemy mu podejrzeć dokument Worda, WordPerfecta, iczy dokumenty z pakietu StarOffice, OpenOffice czy KOffice.

Rola Linuksa

Linux stał się medialnym nośnikiem idei wolnego oprogramowania. Dla wielu osób OpenSource jest synonimem systemu Linux. Ma to co prawda niewiele wspólnego z rzeczywistością, ale dobrą stroną tej sytuacji jest to, że to skupienie medialne zaowocowało dużą popularnością Linuksa. Zaawansowany użytkownik tego systemu bez trudu zrozumie i doceni inne systemy otwarte, jak. np. BSD. Być może w niektórych zastosowaniach wydadzą mu się lepsze… Ja osobiście używam obu tych systemów i uważam, że dla serwerów akademickich system FreeBSD jest znakomity. Szczególnie w miejscach gdzie potrzebujemy mniej fajerwerków, a więcej stabilności i wydajności. Natomiast nie zachwyca mnie ten system w zastosowaniach desktopowych.

Darmowe oprogramowanie

Linux bardzo mocno zaakcentował obecność w gospodarce tzw. darmowego oprogramowania. To hasło to swego rodzaju wytrych intelektualny, który był i jest różnie rozumiany. Bo co to znaczy “darmowy”. Dla użytkownika, który sobie zainstaluje jakiś darmowy program na swoim domowym komputerze i w dodatku używa go sporadycznie jest to oczywiste. Natomiast przestaje być oczywiste dla firmy, która musi utrzymywać pewnego rodzaju usługi, z których korzysta ona i jej kontrahenci.

Taka firma musi liczyć koszty całościowo. Ile nas kosztuje utrzymanie tej usługi w ciagu 3 lat? Co tu jest najbardziej opłacalne. Może się okazać, że kwestia licencji, jako jeden z wielu kosztów odgrywa mniejszą rolę. Ważniejsze staje się utrzymanie tej usługi na odpowiednim poziomie dostępności i poufności.

Komercyjny Linux

Właśnie z analizując takie sytuacje firm rynek informatyczny dostrzegł potrzebę tworzenia dystrybucji Linuksowych z komercyjnym wsparciem. Caldera Open Linux, RedHat, Novell SuSe - to przykłady takich inicjatyw gospodarczych. Niektórzy widzą w tej sytuacji zagrożenie dla wolnego oprogramowania. Moim zdaniem niesłusznie. Wiele oprogramowania stworzonego w firmach komercyjnych udostępnia się wraz z kodami źródłowymi. Np. IBM udostępnia na tej zasadzie serwer pocztowy “postfix” opracowany przez swojego pracownika Vetse Venema. W sieci można znaleźć więcej oprogramowania należącego do tego autora… Komercyjne dystrybucje zapewniają po prostu wsparcie techniczne dla oprogramowania OpenSource i często dostarczają dodatkowe narzędzia konfiguracyjne umożliwiające dokonanie darmowego unowoczęśnienia oprogramowania w okresie wsparcia. Natomiast poszczególne aplikacje wchodzące w skład dystrybucji udostępniane są na licencji ustalonej przez twórców projektu - przecież wiele z tych projektów powstało dla innych systemów operacyjnych, niektóre przed powstaniem Linuksa.

Praktycznie każdy zaawansowany administrator Linuksa działa na podobnej zasadzie. Daje realne wsparcie dla oprogramowania. Poświęca na to swój czas i umiejętności. Bywa, że przyczynia się do rozwoju oprogramowania pisząc dokumentację, zgłaszając błedy, poprawną konfiguracją zabezpieczając efektywną i stabilną pracę systemu. Taki realny system jest znakomitą wizytówką i reklamą. Ale to jest w dużej mierze zasługa administratora bowiem każdy system można fatalnie skonfigurować…

Raz jeszcze o FreeBSD

System ten jest u nas niezasłużenie mało popularny. Tymczasem jest bardzo stabilny w działaniu, szybko rozwijany i dostępny na licencji jeszcze bardziej otwartej aniżeli GNU - zezwala ona na włączanie kodów do produktów komercyjnych. Wiele poważnych serwisów dużych firm hostingowych opartych było i jest o freeBSD. System ten ratował np. usługi Windows Update Microsoftu po atakach wirusa Sobig. Dobrze się go aktualizuje, ma godny uwagi system instalacji pakietów binarnych poprzez sieć albo kompilowania oprogramowania do postaci pakietu binarnego poprzez zestaw portów. Na ogół instalujemy na nim podobne pakiety, jak na Linuksach i przy odrobinie doświadczenia z FreeBSD sprawdzają się na Linuksie i na odwrót. Ja często używam tych samych plików konfiguracyjnych jako wyjściowych dla Linuksa i dla FreeBSD - w przypadku przenoszenia usług z Linuksa na FreeBSD lub na odwrót często kopiuję pliki konfiguracyjne niektórych serwerów i to wystarcza…. Dużą zaletą FreeBSD jest możliwość uruchamiania binariów napisanych dla innych systemów operacyjnych.

>> Home