Skip to content

Co to jest oprogramowanie typu open source i dlaczego ma to znaczenie?

14 de lipiec de 2021
ubuntu lucid lynx tux android

Geekowie często opisują programy jako „open source” lub „wolne oprogramowanie”. Jeśli zastanawiasz się, co dokładnie oznaczają te terminy i dlaczego mają znaczenie, czytaj dalej. (Nie, „wolne oprogramowanie” nie oznacza tylko, że możesz je pobrać za darmo).

To, czy program jest open-source, czy nie, ma znaczenie nie tylko dla programistów, ale ostatecznie ma również znaczenie dla użytkowników. Licencje na oprogramowanie typu open source dają użytkownikom wolności, których w innym przypadku by nie mieli.

Źródło obrazu: Quinn Dombrowski na Flickr

Definicja Open Source

Jeśli program jest open-source, jego kod źródłowy jest swobodnie dostępny dla jego użytkowników. Jego użytkownicy – ​​i wszyscy inni – mają możliwość pobierania tego kodu źródłowego, modyfikowania go i rozpowszechniania własnych wersji programu. Użytkownicy mają również możliwość rozpowszechniania tylu kopii oryginalnego programu, ile chcą. Każdy może używać programu w dowolnym celu; nie ma opłat licencyjnych ani innych ograniczeń dotyczących oprogramowania. OSI zawiera bardziej szczegółową definicję „open source” na swojej stronie internetowej.

Na przykład Ubuntu Linux to system operacyjny typu open source. Możesz pobrać Ubuntu, utworzyć tyle kopii, ile chcesz i przekazać je znajomym. Możesz zainstalować Ubuntu na nieograniczonej liczbie swoich komputerów. Możesz tworzyć remiksy płyty instalacyjnej Ubuntu i je rozpowszechniać. Jeśli byłeś szczególnie zmotywowany, możesz pobrać kod źródłowy programu w Ubuntu i zmodyfikować go, tworząc własną dostosowaną wersję tego programu – lub samego Ubuntu. Wszystkie licencje typu open source pozwalają to zrobić, podczas gdy licencje typu open source nakładają na ciebie ograniczenia.

Co to jest oprogramowanie typu open source i dlaczego ma

Przeciwieństwem oprogramowania open source jest oprogramowanie o zamkniętym kodzie źródłowym, które ma licencję, która ogranicza użytkowników i zatrzymuje przed nimi kod źródłowy.


Firefox, Chrome, OpenOffice, Linux i Android to popularne przykłady oprogramowania typu open source, podczas gdy Microsoft Windows jest prawdopodobnie najpopularniejszym oprogramowaniem o zamkniętym kodzie źródłowym.

Otwarte oprogramowanie a wolne oprogramowanie

Aplikacje typu open source są ogólnie dostępne za darmo – chociaż nic nie stoi na przeszkodzie, aby programista pobierał opłaty za kopie oprogramowania, jeśli pozwalają one później na redystrybucję aplikacji i jej kodu źródłowego.

Jednak nie do tego odnosi się „wolne oprogramowanie”. Słowo „wolny” w wolnym oprogramowaniu oznacza „wolny jak w wolności”, a nie „za darmo jak w piwie”. Obóz wolnego oprogramowania, prowadzony przez Richarda Stallmana i Free Software Foundation, skupia się na etyce i moralności korzystania z oprogramowania, które może być kontrolowane i modyfikowane przez użytkownika. Innymi słowy, obóz wolnego oprogramowania skupia się na wolności użytkowników.

1626240890 344 Co to jest oprogramowanie typu open source i dlaczego ma

Richarda Stallmana. Obraz autorstwa Fripog na Flickr.

Ruch oprogramowania open source powstał, aby skupić się na bardziej pragmatycznych powodach wyboru tego typu oprogramowania. Zwolennicy oprogramowania open source chcieli skupić się na praktycznych korzyściach płynących z używania oprogramowania open source, które byłoby bardziej atrakcyjne dla firm niż etyki i moralności.

Ostatecznie zarówno zwolennicy otwartego, jak i wolnego oprogramowania opracowują ten sam rodzaj oprogramowania, ale nie zgadzają się co do przekazu.

Rodzaje licencji

Tam są wiele różnych licencji używane przez projekty open-source, w zależności od tego, które programiści preferują dla swojego programu.


