Oprogramowanie typu Open Source od lat jest powszechnie wykorzystywane przy tworzeniu rozwiązań informatycznych dla biznesu i administracji. Powszechnie korzystają z niego również osoby prywatne. Wielu osobom termin open source przede wszystkim kojarzy się z systemami z rodziny Linux, choć termin ten jest znacznie bardziej pojemny i obejmuje wiele różnorodnych rozwiązań licencyjnych. Co tak naprawdę kryje się za tą ideą i czy owa „otwartość” ma jakieś granice?
Czym jest otwarte oprogramowanie?
W aspekcie prawnym, o uznaniu oprogramowania za „otwarte” decyduje kilka czynników. Warto skupić się jednak na dwóch najważniejszych. Po pierwsze, kod źródłowy oprogramowania musi być dostępny. Po drugie, może być on zmieniany i ponownie dystrybuowany na warunkach określonych w licencji pierwotnej. Wyklucza to wszelką dyskryminację i gwarantuje technologiczną neutralność.
Ryc. 1. Zależności pomiędzy poszczególnymi licencjami Open Source
autor: David A. Wheeler, 2007, CC-BY-SA-3.0
Open Source to termin dość pojemny i w sensie prawnym obejmuje wiele różnych rozwiązań licencyjnych: od tych najbardziej liberalnych, które nie wiążą się z żadnymi ograniczeniami w użytkowaniu, zmienianiu i redystrybuowaniu, przez całą gamę rozwiązań pośrednich, po te bardziej restrykcyjne, których przykładem może być licencja GNU GPL. Wymaga ona, aby wszelkie zmiany czy rozszerzenia wprowadzone do kodu, były w przypadku dystrybucji opartego na nim oprogramowania udostępniane na tej samej licencji.
Open Source jest modelem wytwarzania rozwiązań, który sam z siebie nie stawia ograniczeń. Wręcz przeciwnie - otwiera nowe, dotychczas niedostępne ścieżki dla rozwoju oprogramowania. W kontekście biznesu i produkcji rozwiązań IT pod konkretne potrzeby użytkowe, jest to opcja praktycznie bezkonkurencyjna i motor rozwoju milionów firm na świecie.
Ryc. 2. Najpopularniejsze licencje Open Source, opracowanie Linux Polska, 2016
na podstawie danych Black Duck Software, Freshmeat et al., CC-BY-SA-3.0
Rozwój Open Source - czy istnieją granice?
Niezależnie od licencji, na której jest dane oprogramowanie, nie ma ograniczeń w jego modyfikacji przez użytkownika końcowego dla własnych potrzeb. Jednak zgodnie z ideą Open Source, dobrą i pożądaną praktyką jest dzielenie się własnymi modyfikacjami z szerszą grupą (community). Dzięki temu, społeczność Open Source może rozwijać swoje projekty, wdrażając kolejne funkcjonalności i usprawnienia. Wyczerpującą, choć niekompletną listę licencji można znaleźć pod adresem: opensource.org/licenses/alphabetical
Dzielenie się modyfikacjami i pomysłami zmian ma też wymiar praktyczny. Większa liczba osób mających dostęp do kodu i przeglądających go, pozwala na szybsze wykrywanie błędów, luk bezpieczeństwa czy nieefektywnych algorytmów, a tym samym ich eliminowanie i tworzenie lepszego rozwiązania. Nie ma firmy, która mogłaby zatrudnić tak wielką liczbę ludzi, którzy pracują z pasją i oddaniem. Dlatego właśnie model Open Source jest doskonały.