Dataczwartek, 13 sierpnia 2026 Czas18:48:52
← Programowanie konsolowe (C#)

Lekcja 30. Prawo autorskie w programowaniu

Podstawowy

Po co się tego uczymy?

Kod, który piszesz, muzyka której słuchasz podczas pracy, obrazki które wykorzystujesz w aplikacji — wszystko to podlega prawu autorskiemu. Podstawa programowa (INF.04.3.9) wymaga znajomości podstaw prawa autorskiego w kontekście programowania. To wiedza, która chroni CIEBIE (jako twórcę) i uchroni Cię przed niechcianym naruszeniem cudzych praw (np. przy używaniu gotowych bibliotek czy grafik w projekcie).

Teoria

Program komputerowy w Polsce jest chroniony prawem autorskim od momentu jego stworzenia (ustalenia), bez konieczności rejestracji czy oznaczania symbolem ©. Prawa autorskie dzielą się na dwie kategorie:

  • prawa osobiste — niezbywalne, nie można się ich zrzec ani ich sprzedać. Obejmują m.in. prawo do oznaczenia utworu swoim nazwiskiem (albo pseudonimem) oraz prawo do integralności utworu (sprzeciwu wobec zniekształcania go);
  • prawa majątkowe — można je sprzedać, przekazać w umowie lub udzielić licencji na korzystanie z nich. To one decydują, kto może kopiować, rozpowszechniać czy modyfikować program. W Polsce prawa majątkowe do programu wygasają standardowo 70 lat po śmierci twórcy (a dla programów tworzonych w ramach zatrudnienia — od daty rozpowszechnienia, jeśli prawa przejął pracodawca).

Licencje oprogramowania określają, na jakich warunkach można z niego korzystać:

  • licencje własnościowe (proprietary) — kod źródłowy jest zamknięty, użytkownik dostaje tylko prawo do uruchamiania programu na określonych warunkach (np. Microsoft Office, Adobe Photoshop);
  • licencje open source — kod źródłowy jest jawny i można go modyfikować, ale różne licencje open source różnią się warunkami (np. MIT pozwala na niemal dowolne wykorzystanie łącznie z komercyjnym, GPL wymaga, żeby program powstały na bazie kodu z licencją GPL też był open source — tzw. "zaraźliwość" licencji copyleft);
  • freeware — program darmowy w użyciu, ale bez ujawnionego kodu źródłowego (nie to samo co open source).

W praktyce programisty najważniejsze jest: zanim użyjesz cudzej biblioteki, grafiki, fragmentu kodu ze Stack Overflow czy czcionki w swoim projekcie (szczególnie komercyjnym), sprawdź jej licencję — niektóre wymagają podania autora, inne zabraniają użycia komercyjnego, a naruszenie prawa autorskiego może mieć realne konsekwencje prawne dla firmy i programisty.

Przykład z życia

Firma, która wykorzysta w swojej płatnej aplikacji fragment kodu biblioteki na licencji GPL bez ujawnienia własnego kodu źródłowego, łamie warunki tej licencji i naraża się na proces sądowy — dlatego duże firmy technologiczne mają wewnętrzne działy prawne sprawdzające licencje każdej używanej biblioteki. Podobnie programista korzystający z darmowej ikony znalezionej w Google Grafika bez sprawdzenia licencji może nieświadomie naruszyć prawa autorskie jej twórcy.

Komentarz i wyjaśnienie kodu

Ta lekcja ma charakter czysto teoretyczny (prawny), dlatego nie zawiera bloku kodu C#. To jedyna tego typu lekcja w całym dziale — ale INF.04.3.9 wymaga tej wiedzy wprost, a temat regularnie pojawia się w formie pytań teoretycznych na egzaminie zawodowym.

Ćwiczenie samodzielne

Sprawdź licencję dowolnej biblioteki, z której korzystałeś w projektach z tego serwisu (albo dowolnego pakietu NuGet w Visual Studio) — znajdź plik LICENSE w jej repozytorium na GitHubie i sprawdź, czy pozwala na użycie komercyjne.

Zadania do pracy własnej

  1. Wyjaśnij własnymi słowami różnicę między prawami osobistymi a majątkowymi do programu komputerowego, podając po jednym przykładzie każdego.

  2. Porównaj licencje MIT i GPL — znajdź ich pełne teksty (są krótkie i publicznie dostępne) i wypisz min. 3 różnice w warunkach korzystania.

  3. Opisz sytuację (scenariusz), w której student tworzy aplikację na zaliczenie, wykorzystując: a) własny kod, b) fragment kodu skopiowany ze Stack Overflow, c) darmową bibliotekę na licencji MIT, d) grafikę znalezioną w internecie bez sprawdzenia licencji. Oceń, które z tych elementów mogą stanowić problem prawny i dlaczego.

Typowe błędy

Przekonanie, że kod bez informacji o licencji jest "wolny do użycia" — brak jawnej licencji NIE oznacza domeny publicznej. Domyślnie każdy utwór (w tym kod) jest chroniony prawem autorskim, nawet bez adnotacji ©.

Mylenie freeware z open source — program darmowy w użyciu niekoniecznie ma jawny, otwarty kod źródłowy — to dwie niezależne cechy licencji.

Ignorowanie licencji "zaraźliwych" (copyleft, np. GPL) — użycie fragmentu kodu na licencji GPL w projekcie może w pewnych warunkach zobowiązywać do udostępnienia całego własnego kodu na tej samej licencji, co bywa nieoczekiwaną konsekwencją dla firm chcących zachować kod zamknięty.

Nawiązanie do egzaminu zawodowego

To realizacja INF.04.3.9 — "stosuje zagadnienia prawa autorskiego w programowaniu: prawa osobiste/majątkowe, czas trwania, licencje oprogramowania". Tą lekcją kończy się realizacja wszystkich dziewięciu punktów INF.04.3 (Projektowanie oprogramowania) w tym dziale — razem z lekcjami 1-18 (INF.04.4, Programowanie obiektowe) dział "Programowanie konsolowe" pokrywa teraz kompletnie oba te fundamenty podstawy programowej.