Obrazek wyróżniający

Oprogramowanie open-source – zalety i problemy

Zastanawiasz się czy postawić na oprogramowanie open-source? Wybór oprogramowania to trudna decyzja, dlatego postanowiliśmy ją trochę ułatwić. Przygotowaliśmy kompletną listę zalet i wad open-source’ów. Zapoznaj się się z nią, a łatwiej będzie Ci znaleźć odpowiedź.

Co to w ogóle jest open-source?

Oprogramowanie open-source to najprościej mówiąc oprogramowanie, którego kod źródłowy jest otwarcie dostępny i który można bezpłatnie rozpowszechniać. W praktyce oznacza to, że każdy kto tylko chce może oglądać, zmieniać i udostępniać kod źródłowy będący podstawą oprogramowania. Dzięki tym specjalnym uprawnieniom zdecydowana większość oprogramowania open-source jest darmowa.

Można spytać – skoro jest darmowa, to w jaki sposób firmy z tej branży nie bankrutują? Wszystko dzięki otoczeniu towarzyszącemu darmowemu trzonowi. Wdrożenia, wsparcie techniczne i dodatkowe, płatne funkcje oraz wtyczki pozwalają na konkurencyjne funkcjonowanie na rynku. Oprócz tego, czasem wraz z darmową, open-source’owa wersją publikowana jest również płatna, bardziej rozbudowaną edycja programu. Wtedy producent utrzymuje się dzięki płatnej wersji, na którą przechodzą użytkownicy chcący rozszerzyć swój zakres funkcjonalności.

To oznacza, że oprócz licznych pasjonatów istnieją jednocześnie osoby, którym zależy na jak najlepszej jakości i ewolucji otwartego oprogramowania z perspektywy rozwoju biznesu i profitów z nim związanych.

Aplikacje open-source są używane powszechnie zarówno przez „zwykłych” użytkowników jak i wielkie międzynarodowe przedsiębiorstwa. Do przykładów otwartego oprogramowana należą m.in.: Linux, OpenOffice, Mozilla Firefox, WordPress, GIMP, Android OS, Zimbra OSE czy Carbonio CE. Spójrzmy teraz na przyczyny ich popularności.

Zalety

Koszty

Dzięki otwartemu dostępowi do kodu źródłowego, otrzymujemy bezpłatną i gotową do użycia bazę. Brzmi świetnie, prawda? Jeżeli nie potrzebujemy mocno dostosowywać programu, wybór open-source’a pozwoli zaoszczędzić sporą sumę pieniędzy.

Niezawodność

Otwarte oprogramowanie jest tworzone i testowane przez dużą liczbę osób. Naturalnie, oznacza to, że więcej osób jest w stanie wyłapać błędy. Są one usuwane na bieżąco przez co mniej osób ma w ogóle szansę ich doświadczyć.

Długowieczność

Ten typ oprogramowania zdaje się dobrze wytrzymywać próbę czasu gdy budowane jest przez zaangażowaną społeczność. Załóżmy taką sytuację – autor porzuca rozwój oprogramowania. Jeżeli społeczność dalej żyje, to ona przejmuje pałeczkę – może np. powstać program o podobnej nazwie. Wszak kod jest otwarty, więc każdy może go rozpowszechniać. Taki bieg wydarzeń nie byłby możliwy w przypadku licencjonowanych programów.

Co więcej, porzucenie aplikacji, nawet przez społeczność, nie oznacza że tracimy dostęp do kodu. Mamy do niego ciągły dostęp i możemy używać go tak długo jak chcemy.

Aktywna społeczność to clou otwartego oprogramowania

Bezpieczeństwo

Więcej osób = więcej par oczu, które mogą dostrzec lukę w zabezpieczeniach. Przekłada się to podniesioną szansę na wykrycie niedopatrzenia przed wykorzystaniem go w złych intencjach.

Inny aspekt który trzeba mieć na uwadze przy zapewnieniu płynności użytkowania to szybkość naprawienia wykrytego już problemu. Tutaj działa podobna zasada, więcej osób = więcej pomysłów i rąk do pracy. Przy zaangażowanej społeczności, takie zestawienie pomaga szybciej pozbyć się mankamentu w stosunku do licencjonowanych rozwiązań.

Elastyczność

Przez to, że mamy swobodny dostęp do całego kodu, możemy wprowadzać do niego swoje rozwiązania i dostosowywać aplikację do swoich potrzeb. To otwiera niespotykaną w licencjonowanych programach możliwość kompletnego dopasowania pod nasze potrzeby.

Kompatybilność

Duże firmy często przygotowują gotowe moduły do integracji API. Dzięki temu łatwo możemy połączyć swoją aplikację lub stronę z ich usługami – np. dodając moduł płatności czy umożliwiając wysyłkę kurierską.

Open-source umożliwia kompletne dostosowanie systemu

