Wczoraj mia­ła miej­sce kon­fe­ren­cja Forum pra­wa nowych tech­no­lo­gii zor­ga­ni­zo­wa­na przez Centrum Promocji Informatyki. Jednak to nie mój refe­rat z tego semi­na­rium, a pew­na kon­klu­zja po burz­li­wej dys­ku­sji, będzie dziś tema­tem przewodnim.

To o czym był mój refe­rat, to ochro­na know-how zama­wia­ją­ce­go (opis spo­so­bu pra­cy orga­ni­za­cji) i ochro­na tego co zamó­wił i za co zapła­cił (opro­gra­mo­wa­nie jak utwór). Ale tu będzie o kodzie i pra­wach do nie­go… (kto nie był na kon­fe­ren­cji niech żałuje ;))

Przytoczmy na począ­tek defi­ni­cję tego co chro­ni pra­wo autor­skie” czy­li czym jest przed­miot pra­wa autorskiego”:

Przedmiotem pra­wa autor­skie­go jest każ­dy prze­jaw dzia­łal­no­ści twór­czej o indy­wi­du­al­nym cha­rak­te­rze, usta­lo­ny w jakiej­kol­wiek posta­ci, nie­za­leż­nie od war­to­ści, prze­zna­cze­nia i spo­so­bu wyra­że­nia (utwór) (źr. Ustawa z dnia 4 Lutego 1994 roku o pra­wie autor­skim i pra­wach pokrewnych).

2/3 kon­fe­ren­cji praw­ni­cy wyka­zy­wa­li, że jedy­ne co moż­na sku­tecz­nie chro­nić pra­wem (albo wyce­niać) to stan udo­ku­men­to­wa­ny. Czyli, jeże­li chce­my chro­nić wie­dzę o swo­jej wewnętrz­nej orga­ni­za­cji, tak zwa­ny know-how, oraz pomysł na to co powin­no umieć” zama­wia­ne opro­gra­mo­wa­nie by nam poma­ga­ło, nale­ży posłu­żyć się pra­wem autor­skim, tajem­ni­cą przed­się­bior­stwa i mieć to w posta­ci udo­ku­men­to­wa­nej. Zapis, któ­ry od lat poma­ga mi i moim klien­tom chro­nić pro­jek­ty i know-how brzmi tak (moż­na go użyć w swo­ich dokumentach :)):

Treść doku­men­tu jest chro­nio­na na mocy USTAWY z dnia 16 kwiet­nia 1993 r. o zwal­cza­niu nie­uczci­wej kon­ku­ren­cji oraz na mocy USTAWY z dnia 4 lute­go 1994 r. o pra­wie autor­skim i pra­wach pokrew­nych. Posiadanie egzem­pla­rza tego opra­co­wa­nia nie sta­no­wi naby­cia jakich­kol­wiek praw do jego treści.

(szcze­gó­ły ustaw i para­gra­fów były pre­zen­to­wa­ne na semi­na­rium, w razie potrze­by pole­cam wizy­tę w dobrej kan­ce­la­rii prawnej).

Ale po kolei czyli…

Jak to – ochrona know-how i kodu który ktoś nam napisał – można robić

Opiszę to języ­kiem dla osób nie zna­ją­cych inży­nie­rii oprogramowania.

Pierwszą rze­czą jaką war­to chro­nić jest wypra­co­wa­na wewnętrz­na orga­ni­za­cja pra­cy, spo­sób pra­cy fir­my czy­li pro­ce­du­ry, regu­ły biz­ne­so­we, kom­pe­ten­cje pra­cow­ni­ków (i wie­le innych). Kompletny taki opis, raport z audy­tu orga­ni­za­cji, zawie­ra mode­le pro­ce­sów biz­ne­so­wych sko­ja­rzo­ne z pro­ce­du­ra­mi, zakre­sa­mi obo­wiąz­ków, regu­ła­mi biz­ne­so­wy­mi itp. Tak powsta­je udo­ku­men­to­wa­ne nasze know-how”.

Kolejna rzecz to opra­co­wa­nie opi­su a cza­sem pro­jek­tu, opro­gra­mo­wa­nia, któ­re chce­my nabyć lub zamó­wić, a kon­kret­nie tego co i jak ono powin­no umieć”. Opis taki nie powi­nien poprze­sta­wać tyl­ko na tym co-ma-sys­tem-robić (wyma­ga­nia w posta­ci przy­pad­ków uży­cia). Firmy róż­nią się tym jak-to-jest-robio­ne u nich, więc nie wystar­czy napi­sać, że sys­tem ma wspie­rać przy­ję­cia na maga­zyn i sto­so­wać usta­lo­ne meto­dy zarzą­dza­nia kosz­ta­mi pro­duk­tów”. Powierzenie dostaw­cy zada­nia udo­ku­men­to­wa­nia (ana­li­za przed-wdro­że­nio­wa) np. meto­dy zarzą­dza­nia pro­duk­ta­mi” na 99% zaowo­cu­je opi­sem tego co dostaw­ca może zaofe­ro­wać, a nie tego jak-pra­cu­je-zama­wia­ją­cy i co jest mu potrzeb­ne. Po dru­gie auto­rem pomy­słu” będzie dostaw­ca (wyko­naw­ca) więc do nie­go będą nale­ża­ły pra­wa do wła­sno­ści inte­lek­tu­al­nej zawar­tej w opro­gra­mo­wa­niu – a tego wła­śnie nie chcemy.

