W kontekście oprogramowania trzeba odróżnić przedmiot ochrony. Kod źródłowy (oraz kod wynikowy) to przede wszystkim sposób wyrażenia programu, czyli treść o charakterze twórczym. Z tego powodu standardową i najbardziej adekwatną ochroną jest prawo autorskie: chroni ono sam utwór (kod jako forma wyrażenia), a nie "pomysł" na działanie programu.
Dlaczego nie patent? Patent służy ochronie wynalazków/rozwiązań technicznych spełniających określone kryteria. Sam kod jako zapis instrukcji zwykle nie jest traktowany jak wynalazek w znaczeniu potocznym; nawet jeśli w IT występują rozwiązania o charakterze technicznym, to nie każda funkcjonalność programu automatycznie podlega ochronie patentowej. W typowych realiach firmowych ochronę kodu zapewnia prawo autorskie oraz umowy i licencje.
Dlaczego nie znak towarowy? Znak towarowy chroni oznaczenie służące do odróżniania towarów/usług (np. nazwę aplikacji, logo, nazwę firmy). Może być ważny dla produktu software’owego, ale nie zabezpiecza treści kodu źródłowego.
Dlaczego nie wzór przemysłowy? Wzór przemysłowy dotyczy postaci/wyglądu produktu (np. kształtu, linii, ornamentacji). W przypadku aplikacji może odnosić się co najwyżej do wybranych aspektów wyglądu, ale nie jest podstawowym narzędziem ochrony kodu.
W praktyce, gdy firma udostępnia kod jako open source, kluczowe staje się prawidłowe uregulowanie licencji (np. określenie zasad użycia, modyfikacji i dystrybucji) oraz prowadzenie dokumentacji: kto jest autorem, na jakiej podstawie firma ma prawa do kodu (umowy z pracownikami/zleceniobiorcami), oraz jaką licencję przypisano repozytorium. To ułatwia zgodność i ogranicza ryzyko sporów.