To wszystko brzmi niczym wyjęte z utopii. Nie możemy jednak zapomnieć o problemach i zagrożeniach, które są ściśle związane z możliwościami gwarantowanymi przez open-source. Spójrzmy teraz na problemy i sposoby radzenia sobie z nimi.

Problemy

Koszty

Niestety, posiadanie gotowej bazy ma też drugą stronę medalu. Jeżeli różni się ona w dużym stopniu od naszej koncepcji, jej skomplikowane dostosowywanie może okazać się mniej opłacalne niż zbudowanie programu od podstaw.

Brak wsparcia

Mimo tego, ile osób zaangażowanych jest w rozwój oprogramowania, żadna nie może zostać pociągnięta do odpowiedzialności w razie awarii. Oczywiście, możemy szukać rozwiązania problemu na forach, pytając członków społeczności. Do tego potrzeba jednak czasu i odpowiedniej wiedzy, a finalnie może okazać się, że pomoc dostaniemy zbyt późno, lub w ogóle. Brzmi to jak bardzo duże ryzyko dla prowadzenia działalności, prawda?

Tutaj na pomoc przychodzi dodatkowa usługa wsparcia lub zatrudnienie specjalisty sprawującego pieczę nad naszym systemem. To pozwoli zapewnić bezpieczeństwo. Jeżeli chcesz dowiedzieć się więcej o gwarantowanym przez nas bezpieczeństwie dla systemu Zimbra, odwiedź tą stronę.

Decydując się na otwarte oprogramowanie, trzeba zapewnić niezawodność systemu, np. zatrudniając technika lub firmę trzecią

Możliwe porzucenie

Tak naprawdę, ten punkt tyczy się każdego programu. Nieważne czy open-source’owego czy nie. Zasadnicza różnica jest taka, że przy tym pierwszym kluczowe jest porzucenie przez społeczność, a nie autora. Oczywiście, porzucenie przez autora będzie dla aplikacji ciosem, lecz ten niekoniecznie będzie śmiertelny. W końcu społeczność może przejąć inicjatywę i wskrzesić idee twórcy, np. pod lekko zmienioną nazwą.

Co dzieje się w przypadku zaniechania starań przez społecznosć? Wraz ze śmiercią społeczności, jej dzieło wchodzi w stagnację. To równoznaczne z brakiem wyłapywania błędów, pomocy na forach, nowych pomysłów i rozwoju. Teoretycznie dalej możemy korzystać z programu, warto jednak mieć na uwadze jego obniżone bezpieczeństwo, brak wsparcia społeczności i brak innowacji.

Bezpieczeństwo

Niestety, szeroka dostępność do kodu źródłowego niesie ze sobą również zagrożenia. Niektóre jednostki mogą mieć złe zamiary i wprowadzać do kodu swoje „poprawki” zawierające złośliwe oprogramowanie.

To absolutnie nie oznacza, że nie powinniśmy w ogóle używać programów open-source. Ich użycie może przynieść nam dużo korzyści, musimy tylko pamiętać o zachowaniu ostrożności. Szczególnie kiedy korzystamy z uprzejmości nieznajomego i wprowadzamy w życie napisany przez niego blok kodu.

Open-source – podsumowanie

Podsumujmy najważniejsze aspekty oprogramowania open-source.

Po pierwsze, koszty. Gotowa baza pozwala zaoszczędzić sporo zasobów i pieniędzy na start, w końcu lepiej coś dostosować niż zbudować od podstaw. Musimy jednak spojrzeć też na finalne koszty. Te w głównej mierze zależą od wielkości planowanych zmian. Jeżeli będziemy chcieli wprowadzać duże i częste zmiany, może okazać się, że zbudowanie programu specjalnie pod nasze potrzeby wyszłoby bardziej opłacalnie niż niezliczone przystosowania.

Nie możemy również zapomnieć o zabezpieczeniu się w razie awarii. Warto jest więc wliczyć do rachunku koszt wsparcia technicznego (np. Wsparcie IT lub wsparcie serwisowe Zimbra) lub włączenia do zespołu technika.

Po drugie, aktywna społeczność to klucz. To ona jest motorem napędowym rozwoju open-source’a, który wymyśla i wprowadza coraz to nowsze innowacje. Oprócz tego, gwarantuje bezpieczeństwo i pozwala szybciej wykryć i pozbyć się błędów. Bez niej możemy spodziewać się zdecydowanie pogorszonego funkcjonowania oprogramowania. Przy wyborze, trzeba więc wziąć pod uwagę czy dany program cieszy się zainteresowaniem społeczności.

No dobrze, czy więc oprogramowanie open-source jest lepsze od licencjonowanego? Myślę, że na to pytanie nie ma prostej odpowiedzi. Obie z propozycji mają wiele unikalnych zalet jak i mankamentów. Jedyne co pozostaje nam zrobić to zestawić je z naszymi własnymi potrzebami i wybrać tą opcję, która najlepiej się z nimi pokrywa.