Co i jak udokumentować? Czy to się da?

Owszem, poni­żej meto­da opi­sa­na jako stan­dard (opis dostęp­ny za dar­mo bez żad­nych opłat) na stro­nach https://​www​.omg​.org/​mda:

Co może­my. Etap pierw­szy to udo­ku­men­to­wa­nie know-how fir­my czy­li model orga­ni­za­cji i spo­so­bu jej dzia­ła­nia (opi­sy­wa­ny na stro­nach tego blo­ga wie­lo­krot­nie). Jak już wspo­mnia­łem, ele­men­tem know-how są udo­ku­men­to­wa­ne mode­le pro­ce­sów biz­ne­so­wych, regu­ły biz­ne­so­we i struk­tu­ra orga­ni­za­cji. Ten opis, jako doku­ment, jest chro­nio­ny pra­wem autor­skim jako dzie­ło, treść zaś jest chro­nio­na pra­wem o prze­ciw­dzia­ła­niu nie­uczci­wej kon­ku­ren­cji jako know-how fir­my. Warunek: taki opis MUSI ist­nieć a pra­wa mająt­ko­we do nie­go powi­nien posia­dać opi­sa­ny w nim pod­miot. Autor, jeże­li nie był pra­cow­ni­kiem fir­my pod­czas two­rze­nia, powi­nien mieć dodat­ko­wo umo­wę o pouf­no­ści i po zakoń­cze­niu pra­cy prze­ka­zać pisem­nie pra­wa mająt­ko­we do dzie­ła swo­je­mu klien­to­wi.

Tak więc, jeże­li ktoś z zewnątrz robi taką ana­li­zę (np. pra­cow­nik dostaw­cy opro­gra­mo­wa­nia czy nie­za­leż­ny kon­sul­tant) i nie chce prze­ka­zać praw mająt­ko­wych do opra­co­wa­nia, orga­ni­za­cji ana­li­zo­wa­nej, to nale­ży się zacząć bać. Na powyż­szym dia­gra­mie ten etap nazy­wa Computing Independent Mode (model dzia­ła­nia orga­ni­za­cji na pozio­mie nie­za­leż­nym od uży­wa­nych sys­te­mów IT).

Chcemy mieć oprogramowanie wspomagające nasz biznes

Na bazie powyż­szej doku­men­ta­cji powsta­je opis, któ­re obsza­ry dzia­ła­nia fir­my chce­my wspie­rać opro­gra­mo­wa­niem i jak. To okre­śle­nie zakre­su pro­jek­tu. Następnie, w mode­lach pro­ce­sów wska­zu­je­my czyn­no­ści, któ­re mają być wspie­ra­ne nowym opro­gra­mo­wa­niem. To ocze­ki­wa­ne funk­cjo­nal­no­ści (usłu­gi apli­ka­cyj­ne) nowe­go opro­gra­mo­wa­nia (w nota­cji UML nazy­wa­ne przy­pad­ka­mi uży­cia). Dodajemy do nich ele­men­ty jako­ścio­we czy­li wyma­ga­nia poza-funk­cjo­nal­ne (ogra­ni­cze­nia np. nie­za­wod­ność, bez­pie­czeń­stwo itp.). To jed­nak za mało, to tyl­ko opis tego co-sys­tem-ma-robić (idea).

Jednoznaczne są dopie­ro opi­sy logi­ki biz­ne­so­wej, czy­li jak-sys­tem-ma-to-robić (w koń­cu sys­tem poza zapi­sy­wa­niem, prze­twa­rza nasze dane), opis tego, cze­go ocze­ku­je­my od tego opro­gra­mo­wa­nia (co ono powin­no umieć). To kolej­ny opis, udo­ku­men­to­wa­ne coś, co chce­my chro­nić. Zakładam, że spe­cy­fi­ka fir­my, wypra­co­wa­na logi­ka biz­ne­so­wa, to dobro war­te ochro­ny. Taki opis to war­stwa dru­ga od góry na powyż­szym dia­gra­mie (model opro­gra­mo­wa­nia PIM, Platform Independent Model). Do tego doku­men­tu tak­że nale­ży mieć pra­wa mająt­ko­we. Ten model to już szcze­gó­ło­wy pro­jekt, jedy­ne cze­go może nie zawie­rać to spe­cy­fi­ka uży­te­go języ­ka pro­gra­mo­wa­nia czy wyko­rzy­sta­ne ele­men­ty cudze­go opro­gra­mo­wa­nia (tak zwa­ne biblio­te­ki, fra­me­wor­ki, śro­do­wi­sko sys­te­mo­we pra­cy itp…). Także inne, nie będą­ce spe­cy­fi­ką fir­my (tym co chce­my chro­nić) stan­dar­do­we ele­men­ty takie jak logo­wa­nie do sys­te­mu czy np. spo­sób drukowania.

