W Polsce, podobnie jak w pozostałych państwach europejskich, programy komputerowe chronione są przepisami Prawa autorskiego. W przeciwieństwie do Stanów Zjednoczonych czy Japonii, oprogramowanie nie może być obecnie opatentowane.

W myśl ogólnej zasady polskiego Prawa autorskiego, programy komputerowe podlegają ochronie jak utwory literackie. W rzeczywistości jednak sam przedmiot i zasady ochrony programów odznaczają się dużą specyfiką. Ochrona programu obejmuje wszystkie formy jego wyrażenia, w szczególności zarówno kod źródłowy, jak i maszynowy. Poza ochroną pozostają natomiast idee i zasady będące podstawą programu komputerowego lub jego elementów.

Prawa pracodawcy

O ile umowa o pracę nie stanowi inaczej, prawa majątkowe do programu komputerowego stworzonego przez pracownika przysługują pracodawcy. W przeciwieństwie do pozostałych utworów pracowniczych, nabycie praw przez pracodawcę jest w tym wypadku pełne, automatyczne i pierwotne. Oznacza to, że pracodawca uzyskuje je bez konieczności mniej lub bardziej oficjalnego przyjęcia programu i bez konieczności zapłaty dodatkowego wynagrodzenia. Ustawa nie ogranicza również – tak jak w pozostałych przypadkach – nabycia praw majątkowych do granic wynikających z celu umowy o pracę i zgodnego zamiaru stron. Wyłącznie pracodawca może także zezwalać na rozporządzanie i korzystanie z opracowań, w tym z przeróbek programu. Twórcy nie wolno zatem, bez zgody pracodawcy, przenieść twórczych elementów ze swego poprzedniego programu do kolejnego realizowanego projektu. W konsekwencji, pozycja pracodawcy wobec programisty jest silniejsza niż wobec innych pracowników. Należy jednak podkreślić, że opisane reguły dotyczą umowy o pracę w sensie ścisłym. Umowa o dzieło lub inny stosunek prawny wymaga wyraźnej regulacji dotyczącej samego faktu przeniesienia praw autorskich, jego zakresu (tzw. pól eksploatacji), jak i wynagrodzenia.

Podpis twórcy

Z drugiej strony programiście przysługują zawsze, niezależnie od podstawy zatrudnienia, niezbywalne autorskie prawa osobiste. W przypadku programów komputerowych ograniczono je jednak do tzw. prawa autorstwa oraz uzupełniającego je prawa oznaczania utworu swoim nazwiskiem lub pseudonimem albo do udostępniania go anonimowo.

Podsumowując, w przypadku programów pisanych na rzecz innej osoby, stwierdzenie, komu przysługują prawa wymaga ustalenia, po pierwsze, podstawy prawnej prac wykonywanych przez programistę oraz po drugie, faktu stworzenia przezeń utworu mającego cechy programu komputerowego. Ta druga okoliczność może okazać się sporna. W szczególności, wymaga ustalenia, czy program komputerowy to wyłącznie skończony produkt informatyczny zdolny do samodzielnej pracy, czy może nawet najmniejszy przepis postępowania komputera zapisany w pewnym języku programowania. Gdyby jako program kwalifikować nawet najmniejszą jednostkę kodu, to programistę, który stworzył taki fragment można by uznać jednocześnie za twórcę własnego programu komputerowego, jak i współtwórcę integralnego programu stanowiącego samodzielny produkt. W przypadku programisty-pracownika ma to niewielkie znaczenie w odniesieniu do praw majątkowych, które i tak przypadną pracodawcy. Status współtwórcy pozwala jednak domagać się poszanowania praw osobistych programisty w odniesieniu do całości oprogramowania, które obejmuje jego wkład, jak i do samego wkładu.

Piotr Zawadzki, adwokat, Hogan Lovells

Stworzenie programu przez kilku programistów niebędących pracownikami oznacza, że każdemu z nich przysługuje pełnia praw autorskich do osobiście stworzonej części, a wszystkim wspólnie przysługują prawa do całości programu. Każdy z nich może zatem samodzielnie korzystać ze swojej części, w tym rozporządzać nią, o ile jednak taka część ma samoistne znaczenie i nie przynosi to uszczerbku dla praw pozostałych współtwórców. Eksploatacja całości programu wymaga zgody wszystkich twórców.  Aby w odmienny sposób ukształtować te uprawnienia, zwłaszcza zapewnić jednej osobie (zamawiającemu) pełnię praw do programu, należy wszystkie te zagadnienia uregulować w umowie. W szczególności, kontrakt powinien rozstrzygać kwestie praw majątkowych do poszczególnych elementów, które będą wykorzystane w programie i wraz z nim dystrybuowane, ale i praw do całości efektu wspólnych działań.

Bartłomiej Leszczyński, programista J2EE/Technical Project Leader

Wobec coraz większej obecności informatyki w codziennym życiu, obserwujemy coraz większy wzrost zapotrzebowania na pracowników zajmujących się oprogramowywaniem urządzeń, komputerów i maszyn, które nam towarzyszą. Innymi słowy, rośnie zapotrzebowanie na programistów. Ich praca niesie za sobą określone konsekwencje – zarówno techniczne, jak i prawne. Zarazem nie zawsze jest zupełnie jasne, na czym polega praca programisty, a w konsekwencji, któremu z pracowników lub współpracowników należy się taki status.

Programistę definiuje charakter powierzonych mu zadań i efektów jego pracy. Podstawowym problemem i, wydawałoby się, otwartą kwestią jest zatem pytanie, co jest tym efektem.  Zgodnie z intuicją, chciałoby się rzec, że jest to program. Czym jednak jest sam program?

Celowo pomijam słowo "komputerowy". Wszak program niekoniecznie musi powstać na platformę będącą potocznie rozumianym komputerem. W przypadku programisty komputerowego faktycznie mamy do czynienia z tworzeniem programów komputerowych. Jego twórczość powstaje na komputerze i z przeznaczeniem do użycia na komputerze. Jak jednak kwalifikować programistę automatów taśmowych i efekty jego pracy? Czy będą to programy "automatowe"? Oczywiście, nie. Wynikiem jego starań także będzie program komputerowy.

Potocznie pod pojęciem komputer rozumiemy urządzenie stojące na ogół na biurku, posiadające klawiaturę, myszkę, monitor i inne towarzyszące mu komponenty. Osoby z większym wyczuciem w sprawach technicznych rozszerzą tę definicję na superkomputery obliczeniowe czy serwery. Co jednak łączy je z automatem taśmowym? Otóż, istotą komputera – w sensie technicznym – nie jest myszka, klawiatura czy monitor, ale elementy znajdujące się w jego wnętrzu, ukryte przed okiem przeciętnego użytkownika.  Chodzi w szczególności o procesor, pamięć, dysk oraz sieć połączeń tych elementów. Pamięć i dysk to zespoły będące "asystentami" w pracy procesora. To one przechowują informacje (w tym programy) wykorzystywane przez procesor. Najważniejszą częścią komputera jest jednak właśnie procesor. To on dokonuje wszystkich obliczeń, kalkulacji i operacji. Jeżeli z tej perspektywy spojrzymy na automat taśmowy, to oprócz elementów takich jak łożyska, dźwignie i przeguby, dostrzeżemy także podstawowe elementy komputera, tj. zarówno procesor, jak i jego "asystentów". To samo dotyczy oczywiście telefonów, telewizorów, systemów nawigacji w samochodzie i wielu innych.  Skoro więc możemy wszystkie wymienione urządzenia uznać za komputery, to za program komputerowy uznamy program napisany na każde z nich.