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:
- 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.
- 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