A teraz niech nam to dostarczą

No to szu­ka­my dostaw­cy (wyko­naw­cy) opro­gra­mo­wa­nia: robi­my listę poten­cjal­nych dostaw­ców, ktoś wygry­wa prze­targ, pod­pi­su­je­my umo­wę o pouf­no­ści, wyko­naw­ca dosta­je do wyko­rzy­sta­nia udo­ku­men­to­wa­ny know-how, pra­wo autor­skie chro­ni taki opis z zasa­dy. Wyłaniamy dostaw­cę, pro­jekt dobie­ga koń­ca. Dostawca nie ma moż­li­wo­ści praw­nej zaofe­ro­wa­nia tego opro­gra­mo­wa­nia (tego co obej­mu­je nasza spe­cy­fi­kę) niko­mu inne­mu. Wszystko co zro­bił na bazie naszej doku­men­ta­cji jest dzie­łem zależ­nym, bez naszej zgo­dy wyko­naw­ca nie ma pra­wa tym kodem dys­po­no­wać. Jesteśmy uratowaniu :)!

A może chcecie prawa do kodu źródłowego?

A jasne, może­my chcieć. No to zapłać­cie za to pra­wo”. A prze­pra­szam za co teraz? Kod, któ­ry powstał to utwór zależ­ny, jest więc chro­nio­ny i już mamy na nie­go wyłącz­ność, nie musi­my eks­tra za to pła­cić. Ale nie chce­my tego sami pisać (kodo­wać) jesz­cze raz. No dobrze, patrzy­my na fak­tu­ry, a tam jest kil­ka­set godzin pro­gra­mi­stów. Czyli co? Już zapła­ci­li­śmy za ich pra­cę, za ten kod! Wystarczy!

Kiedy pojawia się problem?

W więk­szo­ści przy­pad­ków z jaki­mi się nie­ste­ty spo­ty­kam to pro­jek­ty, w któ­rych nie powsta­ła opi­sa­na tu doku­men­ta­cja. Jaki mamy efekt? No jest kod, wszel­kie pra­wa do nie­go i jego logi­ki ma wyko­naw­ca (jest auto­rem cało­ści). Specyfikacja wyma­gań funk­cjo­nal­nych i poza-funk­cjo­nal­nych pod­le­ga wyłącz­nie ochro­nie jako dzie­ło lite­rac­kie, jed­nak nie­ste­ty to-co-pro­gram-ma-robić to tyl­ko idea, a ta nie pod­le­ga ochro­nie (stwier­dze­nie fak­tu, że wysta­wia­my fak­tu­ry, jako treść, nie sta­no­wi żad­ne­go zdat­ne­go do ochro­ny tajem­ni­cą fir­my know-how). Tak więc wszel­kie pra­wa do kodu ma w takim wypad­ku pro­gra­mi­sta bo sam od zera to napi­sał (kod).

Pada pro­po­zy­cja: za dodat­ko­we pie­nią­dze sprze­da­my pra­wa mająt­ko­we do kodu, będzie­cie się Państwo czu­li bez­piecz­nie. I teraz pyta­nie: jaką war­tość ma nie­udo­ku­men­to­wa­ny kod opro­gra­mo­wa­nia? Tysiące linii kodu pro­gra­mu, nie raz kil­ka milio­nów, pisa­ny bez pro­jek­tu w wie­lu ite­ra­cjach. Mamy któ­rąś tam jego wer­sję, w koń­cu powsta­wał w bólach, wie­lo­krot­nie mody­fi­ko­wa­ny, bez pro­jek­tu. Nakład pra­cy wie­lo­krot­nie prze­wyż­sza­ją­cy jego powtór­ne prze­pi­sa­nie. Kto i jakim kosz­tem będzie ten kod ana­li­zo­wał by go zro­zu­mieć i roz­wi­jać? Ten kod, bez jego auto­ra, jest z regu­ły BEZWARTOŚCIOWY a My, bez tej opła­ty, nie mamy żad­nych praw do tego za co zapła­ci­li­śmy (poza licen­cją czy­li pra­wem do korzy­sta­nia). Pat.

Tak więc niejednokrotnie oferta na sprzedaż praw do kodu to zwykła ściema”!

złodziej

