Nowe Technologie i Branża IT
Milena Balcerzak
Milena Balcerzak
16 kwietnia 2024

Czym jest licencja open source?

Licencje open source są licencjami otwartego oprogramowania, które można powiedzieć, że  zaspokajają potrzebę w zakresie poprawiania programów i dostosowywania do własnych potrzeb, a więc skupiają się na koncepcji współpracy. To wszystko pozwala na sprawny rozwój oprogramowania, a przede wszystkim jego ulepszanie.

Poznaj naszą ofertę: Obsługa prawna startup

Rodzaje licencji open source

 

W zależności od przyjętego kryterium podziału, rodzaje licencji mogą się różnić. Poniższy podział licencji open source odzwierciedla różnice w podejściu do swobód użytkowników i społeczności open source (licencje typu copyleft i non-copyleft). 

Licencje copyleft nakładają pewne ograniczenia na sposób, w jaki oprogramowanie może być rozpowszechniane i modyfikowane:

  • wymagają, aby wyniki rozwoju i modyfikacji oprogramowania były udostępniane na takich samych warunkach, jak oryginalne oprogramowanie,
  • idea copyleft jest oparta na zasadzie, że wszystkie zmiany w kodzie źródłowym powinny być wolne i dostępne dla społeczności open source,
  • przykłady licencji copyleft to GPLv2, GPLv3, AGPLv3

Biblioteki z „ograniczoną” lub „słabą” licencją typu copyleft (np. MPL, LGPL), można włączać do projektów z dowolną licencją, pod warunkiem przestrzegania określonych w nich dodatkowych zasad.

Wybierając kod objęty licencją copyleft, przenosisz na swoje rozwiązanie ten sam rodzaj licencji. Oznacza to, że Twoje oprogramowanie, w którym wykorzystano elementy objęte copyleft, „zaraża” się warunkami oryginalnej licencji copyleft(tzw. „wirus copyleft”). Dzięki temu zostaje zachowana otwartość programu.

Z kolei, licencje non-copyleft (permisywne) są znacznie mniej restrykcyjne. Co prawda również wymagają zachowania informacji o prawach autorskich, ale pozwalają na dystrybucję na własnych warunkach, bez konieczności ujawniania kodu źródłowego. Przykłady takich licencji to MIT, Apache 2.0 czy BSD.

Zalety i wady licencji Open Source 

 

Jeszcze przed wyborem odpowiedniej licencji open source warto zastanowić się jakie są zalety korzystania z licencji Open Source, jakie są wady, czy istnieją ryzyka związane z używaniem oprogramowania Open Source etc. Poniżej przedstawiamy (w uproszczeniu) najważniejsze z nich.

Zalety:

  • Otwartość i dostępność. Oprogramowanie Open Source jest dostępne dla wszystkich bez ograniczeń, co sprzyja rozwojowi innowacyjnych rozwiązań, ich ulepszaniu i promuje otwartość w społeczności programistycznej.
  • Licencje open source zwykle są po prostu bezpłatne lub wymagają niewielkich opłat licencyjnych. Nie zapominajmy jednak, że niektóre projekty open source mogą generować koszty związane z dostosowaniem, integracją lub wsparciem technicznym.
  • Wymiana wiedzy. Licencje open source to często transfer wiedzy pomiędzy dobrymi developerami, co pozwala na udoskonalanie umiejętności.
  • Nie musimy zapoznawać się z obszernymi warunkami licencyjnymi, ponieważ zwykle licencje open source opracowane są przez fundacje i organizacje (np. FSF) i mają swoje ustalone warunki licencyjne (dla przykładu warunki licencji MIT to niecała strona).
  • Swoboda modyfikacji. Użytkownicy mają prawo do modyfikowania kodu źródłowego, co pozwala na dostosowanie oprogramowania do swoich indywidualnych potrzeb i wymagań.
  • Współpraca społecznościowa. Model Open Source promuje współpracę między programistami i organizacjami, co może przyspieszyć rozwój oprogramowania i poprawić jego jakość.
  • Bezpieczeństwo. Dostępność kodu źródłowego umożliwia przeglądanie i audytowanie oprogramowania przez społeczność, co może przyczynić się do zwiększenia bezpieczeństwa i zaufania użytkowników (chociaż oczywiście nie zawsze).
  • Elastyczność licencyjna. Istnieje wiele różnych typów licencji Open Source, co daje możliwość wyboru najlepszego dopasowania do konkretnych potrzeb i wymagań projektu.

