Ugovor o razvoju softvera često podrazumeva da programer u projekat unosi biblioteke, module i druge komponente koje je kreirao pre angažmana. Ta unapred postojeća intelektualna svojina, poznata kao pre-existing IP, može biti predmet spora ako ugovor ne sadrži jasne odredbe. Pitanje nije samo ko je vlasnik, već i koja prava se prenose na naručioca i pod kojim uslovima.
Ovaj tekst razmatra ključne klauzule koje uređuju pre-existing IP u ugovorima o razvoju softvera, sa posebnim osvrtom na položaj developera.
Šta se smatra pre-existing IP?
Pre-existing IP obuhvata softverski kod, algoritme, dizajn, dokumentaciju i druge materijale koje je developer stvorio pre početka konkretnog projekta, nezavisno od njega. To mogu biti sopstvene biblioteke i moduli, kao i delovi koda pisani za ranije klijente, pod uslovom da prava tih klijenata tome ne stoje na putu. Komponente trećih lica, među njima i open source biblioteke, treba posmatrati odvojeno: nad njima developer nema prava koja bi mogao da prenese, pa se naručiocu daju isključivo pod uslovima njihovih originalnih licenci.
Ugovor treba da definiše šta tačno spada u pre-existing IP. Bez te definicije, svaki kod koji se pojavi u isporuci može biti protumačen kao predmet prenosa prava na naručioca.
Prenos prava na naručioca
Naručilac obično očekuje da dobije sva prava na softver koji je razvijen za njega, uključujući i pravo na izmene i dalju distribuciju. Međutim, kada je reč o pre-existing IP, situacija je drugačija.
Ugovor može predvideti da se prava na pre-existing IP ne prenose na naručioca, već da se daje samo licenca. Licenca može biti:
- trajna i neopoziva, ali ograničena na upotrebu u okviru isporučenog softvera;
- prenosiva, ako naručilac želi da ustupi softver trećim licima;
- isključiva ili neisključiva, što zavisi od pregovora.
U praksi, najčešći model je neisključiva licenca koja omogućava naručiocu da koristi pre-existing IP isključivo u okviru softvera koji je predmet ugovora. Time se štiti developerova mogućnost da iste komponente koristi u drugim projektima.
Klauzule koje štite developera
Da bi se izbegli sporovi, ugovor treba da sadrži nekoliko ključnih odredbi:
Definicija pre-existing IP
Ugovor mora jasno navesti šta se smatra pre-existing IP. To može biti lista priloga, ali i opis kategorija (npr. „svi softverski moduli koje je Izvršilac razvio pre datuma ugovora, a koji su integrisani u isporučeni softver“).
Zadržavanje prava
Odredba kojom developer zadržava sva prava na pre-existing IP, a naručiocu daje samo licencu, predstavlja osnov zaštite. Ova klauzula treba da bude jasna i nedvosmislena.
Ograničenje upotrebe
Licenca naručiocu treba da bude ograničena na upotrebu u okviru softvera. Ako naručilac želi da koristi pre-existing IP samostalno, to mora biti posebno ugovoreno i često podrazumeva dodatnu naknadu.
Obaveza obaveštavanja
Developer treba da obavesti naručioca o tome koji delovi koda su pre-existing IP, kako bi naručilac znao šta je predmet licence, a šta prenosa prava.
Šta ostaje developeru?
Developer zadržava vlasništvo nad pre-existing IP, kao i pravo da te komponente koristi u drugim projektima. To je posebno važno za developere koji imaju sopstvene biblioteke i alate koje koriste u više projekata.
Međutim, ugovor može sadržati i odredbe koje ograničavaju developera. Na primer, klauzula o konkurenciji može zabraniti developeru da iste komponente koristi za direktne konkurente naručioca u određenom periodu. Takve odredbe moraju biti razumne i u skladu sa zakonom.
Rizici ako ugovor ne uređuje pre-existing IP
Ako ugovor ne sadrži odredbe o pre-existing IP, mogu nastati ozbiljni problemi:
- Naručilac može smatrati da je sve što je isporučeno predmet prenosa prava, uključujući i developerove biblioteke.
- Developer može izgubiti pravo da koristi sopstvene komponente u budućim projektima.
- Mogući su sudski sporovi oko tumačenja ugovora, što dovodi do visokih troškova i gubitka vremena.
Zato je preporučljivo da se ovo pitanje reši u fazi pregovora i da ugovor sadrži jasne odredbe. Ugovor o razvoju softvera treba da pitanje postojećeg koda uredi precizno, tako da ne ostavlja prostor za različita tumačenja.
Zaključak
Razgraničenje prava na pre-existing IP u ugovoru o razvoju softvera od suštinskog je značaja za developera. Jasne klauzule o definiciji, zadržavanju prava i licenciranju omogućavaju developeru da zaštiti svoje komponente, dok naručilac dobija prava koja su mu potrebna za korišćenje softvera. U svakom konkretnom slučaju, preporučuje se konsultacija sa advokatom koji će ugovor prilagoditi okolnostima projekta.