A jak to wyglą­da w przy­pad­ku zaku­pu goto­we­go ERP i jego kasto­mi­za­cji”? Jest to cudzy pro­dukt, zapew­ne może­my dostać pra­wa do kodu na wła­sny uży­tek” w co jed­nak wąt­pię, raczej dosta­nie­my licen­cje na uży­wa­nie. A nasze know-how? Jeżeli nasze dedy­ko­wa­ne wyma­ga­nia zosta­ły zre­ali­zo­wa­ne” w posta­ci kasto­mi­za­cji kodu tego pro­duk­tu, to i tak nadal jest on wła­sno­ścią dostaw­cy (pro­du­cen­ta) i nic nam do nie­go. Niektóre fir­my idą dalej, pod­ty­ka­ją” swo­im klien­tom aneks do umo­wy, z zapi­sem, że kod powsta­ły pod­czas wdro­że­nia (w tym kasto­mi­za­cja), zawie­ra­ją­cy pomy­sły na nowe funk­cjo­nal­no­ści w cało­ści prze­cho­dzi na wła­sność dostaw­cy opro­gra­mo­wa­nia ERP. Jeżeli zgo­dzi­cie się na to, nie zdziw­cie się gdy dowie­cie się np. z gaze­ty, że jakaś fir­ma kupi­ła od Waszego part­ne­ra” moduł z logi­ką biz­ne­so­wą wasze­go pomysłu”…

U nie­któ­rych praw­ni­ków moż­na się spo­tkać z tezą:

Zgodnie usta­wą o pra­wie autor­skim i pra­wach pokrew­nych pro­gra­my kom­pu­te­ro­we pod­le­ga­ją ochro­nie jak utwo­ry lite­rac­kie, o ile prze­pi­sy roz­dzia­łu VII usta­wy nie sta­no­wią ina­czej. Taki zapis sta­tu­uje więc ogól­ną zasa­dę włą­cze­nia pro­gra­mów kom­pu­te­ro­wych pod reżim ochro­ny praw­no­au­tor­skiej, zrów­nu­jąc je w tym aspek­cie z utwo­ra­mi literackimi.

Ochrona przy­zna­na pro­gra­mo­wi kom­pu­te­ro­we­mu obej­mu­je wszyst­kie for­my jego wyra­że­nia. Natomiast idee i zasa­dy będą­ce pod­sta­wą jakie­go­kol­wiek ele­men­tu pro­gra­mu kom­pu­te­ro­we­go, w tym pod­sta­wą łączy, nie pod­le­ga­ją ochro­nie (w pra­wie autor­skim idee ? wsze­la­kie ? nie są chro­nio­ne). O ile ele­men­ty tek­sto­we pro­gra­mu (w zna­cze­niu kon­kret­ne­go przed­sta­wie­nia cią­gu instruk­cji) pod­le­ga­ją ochro­nie, o tyle w przy­pad­ku ele­men­tów poza­tek­sto­wych (algo­rytm – struk­tu­ra pro­gra­mu języ­ka pro­gra­mo­wa­nia) trze­ba się raczej liczyć z ich wyłą­cze­niem spod ochro­ny pra­wa autor­skie­go. (Kod źró­dło­wy – aspek­ty prawne).

To podej­ście jest nie­kom­plet­ne, gdyż pomi­ja aspekt (ewen­tu­al­ny etap) pro­jek­to­wa­nia jako eta­pu two­rze­nia opro­gra­mo­wa­nia. Zresztą nie tyl­ko opro­gra­mo­wa­nia ale tak­że spe­cy­fi­ki orga­ni­za­cji, któ­ra może zostać zawar­ta” w opro­gra­mo­wa­niu w posta­ci spe­cy­ficz­nej, uni­kal­nej logi­ki działania. 

Skoro Ochrona przy­zna­na pro­gra­mo­wi kom­pu­te­ro­we­mu obej­mu­je wszyst­kie for­my jego wyra­że­nia” to zna­czy, że każ­dy jed­no­znacz­ny jego pro­jekt tak­że. Ustawa nie sta­no­wi, że jedy­nie for­ma tek­sto­wa pro­gra­mu pod­le­ga ochro­nie, ochro­nie pod­le­ga każ­da for­ma wyra­że­nia dzie­ła. Prawo autor­skie chro­ni w jed­na­ko­wym stop­niu tekst, zdję­cia czy pra­ce gra­ficz­ne, sche­mat blo­ko­wy (szcze­gó­ło­wy algo­rytm) tak­że pod­le­ga ochro­nie, bo speł­nia kry­te­rium uni­kal­no­ści. Skoro mamy tech­no­lo­gię (meto­dy), pozwa­la­ją­cą napi­sać kod pro­gra­mu na bazie jego sche­ma­tu blo­ko­we­go (a nawet cza­sem auto­ma­tycz­nie wyge­ne­ro­wać) to taki dokład­ny sche­mat blo­ko­wy tak­że pod­le­ga ochro­nie z tytu­łu pra­wa autor­skie­go jako dzie­ło. To już nie jest idea a program.

Jeżeli dodat­ko­wo ten algo­rytm opi­su­je spe­cy­fi­kę pra­cy danej fir­my to pod­le­ga tak­że ochro­nie jako tajem­ni­ca przed­się­bior­stwa. Jest więc nie­ja­ko podwój­nie chro­nio­ny. Oczywiście, co pod­kre­ślam po raz kolej­ny, sche­mat blo­ko­wy o jakim mowa musi być jed­no­znacz­ny, nie może to być tyl­ko zapis pomy­słu”. Z per­spek­ty­wy dia­gra­mów BPMN i UML (gra­ficz­ne języ­ki) mamy więc:

  1. BPMN: model pro­ce­su na wyso­kim pozio­mie abs­trak­cji (np. dwa blocz­ki: pro­ces sprze­da­ży połą­czo­ny z pro­ce­sem obsłu­gi rekla­ma­cji) to idea,
  2. BPMN: dokład­ny sce­na­riusz (pro­ce­du­ra) obsłu­gi sprze­da­ży spe­cy­ficz­ny dla kon­kret­nej fir­my, obra­zu­ją­cy spe­cy­fi­kę kom­pe­ten­cji jej pra­cow­ni­ków i funk­cjo­no­wa­nia, to pod­le­ga­ją­cy ochro­nie opis know-how fir­my, dia­gram to opi­su­ją­cy wraz z opi­sem i komen­ta­rza­mi to utwór chro­nio­ny pra­wem autor­skim. Stanowi zapis know-how. 
  3. UML: dia­gram przy­pad­ków uży­cia: to idea pomy­słu (podob­nie jak tek­sto­wa spe­cy­fi­ka­cja wyma­gań funk­cjo­nal­nych i poza-funk­cjo­nal­nych), to wyłącz­nie dzie­ło lite­rac­kie, pro­gram jaki powsta­nie na tej pod­sta­wie nie jest wią­za­ny z taką spe­cy­fi­ka­cją jako utwór zależ­ny, jest dzie­łem programisty.
  4. UML: dia­gram klas – model poję­cio­wy, to jedy­nie idea,
  5. UML: dia­gram klas jako pro­jekt logi­ki i struk­tu­ry pro­gra­mu (zawie­ra atry­bu­ty i ope­ra­cje, tam gdzie to koniecz­ne, tak­że algo­ryt­my metod) oraz uzu­peł­nia­ją­ce go dia­gra­my maszy­ny sta­no­wej i sekwen­cji (obra­zu­ją szcze­gó­ło­wo jak opro­gra­mo­wa­nie ma dzia­łać) to już zapis ana­lo­gicz­ny do kodu pro­gra­mu, jest chro­nio­ny jako dzie­ło lite­rac­kie, ale kod jaki powsta­nie na tej posta­wie jest prak­tycz­nie w 100% jego odzwier­cie­dle­niem (wier­ne odzwier­cie­dle­nie sche­ma­tu blo­ko­we­go). Podlega ochro­nie jako dzie­ło lite­rac­kie oraz tak­że jako know-how. Program jaki powsta­nie na pod­sta­wie tak opra­co­wa­ne­go opi­su ma sta­tus tłu­ma­cze­nia (utwór zależny). 

Więc kod napi­sa­ny pod dyk­tan­to” pro­jek­tan­ta nie jest nie­za­leż­nym dzie­łem pro­gra­mi­sty, nie ma on (pro­gra­mi­sta) pra­wa do swo­bod­ne­go dys­po­no­wa­nia takim kodem, podob­nie jak tłu­macz tek­stu nie naby­wa auto­ma­tycz­nie ani praw do dys­po­no­wa­nia tłu­ma­cze­niem, któ­re opra­co­wał, ani, w szcze­gól­no­ści, do tek­stu źró­dło­we­go, któ­ry przetłumaczył.

Zaprezentowana opi­nia praw­na, moim zda­niem pomi­ja więc waż­ny fakt, że poza języ­ka­mi pro­gra­mo­wa­nia tek­sto­wy­mi”: taki­mi jak Java, Pascal czy .NET ist­nie­ją tak­że języ­ki gra­ficz­ne takie jak np. UML. Opinia powyż­sze (przy­to­czo­ny cytat) jest praw­dzi­wa pod warun­kiem, że mowa o powyż­szych dia­gra­mach na pozio­mie ogól­nym, idei. Jednak pro­jek­ty ozna­czo­ne kolo­rem czer­wo­nym to przy­pad­ki pod­le­ga­ją­ce już peł­nej ochronie.

Jarosław Żeliński

Jarosław Żeliński: autor, badacz i praktyk analizy systemowej organizacji: Od roku 1991 roku, nieprzerwanie, realizuje projekty z zakresu analiz i projektowania systemów, dla urzędów, firm i organizacji. Od 1998 roku prowadzi samodzielne studia i prace badawcze z obszaru analizy systemowej i modelowania (modele jako przedmiot badań: ORCID). Od 2005 roku, jako nieetatowy wykładowca akademicki, prowadzi wykłady i laboratoria (ontologie i modelowanie systemów informacyjnych, aktualnie w Wyższej Szkole Informatyki Stosowanej i Zarządzania pod auspicjami Polskiej Akademii Nauk w Warszawie.) Oświadczenia: moje badania i publikacje nie mają finansowania z zewnątrz, jako ich autor deklaruję brak konfliktu interesów. Prawa autorskie: Zgodnie z art. 25 ust. 1 pkt. 1) lit. b) ustawy o prawie autorskim i prawach pokrewnych zastrzegam, że dalsze rozpowszechnianie artykułów publikowanych w niniejszym serwisie jest zabronione bez indywidualnej zgody autora (patrz Polityki Strony).

Ten post ma 10 komentarzy

  1. programista

    Napisałeś:
    A może chce­cie pra­wa do kodu źródłowego?

    A jasne, może­my chcieć. ?No to zapłać­cie za to pra­wo?. A prze­pra­szam za co teraz? Kod, któ­ry powstał to dzie­ło zależ­ne, jest więc chro­nio­ny i już mamy na nie­go wyłącz­ność, nie musi­my eks­tra za to pła­cić. Ale nie chce­my tego sami pisać (kodo­wać) jesz­cze raz. No dobrze, patrzy­my na fak­tu­ry, a tam jest kil­ka­set godzin pro­gra­mi­stów. Czyli co? Już zapła­ci­li­śmy za ich pra­cę, za ten kod! Wystarczy!”

    Ale wyda­je mi się, że zapo­mnia­łeś wspo­mnieć o poniż­szej klau­zu­li w umowie:
    Przy zawie­ra­niu umo­wy z tłu­ma­czem nale­ży pamię­tać o koniecz­no­ści zacho­wa­nia for­my pisem­nej. W umo­wie wyraź­nie musi być okre­ślo­ne do kogo nale­żeć będą mająt­ko­we pra­wa autor­skie do tłu­ma­cze­nia. Jeżeli nie zosta­nie to okre­ślo­ne wyraź­nie, domnie­my­wać nale­ży, iż tłu­macz udzie­lił nam licen­cji nie­wy­łącz­nej i dalej może roz­po­rzą­dzać takim tłumaczeniem..

    Pamiętać nale­ży, aby w umo­wie wska­zać oso­bę, któ­ra będzie mia­ła pra­wo do zezwa­la­nia na dal­sze roz­po­rzą­dza­nie tłu­ma­cze­niem, nawet jeże­li twór­ca prze­niósł na nas całość autor­skich praw mająt­ko­wych. Jeżeli w umo­wie nie będzie takie­go zapi­su, to twór­ca będzie upraw­nio­ny do wyra­ża­nia zgo­dy na dal­sze roz­po­rzą­dza­nie tłumaczeniem.”

    Wnioskuję z tego, że autor tłu­ma­cze­nia (pro­gra­mi­sta, czy wyko­naw­ca opro­gra­mo­wa­nia), któ­ry nie ma w umo­wie ze zle­ce­nio­daw­cą takie­go zapi­su ma nadal pra­wo do decy­do­wa­nia o tym, czy jego kod moż­na zmie­nić. W związ­ku z tym, gdy zmie­ni się w orga­ni­za­cji jakaś pro­ce­du­ra, czy pro­ces biz­ne­so­wy, któ­ry został zapro­jek­to­wa­ny i teraz ta orga­ni­za­cja chce go zmie­nić, to zmian tych może doko­nać jedy­nie w doku­men­ta­cji. Na zmia­ny w kodzie musi mieć zgo­dę wyko­naw­cy opro­gra­mo­wa­nia (tłu­ma­cza), za któ­re ów tłu­macz może zażą­dać opła­ty. W związ­ku z tym przez sprze­daż kodów źró­dło­wych rozu­miem prze­nie­sie­nie pra­wa do swo­bod­nej mody­fi­ka­cji kodu na zle­ce­nio­daw­cę. Sama zapła­ta za pra­cę pro­gra­mi­sty (poświę­co­ny czas) nie jest rów­no­znacz­na z pra­wem do wpro­wa­dza­nia zmian, czy popra­wek w jego dzie­le. Problem z opro­gra­mo­wa­niem pole­ga na tym, że zazwy­czaj pod­le­ga ono cią­głym mody­fi­ka­cjom i dyna­micz­nym zmia­nom, a tak­że koniecz­nym popraw­kom (nie da się od razu napi­sać dobre­go kodu, bo zawsze poja­wia­ją się błę­dy, czy to pro­gra­mi­stycz­ne, czy pro­jek­to­we). Pozwolenie na samo­dziel­ne wpro­wa­dza­nie tych zmian, czy zle­ce­nie tych zmian komuś inne­mu niż auto­ro­wi pro­gra­mu trze­ba wyku­pić. Być może okre­śla­nie tej zgo­dy sprze­da­żą kodu jest niefortunne.

    Ogólnie bar­dzo cie­ka­wy arty­kuł. Ciekawy jestem co myślisz o moim powyż­szym rozważaniu.

    1. Jaroslaw Zelinski

      Owszem autor tłu­ma­cze­nia (pro­gra­mi­sta, czy wyko­naw­ca opro­gra­mo­wa­nia), któ­ry nie ma w umo­wie ze zle­ce­nio­daw­cą takie­go zapi­su ma nadal pra­wo do decy­do­wa­nia o tym, czy jego kod moż­na zmie­nić.” pod warun­kiem, że nie prze­ka­zał praw do kodu.
      Ważne: pra­wo chro­ni auto­ra (pier­wot­ne­go dzie­ła) bez potrze­by zawie­ra­nia umo­wy. Innymi sło­wy, nie ma domnie­ma­nia przej­ścia jakich­kol­wiek praw na tłu­ma­cza… Z zasa­dy tłu­macz nie ma żad­nych praw do tre­ści (źró­dło) tego co tłu­ma­czy, nie ma innych niż autor­skie pra­wa oso­bi­ste (pra­wo do pod­pi­su nazwi­skiem tłu­ma­cza), praw do tre­ści wyko­na­ne­go tłu­ma­cze­nia jakie opra­co­wał. Więc bez zmia­ny tre­ści pier­wot­nej (np. zmia­na wyma­gań, pro­jek­tu it.) nie ma pod­staw do jakich­kol­wiek żądań. 

      Owszem, tłu­ma­cze­nie” to kod tłu­ma­cza” ale ten­że tłu­macz – pro­gra­mi­sta, nie ma żad­nych praw do obro­tu powsta­łym opro­gra­mo­wa­niem, komu będzie robił zmia­ny w kodzie?. Jeżeli w umo­wie z pro­gra­mi­stą, będzie zawar­te prze­nie­sie­nie praw mająt­ko­wych do powsta­łe­go kodu, kupu­ją­cy może wszyst­ko a koder nic. Problem w tym, że jeże­li pro­gra­mi­sta wysta­wi rachu­nek za 100% pra­co­chłon­no­ści (mowa T&M), to prak­tycz­nie nie ma pod­staw do żąda­nia jakich­kol­wiek dodat­ko­wych kosz­tów prze­nie­sie­nie praw mająt­ko­wych do kodu.

      Na dzi­siaj, zle­ce­nie wyko­na­nia dedy­ko­wa­ne­go opro­gra­mo­wa­nia deve­lo­pe­ro­wi bez prze­nie­sie­nia praw mająt­ko­wych do kodu, nie ma więk­sze­go sensu.

  2. Starszy inżynier oprogramowania

    Widzę tutaj jesz­cze jeden pro­blem ? pomi­ja­jąc pra­wa autor­skie. Mianowicie two­rze­nie opro­gra­mo­wa­nia pod dyk­tan­do dia­gra­mów UML” w kolej­no­ści dia­gra­my, potem kod i koniec, to typo­wy water­fall (nie wiem, czy o to Panu cho­dzi). Niestety jest to naj­gor­sze moż­li­we podej­ście do two­rze­nia opro­gra­mo­wa­nia. Rezultat w takim wypad­ku albo odbie­ga od rze­czy­wi­stych potrzeb klien­ta, albo od samych dia­gra­mów. Nawet kor­po­ra­cje odcho­dzą od takie­go pro­jek­to­wa­nia, na rzecz bar­dziej zwin­nych meto­dyk. Piszę to jako wie­lo­let­ni prak­tyk, z doświad­cze­niem wynie­sio­nym z małych firm, jak i kor­po­ra­cji. Oczywiście nie negu­ję tutaj pra­cy ana­li­ty­ka czy archi­tek­ta, pra­ca zwłasz­cza tego pierw­sze­go jest bar­dzo istot­na. Praca tego dru­gie­go rów­nież, o ile wie co robi i ma boga­te doświad­cze­nie jako pro­gra­mi­sta, dodat­ko­wo aktu­ali­zu­je swo­ją wie­dzę i takie poję­cia jak DDD czy SOLID nie są tyl­ko dziw­nym skró­tem. Niestety cza­sem tra­fia­ją się archi­tek­ci, któ­rzy swo­ją inge­ren­cją oraz wie­dzą roz­wa­la­ją pro­jekt już na star­cie. Podobnie cza­sem tra­fia­ją się zespo­ły pro­gra­mi­stów, gdzie widać na stra­cie nad­cią­ga­ją­cą kata­stro­fę. Architekta bar­dziej postrze­gam jako men­to­ra dla zespo­łu deve­lo­pe­rów, oraz kogoś kto w razie pro­ble­mów może zain­ge­ro­wać. Czasem tą funk­cję może też peł­nić w mojej opi­nii doświad­czo­ny team leader, wszyst­ko zale­ży od fir­my i środków.

    1. Jarosław Żeliński

      1. two­rze­nie archi­tek­tu­ry w UML nie słu­ży tu gene­ro­wa­niu kodu, słu­ży jedy­nie opra­co­wa­niu podzia­łu na odręb­ne usłu­gi i kom­po­nen­ty, od tego momen­tu two­rze­nie apli­ka­cji jest ite­ra­cyj­no-przy­ro­sto­we (np. mikro­ser­wi­sy) i z wodo­spa­dem” nie ma nic wspólnego,
      2. celem takie­go podej­ścia (wca­le ja go nie wymy­śli­łem) jest oddzie­le­nie eta­pu pro­jek­to­wa­nia od implementacji
      3. typo­wym wodo­spa­dem jest nie­ste­ty zaczy­na­nie pro­jek­tu od two­rze­nia peł­ne­go rela­cyj­ne­go mode­lu danych.

  3. programistaMobile

    Witam,
    Czy jeże­li two­rzę opro­gra­mo­wa­nie, dla fir­my XYZ jako deve­lo­per, bez ŻADNEJ umo­wy (nie­ste­ty po oko­ło 7 mie­sią­cach współ­pra­cy, żad­na umo­wa nie zosta­ła mi przed­sta­wio­na) i odcho­dzę z danej fir­my, to wszyst­kie pra­wa prze­cho­dzą razem ze mną i mogę robić z tym kodem co tyl­ko chce?
    Tutaj jestem rów­nież cie­kaw jak wyglą­da wte­dy spra­wa z know-how fir­my i nie­uczci­wej kon­ku­ren­cyj­no­ści, gdym chciał zacząć robić podob­ny pro­dukt? (nawet nie uży­wa­jąc już tego kodu, tyl­ko napi­sać nowy)
    Dodam tyl­ko, że pra­co­wa­łem cał­ko­wi­cie zdalnie.

    1. Jarosław Żeliński

      Co do zasa­dy w spo­rze liczą się fak­ty, przy bra­ku umo­wy i jakiej­kol­wiek doku­men­ta­cji cier­pią obie stro­ny: dewe­lo­per bo nie ma potwier­dze­nia, że on two­rzył opro­gra­mo­wa­nie a bene­fi­cjent, bo nie ma doku­men­tów na jego legal­ne posia­da­nie i użyt­ko­wa­nie. Jeżeli nie doj­dzie do spo­ru i zbie­ra­nia dowo­dów (kore­spon­den­cja mailo­wa, notat­ki ze spo­tkań itp.) to w zasa­dzie obie stro­ny roz­cho­dzą się i każ­dy ma to co ma, czy­li jed­na stro­na opro­gra­mo­wa­nie bez doku­men­ta­cji a dru­ga opro­gra­mo­wa­nie (np. bez wyna­gro­dze­nia). Jeżeli wyna­gro­dze­nie było regu­lar­nie wypła­ca­ne pro­gra­mi­ście (np. prze­le­wa­mi czy­li są dowo­dy) i nie było spo­ru w tym okre­sie, jest bar­dzo praw­do­po­dob­ne, że uzna­ne to zosta­nie za pra­cę pod kie­row­nic­twem zle­ce­nio­daw­cy (ust­na umo­wa), czy­li pra­wa mająt­ko­we do opro­gra­mo­wa­nia zosta­ną przy pra­co­daw­cy. Jeżeli nie było umo­wy o pouf­no­ści ale mate­ria­ły źró­dło­we były w jaki­kol­wiek spo­sób ozna­czo­ne jako tajem­ni­ca przed­się­bior­stwa, know-how jest chro­nio­ne. Jeżeli pra­ca odby­wa­ła się zdal­nie to praw­do­po­dob­nie są dowo­dy na jej reali­za­cję, tu jed­nak będzie to na korzyść pra­co­daw­cy z powo­dów jak wyżej. Na pod­sta­wie pozy­ska­nej wie­dzy moż­li­we jest napi­sa­nie jesz­cze raz podob­ne­go opro­gra­mo­wa­nia, ale pra­wa do nie­go zale­żą od jako­ści i dokład­no­ści tre­ści prze­ka­zy­wa­nych prze­ka­zy­wa­nych programiście.

  4. waldi

    Może podejść ina­czej. Samo usta­le­nie z archi­tek­tem, któ­ry robi nam pro­jekt domu, że prze­suń mi Pan okno metr w pra­wo, drzwi w lewo, itp… nie daje nam pra­wa aby ten pro­jekt po wyko­rzy­sta­niu mogli­by­śmy odsprze­dać sąsia­do­wi, a archi­tekt nie miał by praw aby powie­lać swo­ją pracę.

    1. Jarosław Żeliński

      Co do zasa­dy archi­tekt nie pra­cu­je pod dyk­tan­do. Przesunięcie okna to nie nowy pomysł pro­jek­to­wy” a pyta­nie do archi­tek­ta czy moż­na zmie­nić pro­jekt. Architekt może ale nie musi sie zgo­dzić. Projekt ma jed­ne­go auto­ra wiec: archi­tek­ta pro­si­my o zgo­dę na nową zmie­nio­ną funk­cjo­nal­ność (robi to biz­nes) a nie każe­my mu prze­pro­jek­to­wać”. Wiec nie ma cze­goś takie­go jak archi­tekt nie miał by praw aby powie­lać swo­ją pra­cę.”. Developer albo reali­zu­je pro­jekt albo wyla­tu­je z projektu. 

Dodaj komentarz

Witryna wykorzystuje Akismet, aby ograniczyć spam. Dowiedz się więcej jak przetwarzane są dane komentarzy.