encyklopedia.run.place

Licencjonowanie oprogramowania open source

Licencjonowanie oprogramowania open source (open source) to zbiór zasad prawnych określających, w jaki sposób autorzy udostępniają swoje dzieła źródłowe, jakie prawa i obowiązki przysługują użytkownikom oraz jakie ograniczenia mogą być na nich nałożone. Licencje te łączą ochronę praw autorskich z ideą swobodnego dostępu do kodu, pozwalając na jego używanie, modyfikowanie i rozpowszechnianie.

Historia

Początki otwartego udostępniania kodu sięgają lat 1970‑tych, jednak termin open source i jego formalny zestaw licencji pojawiły się dopiero pod koniec 1998 roku, wraz z powstaniem Open Source Initiative. W tym samym okresie Free Software Foundation opracowała licencję GNU GPL, której celem było zapewnienie, że każde oprogramowanie rozpowszechniane w formie otwartej pozostanie wolne.

Podstawowe zasady licencjonowania

  • Swoboda używania – każdy może korzystać z oprogramowania w dowolnym celu.
  • Prawo do modyfikacji – użytkownik może zmieniać kod źródłowy.
  • Prawo do dystrybucji – zmodyfikowane lub niezmienione wersje mogą być rozpowszechniane.
  • Warunki udostępniania – licencje określają, jakie informacje (np. copyright, licencja) muszą towarzyszyć dystrybucji.

Typy licencji open source

Licencje open source można podzielić na dwie główne grupy:

  1. Licencje copyleft (copyleft) – wymagają, aby każdy pochodny utwór był udostępniany na tych samych warunkach co oryginał. Najbardziej znany przykład to GNU GPL.
  2. Licencje permissive (permissive) – zezwalają na stosowanie kodu w projektach zamkniętych oraz na zmianę warunków licencjonowania. Do tej grupy należą MIT, BSD oraz Apache.

Najważniejsze licencje open source

GNU General Public License (GPL)
Licencja copyleft, pierwsza wydana w 1989 roku. Wersje 2 i 3 wprowadzają dodatkowe klauzule dotyczące patentów i kompatybilności z innymi licencjami.
MIT License
Minimalistyczna licencja permissive, pozwalająca na dowolne użycie kodu pod warunkiem zachowania krótkiego oświadczenia o prawach autorskich.
BSD License
Rodzina licencji permissive, w tym 2‑clause BSD i 3‑clause BSD, umożliwiających komercyjne wykorzystanie kodu bez obowiązku publikacji zmian.
Apache License 2.0
Licencja permissive, zawierająca wyraźne zapisy o patentach, co czyni ją atrakcyjną dla projektów komercyjnych.
GNU Lesser General Public License (LGPL)
Łagodniejsza wersja GPL, umożliwiająca łączenie kodu z zamkniętymi komponentami, pod warunkiem zachowania dostępności modyfikacji biblioteki.

Zasada kompatybilności licencji

Kompatybilność określa, czy kod objęty jedną licencją może być połączony z kodem objętym inną licencją i nadal spełniać wymogi obu licencji. Najbardziej kompatybilne są licencje permissive, które można łączyć praktycznie z każdą inną licencją. Licencje copyleft, takie jak GPL, są bardziej restrykcyjne i nie zawsze są kompatybilne z licencjami proprietary czy niektórymi licencjami permissive.

Aspekty prawne i organizacyjne

Licencjonowanie open source podlega prawu autorskiemu, które obowiązuje w większości jurysdykcji na świecie. W praktyce:

  • Autor udziela licencji, zachowując jednocześnie prawa autorskie.
  • Użytkownik musi przestrzegać warunków licencji – nieprzestrzeganie może skutkować roszczeniami prawnymi.
  • Instytucje takie jak Open Source Initiative i Free Software Foundation monitorują zgodność licencji z ich definicjami open source.

Kontrowersje i krytyka

Choć licencje open source promują współpracę i innowacje, istnieją spory dotyczące:

  • Patenty – niektóre licencje (np. Apache 2.0) zawierają klauzule patentowe, co budzi obawy o ich skuteczność.
  • Kompatybilności – różnice w wymogach licencyjnych mogą utrudniać łączenie kodu z różnych projektów.
  • Licencje podwójne – niektórzy autorzy udostępniają kod pod wieloma licencjami jednocześnie, co może wprowadzać niejasności prawne.

Zobacz także

Open source | Wolne oprogramowanie | Copyleft | Licencje permissive | Oprogramowanie | Prawo autorskie