Open source to model tworzenia i udostępniania oprogramowania, w którym kod źródłowy jest publicznie dostępny. Dodatkowo może on być swobodnie przeglądany, modyfikowany oraz rozpowszechniany przez każdego. W poście definicja i historia.
W praktyce oznacza to, że użytkownicy mają pełną kontrolę nad tym, jak działa dane oprogramowanie. I mogą dostosowywać je do własnych potrzeb.
Definicja formalna
Najczęściej przytaczaną definicję znajdziesz na stronie Open Source Initiative (OSI), organizacji, która od 1998 roku promuje i standaryzuje to podejście.
Według OSI, oprogramowanie z otwartym źrodłem musi spełniać szereg kryteriów, takich jak:
- darmowy dostęp do kodu źródłowego,
- prawo do modyfikacji i redystrybucji,
- brak dyskryminacji użytkowników i zastosowań,
- neutralność wobec konkretnych technologii czy produktów.
Dzięki tym zasadom program lub sprzęt sprzyja współpracy, innowacjom i przejrzystości w tworzeniu oprogramowania.
Krótka historia open source
Koncepcja wywodzi się z lat 80., gdy Richard Stallman zapoczątkował ruch wolnego oprogramowania (free software) i stworzył licencję GNU GPL.
W 1998 roku, aby uniknąć nieporozumień związanych ze słowem “free”, powstał termin open source – bardziej biznesowo neutralny.
Od tego czasu zdobyło ogromną popularność. Przykładem jest system operacyjny Linux, na przykład: Xubuntu Linux, Kubuntu lub inne.
Dziś takie projekty jak Linux, Firefox, WordPress czy LibreOffice są używane na całym świecie – zarówno przez osoby prywatne, jak i wielkie korporacje.
Wytyczne dla open source
Co znaczy open source, ale może bardziej czym się charakteryzuje? Tłumaczenie oryginałnej strony promującej open source.
Strona utworzona 7 lipca 2006 | Ostatnia modyfikacja 16 lutego 2024
Open source nie oznacza tylko dostępu do kodu źródłowego. Warunki dystrybucji oprogramowania open source muszą spełniać następujące kryteria:
1. Swobodna redystrybucja
Licencja nie może ograniczać żadnej strony w sprzedaży lub udostępnianiu oprogramowania jako składnika zbiorczej dystrybucji zawierającej programy z różnych źródeł. Licencja nie może wymagać opłaty licencyjnej ani innej opłaty za taką sprzedaż.
2. Kod źródłowy
Program musi zawierać kod źródłowy i musi umożliwiać jego dystrybucję zarówno w postaci źródłowej, jak i skompilowanej. Jeśli jakaś forma produktu nie zawiera kodu źródłowego, musi istnieć dobrze znany sposób jego uzyskania za nie więcej niż koszt rozsądnego powielenia – najlepiej poprzez bezpłatne pobranie z Internetu.
Kod źródłowy musi być preferowaną formą, w której programista modyfikowałby program. Świadomie zaciemniony kod źródłowy nie jest dozwolony.
Formy pośrednie, takie jak wynik działania preprocesora lub tłumacza, również nie są akceptowane.
3. Prace pochodne
Licencja musi zezwalać na modyfikacje i tworzenie prac pochodnych oraz na ich dystrybucję na tych samych zasadach co oryginalne oprogramowanie.
4. Integralność kodu źródłowego autora
Licencja może ograniczać dystrybucję zmodyfikowanego kodu źródłowego tylko wtedy, gdy dopuszcza dołączanie „plików łatek” umożliwiających wprowadzenie zmian w czasie kompilacji.
Musi jednoznacznie zezwalać na dystrybucję oprogramowania zbudowanego na podstawie zmodyfikowanego kodu źródłowego.
Licencja może wymagać, aby prace pochodne miały inną nazwę lub numer wersji niż oryginalne oprogramowanie.
5. Brak dyskryminacji osób lub grup
Licencja nie może dyskryminować żadnej osoby ani grupy osób.
6. Brak dyskryminacji dziedzin zastosowań
Licencja nie może ograniczać nikogo w używaniu programu w określonej dziedzinie. Na przykład nie może zakazywać użycia programu w działalności gospodarczej lub w badaniach genetycznych.
7. Dystrybucja licencji
Prawa przysługujące w ramach programu muszą obowiązywać wszystkich, którym program został przekazany, bez potrzeby zawierania dodatkowej licencji.
8. Licencja nie może być specyficzna dla produktu
Prawa przypisane do programu nie mogą zależeć od tego, czy program jest częścią konkretnej dystrybucji. Jeśli program zostanie wyodrębniony i używany lub rozpowszechniany zgodnie z jego licencją, wszyscy odbiorcy muszą mieć takie same prawa jak pierwotni użytkownicy.
9. Licencja nie może ograniczać innego oprogramowania
Licencja nie może nakładać ograniczeń na inne oprogramowanie dystrybuowane razem z licencjonowanym programem.
Na przykład licencja nie może wymagać, aby wszystkie inne programy na tym samym nośniku również były open source.
10. Licencja musi być neutralna technologicznie
Żadne postanowienie licencji nie może być uzależnione od konkretnej technologii lub stylu interfejsu.
Podsumowanie
Open source definicja obejmuje więcej niż tylko darmowy kod – to filozofia współpracy, zaufania i otwartości.
W erze cyfrowej, znajomość tej idei to klucz do zrozumienia, jak rozwija się współczesna technologia.
Poznaj najpopularniejsze dystrybucje Linuksa, ich zastosowania, wymagania oraz najważniejsze różnice.
Zobacz dystrybucje Linuksa →Ciekawe linki
Źródło: https://opensource.org