Open Source – co to jest? Przykłady otwartego oprogramowania
Open source, czyli otwarte oprogramowanie jest z nami od wielu dekad. Jest ono często kojarzone z produktem darmowym, ale nie mówi to całej prawdy na ten temat. Niniejszy artykuł odpowie na pytania: co to jest open source, co go wyróżnia i jakie jest jego zastosowanie.
- Czym jest Open Source?
- Czy Open Source naprawdę jest za darmo?
- Licencja Open Source
- Czy oprogramowanie Open Source jest bezpieczne?
- Zalety i wady Open Source
- Społeczność Open Source
- Najpopularniejsze programy na licencji
Czym jest Open Source?
Open source ma długą historię – pierwszym otwartym oprogramowaniem był stworzony w 1953 r. kompilator A-2 dla komputerów UNIVAC.
Termin „open source” został po raz pierwszy użyty przez Christine Peterson w 1985, a jego obecnego znaczenia nadał mu w 1997 Eric S. Raymond. Czym jednak naprawdę jest ów open source?
Open Source – definicja
Open Source to termin odnoszący się do typu oprogramowania. Jest ono darmowe, udostępnione publiczne w formie kodu źródłowego, który każdy może przejrzeć, zmodyfikować, a następnie opublikować własną jego wersję.
Kod open source podlega procesom wzajemnych recenzji, gdzie specjaliści dzielą się spostrzeżeniami na temat jakości i funkcjonalności kodu.
Czy Open Source naprawdę jest za darmo?
W ogromnym skrócie – tak, otwarte oprogramowanie jest bezpłatne. Taka odpowiedź nie mówi jednak wszystkiego na temat programów powstałych w oparciu o otwarty kod. Rzeczywiście open source nie wiąże się z żadnymi opłatami licencyjnymi, jednak podstawą tego typu rozwiązań nie jest ich darmowość, lecz otwarta natura kodu źródłowego.
Jednak nie ma darmowych obiadów i podmioty (np. firmy) decydujące się na użycie rozwiązań open source, mogą ponosić własne koszty związane z jego utrzymywaniem i rozwojem. Na dodatek najczęściej tego typu oprogramowanie pozbawione jest wsparcia technicznego i usług gwarancyjnych, jakie występują w płatnych, autorskich odpowiednikach.
Licencja Open Source
Licencja open source charakteryzuje się:
- swobodnym dostępem do kodu źródłowego, na podstawie którego można tworzyć oprogramowanie,
- możliwością uruchomienia otwartego kodu bez ponoszenia opłat,
- prawem do modyfikacji oprogramowania open source do własnego użytku,
- zezwoleniem na dystrybucję zmodyfikowanego oprogramowania,
- koniecznością udostępniania software’u w formie kodu źródłowego.
Open Source Initative (OSI), organizacja zajmująca się akceptacją licencji otwartego oprogramowania, wyróżnia 5 głównych kryteriów, jakie musi ono spełnić, aby zostać oficjalnie uznane za „open source”:
- 100% jawność – twórcy kodu nie mogą pozostawić żadnych zatajonych informacji, w tym tych dotyczących luk bezpieczeństwa.
- Darmowość oraz szeroka dostępność.
- Patenty niezbędne do funkcjonowania kodu są udostępnione bez dodatkowych opłat i mają nieograniczone użycie.
- Brak zobowiązań w postaci klauzuli poufności, zgód licencyjnych, itp.
- Zastosowanie konkretnego rozwiązania typu open source nie może wymagać innych technologii niespełniających kryteriów otwartego oprogramowania.
OSI wyróżnia 58 różnych rodzajów licencji open source – najczęściej występujące to GPL i BSD.
Czy oprogramowanie Open Source jest bezpieczne?
Otwarty kod sam w sobie nie jest gwarantem bezpieczeństwa. Jednakże programy open source w praktyce mogą okazać się mniej podatne na zagrożenia niż zamknięte rozwiązania komercyjne.
Każdy projekt ma skupioną wokół siebie społeczność, która aktywnie wypatruje coraz to nowszych luk zabezpieczeń. Osoby, którym się uda je wypatrzeć, są hojnie wynagradzane przez gigantów pokroju Google i innych. Z reguły wszelkie krytyczne usterki są bardzo szybko usuwane.
Jest również druga strona medalu. Przez to, że wiele programów może używać tych samych rozwiązań open source, gdy hakerom uda się opracować nowy typ cyberataku – może zagrozić to dużej liczbie aplikacji jednocześnie.
Zalety i wady Open Source
Otwarte oprogramowanie ma swoje atuty, jak i słabości. Decydując się na jego wykorzystanie, warto rozważyć lepsze i gorsze strony tego typu rozwiązania.
Plusy oprogramowania open source to:
- Brak opłat licencyjnych.
- Kod jest nieustannie ulepszany i rozwijany przez utalentowaną społeczność programistów.
- Duża elastyczność i pole na innowacje przez możliwość dopasowywania oprogramowania do różnych potrzeb.
- Bugi i luki zabezpieczeń są szybciej wychwytywane.
- Uniezależnienie od dostawcy systemu – zawsze można zmienić usługodawcę współpracującego z nami.
Z kolei minusy otwartego kodu to między innymi:
- Mniejsza przystępność użytkowania aniżeli płatne oprogramowanie komercyjne.
- Brak szerokiego wsparcia technicznego.
- Konieczność lepszego rozeznania w temacie podatności zabezpieczeń, aby aktualizować własne produkty przed zagrożeniami.
Społeczność Open Source
Cechą wyróżniającą Open Source jest społeczność, która nieustannie rozwija projekty oparte o otwarty kod. Jedną z najpopularniejszych platform do dzielenia się kodem źródłowym open source jest GitHub.
Wbrew powszechnym stereotypom, społeczności open source nie są wyłącznie zasługą niezależnych programistów pracujących za darmo. Gdy popatrzymy na większość dużych projektów – w niemal każdym przypadku za największą liczbę usprawnień odpowiada najczęściej garstka osób. Są one zatrudnione w konkretnych firmach (od Oracle po Intel) i otrzymują wynagrodzenie za pracę nad otwartym oprogramowaniem.
Dla przykładu – 90% zmienionych linijek kodu w Linux 4.18 było dziełem opłacanych deweloperów open source.
Wiele dużych przedsiębiorstw, np. Google, rozwija otwarte oprogramowanie (a w przypadku Androida – open source stanowi trzon tego systemu), jednak proces ten wymaga sporej dozy wysiłku. Nie można oczekiwać, że udostępni się kod i w krótkim czasie ujrzymy rezultaty. Korporacje odpowiadające za projekty oparte o open source muszą przede wszystkim zaangażować się w nie same oraz zadbać o odpowiednie warunki dla społeczności. Wprowadzanie zbyt wielu zasad i ograniczeń może zniechęcić programistów.
Najpopularniejsze programy na licencji Open Source
Linux
Najpopularniejszy system operacyjny z otwartym kodem, powstały w 1991 z inicjatywy Linusa Torvaldsa. Linux jest używany jako alternatywa dla Windowsa w systemach operacyjnych komputerów PC, ale nie tylko. Bazuje na nim Android, jak również konsole PlayStation 5. Wyróżnia go ogromna liczba wariantów (dystrybucji).
Firefox
Przeglądarka Mozilla Firefox powstała w 2002 i po dziś dzień jest jednym z najpopularniejszych programów w swoim rodzaju. Aplikacja ta jest szczególnie ceniona za podejście do prywatności – w przeciwieństwie do większości innych przeglądarek, Mozilla jako organizacja non-profit nie zbiera danych o użytkownikach.
Libre Office
Najczęściej instalowana, darmowa alternatywa dla Microsoft Office obsługuje niemal wszystko, co jego komercyjny odpowiednik. Oddana społeczność nieustannie dba o to, by pojawiały się nowe funkcje, np. generowanie kodów QR do dzielenia się plikami.
WordPress
Najpopularniejsza platforma do stawiania blogów i zarządzania treściami internetowymi, stanowiąca fundamenty wielu ogromnych serwisów. Cechą charakterystyczną WordPressa jest kolosalna liczba obsługiwanych wtyczek, dzięki czemu strony można personalizować na wiele sposobów.
Python
Python to jeden z popularniejszych języków programowania do m.in. tworzenia skryptów, automatyzowania zadań itp. Jest częstym elementem stron i serwisów internetowych, a korzystają z niego m.in. serwis społecznościowy Instagram, platforma VOD Netflix czy serwis streamingujący muzykę – Spotify.
Może Cię zainteresować: