Newsgroup: it.diritto.internet
Titolo: Sviluppo software e cessione sorgenti

Ciao a tutti,
quanto deve essere diverso un nuovo software affinché non sia possibile
dimostrarne l'origine da uno precedente ?
Mi spiego meglio (usando nomi di fantasia) :-)
Per la società CICCIO & OBESO SpA che si occupa di "Budini elettrici" ho
sviluppato un software: il contratto stipulato prevede (copio e incollo)
"la proprietà esclusiva sul software e dei sorgenti" e l'impegno a non
rivelare a terzi informazioni di natura riservata che potrebbero essere
state acquisite nel corso dello sviluppo.
Quindi la CICCIO & OBESO può modificare e/o rivendere il software come
meglio crede senza dovermi nulla.
La società MAGRO & STECCO Srl appartenente allo stesso settore (quindi
concorrente della prima) potrebbe essere interessata al software sviluppato
(software per la gestione appunto dei budini elettrici); a questo punto
vorrei sapere come posso muovermi legalmente considerando i seguenti punti:
1. Chiaramente non posso fornire lo stesso progetto così com'è, sia per i
vincoli contrattuali sia per l'uso della grafica aziendale della CICCIO &
OBESO
2. Avendo utilizzato metodologie standard per lo sviluppo software sarei in
grado senza problemi di ricreare in modo quasi uguale lo stesso progetto
essendo stato io l'analista e lo sviluppatore, anche se questo
richiederebbe un po' di lavoro
3. Per ottimizzare i tempi penserei di partire dal progetto esistente,
modificarne l'aspetto grafico, i menu ed in genere il "look & feel",
togliere quanto non necessario alla MAGRO & STECCO Srl; il software sarebbe
visivamente molto diverso ma rimarrebbe *comunque* un gestionale di budini
elettrici
4. Nel corso dello sviluppo non sono venuto a conoscenza di informazioni
riservate e in ogni caso i dati necessari per un "nuovo" sviluppo
potrebbero giungermi dal nuovo committente
Di fatto nel contratto non è previsto la clausula che io non sviluppi più
in futuro software di gestione budini elettrici per cui mi sento
autorizzato legalmente a fornire un nuovo progetto con le stesse funzioni.
Il punto è questo: se io parto dal primo e lo modifico, quanto dovrebbe
essere diverso per non violare il contratto, considerando che da zero
potrei rifarlo ex novo quasi uguale ?
Cosa ne pensate ?
Starsky

 potrei rifarlo ex novo quasi uguale ?
Non è rilevante. Nel momento in cui copi i sorgenti è automatico che 
violi il contratto e non solo. Al limite puoi chiederti quanto deve 
differire dall'originale per non essere beccato ad una eventuale disputa 
e relativa perizia. La risposta è: abbastanza da non valere la pena di 
copiare.


Non credo sia cosi semplice la questione.
Per il semplice motivo che anche 'rifare' ex-novo tutte le procedure che 
compongono il primo programma, se il lavoro viene fatto dalla stessa 
persona, quasi corrisponderanno esattamente alla versione originale del 
primo programma.
Voglio dire che se nella prima versione del programma io decido di usare una 
procedura di stampa fatta in un certo modo, molto probabilmente rifaro' tale 
schelta anche nella seconda versione del programma.
Ed a questo punto, pur avendolo rifatto ex-novo, il secondo programma sara' 
irrimediabilmente estremamente simile al primo.
Tanto che qualsiasi perizia potrebbe notare similitudini tali da confermare 
che il secondo programma 'deriva' dal primo in modo inequivocabile.
Anche se realmente non e' cosi.
O meglio, e' cosi' nel senso che e' stato realizzato dalla stessa persona in 
momenti differenti.
Ed allora come chiarire la questione del copiato o non copiato?
O meglio come poter dimostrare che la seconda versione non e' stata copiata?
Ciao.
RobertoA

Il Sun, 8 Jan 2006 15:42:41 +0100, RobertoA ha scritto:
[cut]
E' esattamente il punto della questione: usando una metodologia di sviluppo
OOP è molto facile "rifare" una intera applicazione in modo estremamente
simile all prima, anche perchè la soluzione di eventuali problemi
incontrati nel corso del primo sviluppo verrebbe replicata nella seconda
stesura.
Al momento nel caso specifico essendo la prima applicazione di tipo web
(aspx) pensavo a svilupparne una in modo standard (.exe) per evitare
possibili contestazioni, ma la questione dal punto di vista squisitamente
"filosofico" rimane aperta.
Ciao
Starky

 "filosofico" rimane aperta.
In effetti se questo basta, e io non lo so, il porting dell'applicazione,
quindi delle sue funzionalità, in una tecnologia diversa (appunto magari
asp --> C++ o Java --> C o anche solo asp --> php) modifica del tutto il
codice sorgente senza dover reinventare ogni algoritmo che poi finirebbe
per essere implementato esattamente come prima :D
Se il copyright è legato al codice, come fosse un'opera letteraria, con un
porting lo modifichi quasi del tutto. Cmq a me sembra un modo di agirare il
problema, e non credo che nessuno c'abbia pensato :)
-- 
chi sono e soprattutto chi non sono:
http://www.softeaware.it

 porting lo modifichi quasi del tutto.
Parlando per metafore, quanti libri gialli ci sono nei quali l'assassino
č il maggiordomo?
Se le procedure sono standard IMHO non ci sono problemi, l'importante č
che non sia la stessa sorgente, ma una diversa, anche se, per forza di
cose, simile.
My two cents.
-- 
 Candido - 
http://candido2k.blogspot.com/


Ritengo che il problema si pone solo a livello di applicazione globale e non 
a livello di codice particolare (o frammenti di esso). Infatti per analogia, 
anche le funzioni di base di un qualsiasi linguaggio di programmazione 
dovrebbero avere lo stesso trattamento delle funzioni più complesse. Cosa 
ovviamente che non è.
Più semplicemente se abbiamo: x, y, z funzioni base del linguaggio e 
definiamo:
function k () {
  x, y, z
 }
non avrebbe senso che k sia protetta e quindi non riutilizzabile, altrimenti 
lo sarebbero anche x, y, z in conseguenza di ciò.
Se poi, vogliamo essere pignoli, se consideriamo k una funzione di una 
libreria usata dal programmatore per i suoi applicativi, dovremmo 
chiederci... questa libreria è da considerarsi pure protetta? ovviamente no, 
altrimenti il programmatore si ingabbia da solo al primo programma fatto.
Quello che emerge invece è un errore di fatto nel modo in cui è stato 
rilasciato il software. Il programmatore infatti, avrebbe dovuto adottare 
una licenza del tipo GNU/GPL o comunque una licenza che, concedesse al 
destinatario l'uso non esclusivo dei sorgenti.
In altre parole, cosi facendo, si sarebbe riservato il diritto di 
riutilizzare porzioni di codice comune, per altre applicazioni da egli 
realizzate.
Cooper.
-- 
www.blueware.it

 O meglio come poter dimostrare che la seconda versione non e' stata copiata?
In caso di contenzioso deve essere eventualmente l'altra parte a
dimostrare il contrario.