Centrum wiedzy o technologiach i pracy w IT

Open Source – co to jest i na co pozwala?

Licencja oprogramowania to ogólny zbiór warunków, na jakich autorzy oprogramowania udostępniają programy użytkownikom. W programach, których autorzy nie udostępniają kodów źródłowych sytuacja jest prosta – właścicielem kodu jest autor, a użytkownik z reguły nie ma prawa modyfikacji aplikacji. W przypadku oprogramowania, którego autorzy publikują kod źródłowy, sprawa jest nieco bardziej skomplikowana, dlatego postaramy się odpowiedzieć na pytanie: open source – co to jest?

Ostatnia aktualizacja: 29.08.2022. Dodaliśmy informację o tym, dlaczego warto brać udział w tworzeniu oprogramowania Open Source.

Nie udało się zapisać Twojej subskrypcji. Spróbuj ponownie.
Udało się! Widzimy się niebawem – newsletter wysyłamy w każdy wtorek

Otrzymuj za darmo unikalne poradniki, dane i wiedzę o pracy w IT – dostarczane co tydzień

Klikając “Zapisz mnie” wyrażasz zgodę na otrzymywanie e-maili od redakcji, a także ofert partnerów oraz akceptujesz naszą Politykę prywatności.

Sprawdź: Kurs Python – 5 darmowych źródeł nauki

Otwarte oprogramowanie, czyli open source

Określenie open source oznacza oprogramowanie, którego kod źródłowy jest dostępny dla użytkowników. Mogą w dowolny sposób go analizować, modyfikować oraz dalej rozpowszechniać.

Aby wspierać ideę otwartego oprogramowania, w roku 1998 powstała organizacja Open Source Initiative (OSI). Sprawuje ona nadzór nad akceptowaniem licencji i promuje te, które udostępniają kod użytkownikom.

Obok organizacji powstały także inne podmioty wspierające otwarte oprogramowanie, a jednym z ważniejszych jest Free Software Foundation (FSF).  Głównym zadaniem FSF jest wspieranie tzw. wolnego oprogramowania.

Sam fakt udostępnienia kodu źródłowego do aplikacji przez autora nie świadczy o tym, że użytkownik ma prawo z tego kodu korzystać w dowolny sposób. Nie może np. modyfikować go i sprzedawać. Istnieją także przypadki, w których autor publikuje kody źródłowe, jednak z pewnym zastrzeżeniem. Może ono dotyczyć ograniczenia prawa do powielania, co oznacza, że program nie funkcjonuje w ramach licencji open source.

Zobacz: Zamknięte licencje oprogramowania – na czym polegają

Rodzaje otwartych licencji

Istnieje wiele licencji open source, które w większości możemy podzielić na dwie kategorie: licencje liberalne oraz licencje oparte na systemie copyleft. Copyleft nakłada na programistę dodatkowe obowiązki. Co to oznacza?

Licencje liberalne pozwalają użytkownikowi na dowolną modyfikację źródeł, ich redystrybucję oraz zarabianie na nich. Zawiera się w tym także sprzedaż oryginalnego lub zmodyfikowanego oprogramowania, zarówno w postaci kodu źródłowego lub skompilowanego.

Z reguły licencje liberalne wymagają jedynie, żeby we wszystkich wersjach programu zachowano oryginalne warunki licencji oraz informację o autorze. Przykładowe licencje liberalne to MIT, BSD lub licencja Apache.

Innym rodzajem licencji otwartego oprogramowania są licencje na systemie copyleft. System copyleft opiera się na założeniu, że oprogramowanie powinno zostać wolne dla użytkownika końcowego.

Udostępniając komuś program, mamy obowiązek dostarczyć również źródła i wszelkie zmiany w programie. Ma to zapobiegać sytuacjom, w których firma lub osoba skorzysta z darmowej pracy innych autorów, zmodyfikuje program lub doda funkcję, a następnie zacznie na tym oprogramowaniu zarabiać, nie udostępniając kodu źródłowego użytkownikowi końcowemu.

Nie oznacza to, że na oprogramowaniu w systemie copyleft nie można zarabiać. Ograniczona jest jedynie wolność programisty przez obowiązek udostępnienia zmian. Przykładem licencji w systemie copyleft są GPL oraz pochodne, licencja Mozilla oraz Free Art License.

Dlaczego warto brać udział we współtworzeniu oprogramowania Open Source?

Udział w tworzeniu oprogramowania opensource’owego to jedna z lepszych okazji, aby rozwijać umiejętności programowania, będąc częścią istniejącego już projektu. Dlaczego?

Po pierwsze, wśród projektów Open Source można znaleźć takie, które cieszą się już dużą popularnością wśród użytkowników. Dobrym przykładem jest Blender, czyli oprogramowanie do tworzenia grafiki i animacji 3D lub KiCad, który służy do projektowania urządzeń elektronicznych. Oprócz programów do konkretnych zastosowań, są również systemy operacyjne. Najpopularniejszy z nich to Linux. 

Po drugie, środowisko Open Source to także społeczności, w których znajduje się mnóstwo doświadczonych programistów, dzięki czemu mamy szansę uczyć się od najlepszych, czasami w bezpośrednim kontakcie dzięki rozwiązywaniu konkretnych problemów.

Tego rodzaju inicjatywa stanowi dużą wartość nie tylko w kontekście samorozwoju, ale też w perspektywie przyszłych procesów rekrutacyjnych.

Total
0
Shares
_podobne artykuły