Software house w trudnych czasach
Wyceń kod swojej firmy

Kod i prawa

Licencja MIT i licencja GPL: co znaczą dla kodu, który oddajesz klientom

Sprawdzono 12 października 2026

W skrócie

Licencja MIT pozwala używać, zmieniać i sprzedawać kod pod jednym warunkiem: zachowania noty o prawach autorskich i tekstu licencji. Licencja GPL pozwala na to samo, ale jeśli przekazujesz komuś program zawierający kod na GPL, cały program musisz udostępnić na GPL razem z kodem źródłowym. Dla software house'u MIT rzadko jest problemem, a GPL w produkcie przekazywanym klientowi albo licencjonowanym na zasadach zamkniętych trzeba wyłapać przed podpisaniem umowy.

Licencja MIT pozwala robić z kodem prawie wszystko: używać, zmieniać, łączyć z własnym kodem, sprzedawać i sublicencjonować. Warunek jest jeden: nota o prawach autorskich i tekst licencji muszą zostać we wszystkich kopiach lub istotnych częściach kodu.

Licencja GPL daje te same swobody, ale z warunkiem copyleft. Jeśli przekazujesz komuś program zawierający kod na GPL, cały program musisz udostępnić na GPL razem z kodem źródłowym.

Dla software house’u to pytanie praktyczne. Przekazujesz kod klientowi, obiecujesz mu prawa i czasem licencjonujesz własne moduły. Komponent GPL w złym miejscu może podważyć każdą z tych trzech rzeczy.

Czym różni się licencja MIT od licencji GPL?

MITGPL v3AGPL v3Apache 2.0
Użycie komercyjneTakTakTakTak
Zmiany i łączenie z własnym kodemTakTakTakTak
Warunek przy przekazaniu kopiiNota i tekst licencjiCały program na GPL plus kod źródłowyJak GPLTekst licencji, oznaczenie zmian, plik NOTICE (sekcja 4)
Obowiązek przy SaaSBrakBrak, jeśli nie przekazujesz kopiiKod źródłowy dla użytkowników sieci (sekcja 13)Brak
Licencja patentowaBrak wprostTak (sekcja 11)TakTak (sekcja 3)

Do tego dochodzą licencje pośrednie, na przykład LGPL. Pozwala łączyć bibliotekę z kodem zamkniętym, jeśli użytkownik może podmienić bibliotekę na swoją wersję.

Kiedy GPL wymusza otwarcie twojego kodu?

Obowiązki z GPL v3 powstają, gdy przekazujesz kopię programu innym (w tekście licencji „convey”). Wtedy musisz:

  1. udostępnić cały program na GPL, jeśli twój kod jest z komponentem GPL połączony w jeden utwór (sekcja 5),
  2. dostarczyć albo zaoferować pełny kod źródłowy w formie, w której da się go zmieniać (sekcja 6),
  3. nie nakładać dodatkowych ograniczeń na odbiorcę (sekcja 10).

Sam użytek wewnętrzny nie jest przekazaniem. Narzędzie na GPL, którego zespół używa do budowania projektu, nie zmienia licencji tego, co budujesz. Kompilator czy linter zostaje u ciebie i nie trafia do produktu.

Co GPL znaczy, kiedy przekazujesz kod klientowi?

Przekazanie aplikacji klientowi to przekazanie kopii programu. Jeśli w środku jest komponent GPL połączony z twoim kodem, klient dostaje cały program na GPL. Z tego wynikają trzy problemy:

Dlatego do umowy wdrożeniowej dołącz listę komponentów open source z ich licencjami. To jeden załącznik, a jasno pokazuje, za co odpowiadasz.

Co MIT i GPL znaczą dla licencjonowania twojego kodu?

Jeśli licencjonujesz własny moduł na zasadach zamkniętych, licencja każdej zależności musi na to pozwalać.

ZależnośćLicencja zamknięta na twój modułCo zrobić
MIT, BSDMożliwaDołącz noty i teksty licencji
Apache 2.0MożliwaDołącz licencję, plik NOTICE, oznacz zmiany
LGPLMożliwa przy dynamicznym łączeniuSprawdź sposób łączenia i warunki podmiany biblioteki
GPLPraktycznie niemożliwa przy przekazaniu kopiiWymień komponent albo przejdź na model, w którym nie przekazujesz kopii
AGPLProblem także przy SaaSWymień komponent

Kod, do którego masz wszystkie prawa, możesz też udostępnić na dwóch licencjach jednocześnie: GPL dla społeczności i komercyjnej dla firm.

Warunek jest twardy. Każdy autor musi przenieść prawa na firmę albo dać jej zgodę na sublicencję. Kod od zewnętrznych kontrybutorów bez takiej zgody blokuje model podwójnej licencji.

Jak uporządkować licencje open source w repozytoriach?

  1. Zrób inwentaryzację. Dla każdego repozytorium lista zależności z licencją i wersją.
  2. Oznacz ryzyko. Zielone: MIT, BSD, Apache 2.0. Żółte: LGPL, MPL. Czerwone: GPL, AGPL w kodzie, który przekazujesz albo udostępniasz przez sieć.
  3. Ustal politykę. Lista licencji dozwolonych bez pytania i tych, które wymagają zgody tech leada.
  4. Dodaj kontrolę do CI. Nowa zależność z czerwonej listy zatrzymuje build.
  5. Dołączaj listę do umów. Załącznik z komponentami open source do każdej umowy wdrożeniowej i licencyjnej.

Ten porządek przyda się przy każdej rozmowie o umowie licencyjnej na oprogramowanie albo o sprzedaży kodu źródłowego. Kod z czystymi licencjami zależności i kompletnym łańcuchem praw jest wart więcej. Ile, sprawdzisz na stronie ile jest wart kod źródłowy.

Najczęstsze pytania

Czy kodu na licencji MIT można używać komercyjnie?

Tak. Licencja MIT pozwala używać, kopiować, zmieniać, łączyć, publikować, rozpowszechniać, sublicencjonować i sprzedawać kopie programu. Jedyny warunek to zachowanie noty o prawach autorskich i tekstu licencji we wszystkich kopiach lub istotnych częściach kodu.

Czy GPL w zależnościach oznacza, że cały mój kod musi być otwarty?

Tylko wtedy, gdy przekazujesz innym program, który zawiera kod na GPL albo na nim bazuje. Wtedy cały program musisz udostępnić na GPL wraz z kodem źródłowym (sekcje 5 i 6 GNU GPL v3). Samo używanie takiego programu wewnątrz firmy tego obowiązku nie uruchamia.

Czym AGPL różni się od GPL?

AGPL v3 dodaje sekcję 13: jeśli zmodyfikowany program udostępniasz użytkownikom przez sieć, musisz zaoferować im jego kod źródłowy. Przy SaaS zbudowanym na komponencie AGPL obowiązek pojawia się bez przekazywania kopii programu.

Czy licencja open source to w Polsce umowa licencyjna?

Tak, to licencja niewyłączna w rozumieniu art. 67 ust. 2 ustawy o prawie autorskim. Twórca może udzielić jej każdemu na tych samych warunkach, a forma pisemna nie jest wymagana, bo dotyczy tylko licencji wyłącznej (art. 67 ust. 5).

Wyceń kod swojej firmy