GPL, czyli GNU General Public License, jest szeroko stosowana w wielu projektach open source, takich jak Linux. Oprócz wszystkich powyższych definicji open-source, warunki GPL określają, że jeśli ktokolwiek modyfikuje program open source i rozpowszechnia pracę pochodną, ​​musi również rozpowszechniać kod źródłowy swojej pracy pochodnej. Innymi słowy, nikt nie może wziąć kodu o otwartym kodzie źródłowym i stworzyć z niego programu o zamkniętym kodzie źródłowym – musi udostępnić swoje zmiany społeczności. Z tego powodu Microsoft określił GPL jako „wirusową”, ponieważ zmusza ona programy, które zawierają kod GPL, do wydawania własnego kodu źródłowego. Oczywiście programiści programu mogą zrezygnować z używania kodu GPL, jeśli stanowi to problem.

1626240890 333 Co to jest oprogramowanie typu open source i dlaczego ma

Niektóre inne licencje, takie jak licencja BSD, nakładają mniej ograniczeń na programistów. Jeśli program jest objęty licencją BSD, każdy może włączyć kod źródłowy programu do innego programu. Nie muszą ponownie udostępniać swoich zmian społeczności. Niektórzy widzą, że jest to jeszcze bardziej „darmowe” niż licencja GPL, ponieważ daje programistom swobodę włączania kodu do własnych programów o zamkniętym kodzie źródłowym, podczas gdy niektórzy uważają go za mniej „darmowy”, ponieważ odbiera prawa od użytkowników końcowych programu pochodnego.

Korzyści dla Użytkowników

To nie wszystko suche, nieważne rzeczy, które mają znaczenie tylko dla programistów. Najbardziej oczywistą zaletą oprogramowania open source jest to, że można je mieć za darmo. Powyższy przykład Ubuntu Linux wyjaśnia to – w przeciwieństwie do Windows, możesz zainstalować lub dystrybuować dowolną liczbę kopii Ubuntu, bez żadnych ograniczeń. Mogą to być szczególnie przydatne serwery – jeśli konfigurujesz serwer, możesz po prostu zainstalować na nim Linuksa. jeśli konfigurujesz zwirtualizowany klaster serwerów, możesz łatwo zduplikować pojedynczy serwer Ubuntu. Nie musisz się martwić o licencjonowanie i ile instancji Linuksa możesz uruchomić.

Program open source jest również bardziej elastyczny. Na przykład nowy interfejs systemu Windows 8 rozczarował wielu długoletnich użytkowników komputerów stacjonarnych. Ponieważ system Windows jest zamkniętym źródłem, żaden użytkownik systemu Windows nie może wziąć interfejsu systemu Windows 7, zmodyfikować go i sprawić, by działał poprawnie w systemie Windows 8. (Niektórzy użytkownicy systemu Windows próbują, ale jest to żmudny proces inżynierii wstecznej i modyfikacji plików binarnych. )

1626240890 19 Co to jest oprogramowanie typu open source i dlaczego ma

Kiedy pulpit Linux, taki jak Ubuntu, wprowadza nowy interfejs pulpitu, którego niektórzy użytkownicy nie są fanami, użytkownicy mają więcej opcji. Na przykład po wydaniu GNOME 3 wielu użytkowników komputerów z Linuksem było równie wyłączonych. Niektórzy wzięli kod do starej wersji GNOME 2 i zmodyfikowali go, aby działał w najnowszych dystrybucjach Linuksa – to jest MATE. Niektórzy przenieśli kod do GNOME 3 i zmodyfikowali go, aby działał w sposób, w jaki preferowali – to jest Cynamon. Niektórzy użytkownicy właśnie przeszli na istniejące alternatywne komputery stacjonarne. Gdyby Windows był open-source, użytkownicy Windows 8 mieliby większy wybór i elastyczność. Wystarczy spojrzeć na CyanogenMod, popularną, społecznościową dystrybucję Androida, która dodaje funkcje i obsługuje nowe urządzenia.


Oprogramowanie open source pozwala również programistom „stać na barkach gigantów” i tworzyć własne oprogramowanie. Zobacz Androida i Chrome OS, które są systemami operacyjnymi opartymi na Linuksie i innym oprogramowaniu typu open source. Rdzeń systemu OS X firmy Apple – a tym samym iOS – również został zbudowany na kodzie o otwartym kodzie źródłowym. Valve zaciekle pracuje nad przeniesieniem swojej platformy gier Steam na Linuksa, ponieważ pozwoliłoby to im stworzyć własny sprzęt i kontrolować własne przeznaczenie w sposób, który nie jest możliwy w systemie Windows Microsoftu.

Nie jest to wyczerpujący opis – na ten temat napisano całe książki – ale teraz powinieneś mieć lepsze pojęcie o tym, czym właściwie jest oprogramowanie typu open source i dlaczego jest dla ciebie przydatne.

Czy ten post był pomocny?