Wady:

  • Brak gwarancji i wsparcia. Oprogramowanie Open Source często nie oferuje oficjalnego wsparcia ani gwarancji, a odpowiedzialność jest mocno ograniczona.
  • Potencjalne ograniczenia licencyjne. Niektóre licencje Open Source mogą narzucać pewne ograniczenia dotyczące sposobu wykorzystania oprogramowania, co może wymagać dokładnej analizy i zrozumienia warunków licencji.
  • Możliwość nadużyć. Otwartość kodu źródłowego może być zarówno zaletą, jak i wadą, ponieważ umożliwia np. potencjalnym hakerom dostęp do wrażliwych informacji.
  • Konieczność zarządzania społecznością. Projekty Open Source często wymagają zarządzania aktywną społecznością programistów, co może być czasochłonne i wymagać zaangażowania dodatkowych zasobów.
  • Ryzyko fragmentacji. Ze względu na swobodę modyfikacji kodu źródłowego istnieje ryzyko fragmentacji projektu, co może prowadzić do powstania wielu różnych wersji oprogramowania, trudnych do zarządzania i utrzymania.
  • Brak automatycznych aktualizacji oprogramowania.

Jak wybrać odpowiednią licencję Open Source dla projektu?

 

Przed wyborem odpowiedniej licencji open source dla Twojego projektu, warto zastanowić się:

  • Jaka jest Twoja wizja projektu? Zastanów się, jakie są Twoje cele związane z projektem oraz jak chcesz, aby oprogramowanie było wykorzystywane i rozpowszechniane przez innych.
  • Jakie są Twoje preferencje dotyczące dostępności kodu źródłowego? Zdecyduj, czy chcesz, aby Twój kod źródłowy był dostępny publicznie dla wszystkich, czy może preferujesz zachowanie pewnej kontroli nad jego dystrybucją.
  • Czy chcesz, aby projekt był otwarty dla współpracy społecznościowej? Jeśli chcesz, aby Twój projekt był rozwijany przez społeczność programistów, warto wybrać licencję, która promuje otwartość i współpracę.
  • Czy zależy Ci na tym, aby użytkownicy mogli modyfikować i rozpowszechniać oprogramowanie na własnych warunkach? Zastanów się, czy chcesz, aby użytkownicy mieli swobodę modyfikowania i rozpowszechniania Twojego oprogramowania bez konieczności stosowania tych samych warunków licencyjnych.
  • Czy chcesz, aby Twoje oprogramowanie było wykorzystywane w komercyjnych projektach? Warto rozważyć, czy chcesz umożliwić korzystanie z Twojego oprogramowania w projektach komercyjnych i czy licencja open source, którą wybierzesz, będzie to umożliwiała.
  • Jakie są Twoje obawy dotyczące odpowiedzialności i bezpieczeństwa? Przyjrzyj się warunkom licencji dotyczącym odpowiedzialności, bezpieczeństwa i gwarancji, aby upewnić się, że są one zgodne z Twoimi oczekiwaniami.
  • Czy chcę, aby Twoje oprogramowanie było używane w innych projektach? Jeśli chcesz, aby Twoje oprogramowanie było używane w innych projektach jako np. komponent, warto wybrać licencję, która pozwala na integrację z innymi projektami.
  • Czy chcesz, aby zmiany dokonywane w moim kodzie były udostępniane z powrotem społeczności? Jeśli tak, warto wybrać licencję typu copyleft.
  • Czy stosujesz inne licencje open source? Należy pamiętać, że nie wszystkie licencje open source są ze sobą kompatybilne, warto to wcześniej zweryfikować.

Nie bez znaczenia pozostaje też fakt, że, jeżeli udostępniasz swój projekt jako pracownik firmy – korzystanie z open source może okazać się niemożliwe lub konieczna będzie zgoda pracodawcy. Podobnie zresztą w umowach b2b, gdzie np. oświadczasz, że jesteś twórcą wszystkiego, co tworzysz w ramach umowy i możesz przenieść do tego całość majątkowych praw autorskich.

W takim przypadku pamiętaj o zmianie swojego oświadczenia w umowie, poprzez wskazanie, że korzystasz w określonym zakresie z licencji open source i zleceniodawca będzie mógł z tego elementu korzystać na warunkach określonych tą licencją.

W przypadku wątpliwości w wyborze licencji warto zapoznać się szerzej z opcjami, udostępnionymi tutaj: https://choosealicense.com/.

Pamiętaj, że zmiana licencji w trakcie projektu nie jest niemożliwa (z zastrzeżeniem tego, co zostało już „wypuszczone” na określonej licencji open source), ale może okazać się skomplikowana. Zresztą, czym innym jest zmiana licencji na kompatybilną na nowe „wydania”, a czym innym ponowne licencjonowanie wszystkich istniejących kontrybucji. Jeżeli np. twoja obecna licencja jest licencją typu copyleft i nie jesteś jedynym właścicielem praw autorskich, nie możesz po prostu zmienić licencji swojego projektu na np. MIT.

Generalnie, w przypadku licencji permisywnej właściciele praw autorskich do projektu wyrazili z wyprzedzeniem zgodę na zmianę licencji. Dlatego pamiętaj, żeby dobrze zastanowić się nad doborem odpowiedniej licencji dla Twojego projektu już na początku. 

Prawa autorskie w projekcie Open Source

 

Ważne. Dużo osób błędnie zakłada, że jeżeli określony kod jest wypuszczany na licencji Open Source to nie ma tutaj w ogóle praw autorskich. Pamiętajmy, że fakt udostępnienia oprogramowania na licencji open source nie oznacza, że jego twórca zrzeka się praw własności intelektualnej, to nadal jest licencja – a nie przeniesienie praw (!). Zresztą, licencje wymagają zachowania informacji o prawach autorskich. 

Najpopularniejsze licencje Open Source

 

Poniżej przedstawiamy porównanie licencji Open Source (tych najpopularniejszych).

MIT

Naprawdę krótka i prosta licencja permisywna, wymaga jedynie zachowania informacji o prawach autorskich i licencji. Dzieła licencjonowane, modyfikacje i większe dzieła mogą być rozpowszechniane na innych warunkach i bez kodu źródłowego.

Uprawnienia Warunki Ograniczenia
·       użytek komercyjny

·       dystrybucja

·       można modyfikować

·       użytek prywatny

·       należy dołączyć kopię licencji oraz informacje o prawach autorskich ·       ograniczenie odpowiedzialności

·       brak gwarancji


Apache 2.0

Licencja permisywna, której główne warunki wymagają zachowania informacji o prawach autorskich i licencji. Współautorzy zapewniają wyraźne przyznanie praw patentowych. Dzieła licencjonowane, modyfikacje i większe dzieła mogą być rozpowszechniane na innych warunkach i bez kodu źródłowego.

Uprawnienia Warunki Ograniczenia
·       użytek komercyjny

·       dystrybucja

·       można modyfikować

·       użytek prywatny

·       przyznanie praw patentowych od kontrybutorów

·       należy dołączyć kopię licencji oraz informacje o prawach autorskich

·       obowiązek dokumentacji zmiany stanu licencjonowanego materiału

·       ograniczenie odpowiedzialności

·       brak gwarancji

·       używanie znaku towarowego (nie przyznaje praw do znaków towarowych, mimo, że licencje bez takiego stwierdzenia prawdopodobnie nie przyznają żadnych ukrytych praw do znaków)


GNU General Public License v3.0

Silny copyleft, uprawnienia tej licencji są uwarunkowane udostępnieniem pełnego kodu źródłowego licencjonowanych dzieł i modyfikacji, które obejmują większe dzieła wykorzystujące licencjonowany utwór, w ramach tej samej licencji. Należy zachować informacje o prawach autorskich i licencjach. Współautorzy zapewniają wyraźne przyznanie praw patentowych.

Uprawnienia Warunki Ograniczenia
·       użytek komercyjny

·       dystrybucja

·       można modyfikować

·       użytek prywatny

·       przyznanie praw patentowych od kontrybutorów

·       należy dołączyć kopię licencji oraz informacje o prawach autorskich

·       obowiązek dokumentacji zmiany stanu licencjonowanego materiału

·       kod źródłowy musi zostać udostępniony w momencie dystrybucji licencjonowanego materiału

·       ta sama licencja – w przypadku dystrybucji licencjonowanego materiału, modyfikacje muszą być udostępnione na tej samej licencji. W niektórych przypadkach można zastosować podobną lub pokrewną licencję.

·       ograniczenie odpowiedzialności

·       brak gwarancji

 

 

Licencje Open Source stanowią ważny element współczesnej społeczności programistycznej, zachęcając do otwartości, współpracy i innowacji. Jednakże, wymagają ostrożnego zarządzania i zrozumienia, aby maksymalnie wykorzystać korzyści płynące z tego modelu dystrybucji oprogramowania.

Podziel się

Artykuły

Startupy, niezależnie od ich branży, formy prawnej czy wielkości, od samego początku stają przed koniecznością

Bądź na bieżąco ze zmianami w prawie

Zapisz się do naszego newslettera

facebook twitter linkedin search-icon close-icon