Legalmente posso riutilizzare il codice per clienti diversi? [chiuso]

2

L'azienda per cui lavoro sviluppa applicazioni personalizzate per l'automazione di fabbrica per più clienti. Anche se ogni applicazione è personalizzata, contengono codice comune che viene riutilizzato tra i progetti.

Uno dei clienti è ora alla ricerca del codice sorgente per la sua applicazione, che ha causato una grande tempesta nell'azienda. La direzione ha deciso che non è possibile fornire loro la fonte dei componenti condivisi poiché vengono utilizzati da altri clienti. Mi è stato chiesto di modificare i componenti condivisi "abbastanza" in modo che non siano comuni.

Quindi le mie domande sono:

1) Legalmente, dovrebbe esserci qualche problema con il riutilizzo di componenti comuni per clienti diversi?

2) Se ho davvero bisogno di modificare i componenti comuni, quanto è "sufficiente"? (So che questo fa schifo, ma o lo faccio o lo inoltro)

Oh sì, e la mia azienda non ha alcuna licenza in vigore con nessuno di questi clienti.

    
posta canice 15.09.2012 - 23:19
fonte

4 risposte

1

Questo mi sembra una politica carente della tua azienda con i clienti. In altre parole, il tuo accordo con il cliente dovrebbe indicare chi è il copyright del prodotto e della fonte.

Nella maggior parte dei casi, i contatti software indicano che il software fornito è basato su COT e alcuni sistemi proprietari. Pertanto, i componenti comuni che possono anche essere indicati come motore di base non vengono mai restituiti al cliente come codice sorgente. Tuttavia, la personalizzazione specifica del cliente e il codice di sviluppo vengono di solito forniti ai clienti.

1) Legally, should there be any problem with re-using common components for different customer?

potrebbero essere problemi se non indicati nel contratto di accordo. Almeno è un caso strong da prendere in considerazione negli Stati Uniti. Consiglierei di ottenere una consulenza legale da un avvocato. Eliminerebbe tutte le cause legali che potrebbero essere affrontate dalla tua azienda.

2) If I really need to modify the common components, then how much is 'enough' ? (I know this sucks, but I either do this or hand in my notice).

Vorrei provare a separare la funzionalità di base / core del motore dal resto dell'implementazione personalizzata in primo luogo. Afterwords, fornirei solo il codice sorgente di quel codice personalizzato e il motore di base come una dll principale.

    
risposta data 16.09.2012 - 06:46
fonte
4

Riguarda chi detiene il copyright sul codice. Il contratto che la tua azienda ha con i suoi clienti dovrebbe precisare che la tua azienda è proprietaria del copyright e stai solo vendendo loro una licenza. In tal caso, non importa se fornisci loro una copia del codice. Ho visto casi in cui la tua licenza prevede che il cliente abbia una copia del codice e apporti modifiche a condizione che venga utilizzato solo su un sito in cui è concesso in licenza (quella particolare fabbrica).

D'altra parte, se c'è qualche ambiguità su chi possiede il copyright, allora hai problemi più grandi.

    
risposta data 17.09.2012 - 15:05
fonte
1

La riscrittura è intesa a mantenere segreto il codice sorgente? Se la riscrittura funziona, non sarà tanto buono quanto avere l'originale? Se offuschi effettivamente il codice, non sarà utile per il tuo cliente. Potrei parlare del lavoro svolto e della manutenzione in corso per mantenere una riscrittura in sincronia con l'originale in modo da poter continuare a inviare nuove versioni a questo client, ma non lo farò perché non ha senso. Non riscrivere nulla.

Non sono un avvocato, ma penso che tu abbia ragione che questo è un problema legale - devi assumere un avvocato. Per lo meno, vorrei prima che il cliente firmi un accordo di non divulgazione, quindi consegnare loro il codice sorgente esistente. Fatto. Probabilmente è possibile trovare una NDA draconiana di caldaia sul web. Questa è la pratica standard del settore. Se il loro avvocato desidera delle modifiche alla tua NDA, dovrai assumere un avvocato solo per questo problema.

Se ci sono giurisdizioni non amichevoli coinvolte (ad esempio, il tuo cliente è in Libia o Yemen), devi semplicemente dire di no alla richiesta del codice sorgente. Potresti dover dire di no comunque se dare via il codice sorgente mette a rischio gli altri tuoi clienti in qualsiasi modo. Hai una vera lacuna legale qui, senza alcuna licenza.

Perché non puoi risolvere il problema per il client senza fornire loro la fonte?

    
risposta data 17.09.2012 - 05:47
fonte
-5

1) Non ci sono problemi con l'utilizzo degli stessi componenti per più clienti. Supponendo che non ci sia un accordo contrattuale contro di esso. Microsoft ha inviato codice Windows comune a milioni di clienti in tutti i sistemi legali del mondo.

2) Modifica i loop per il conto alla rovescia invece che verso l'alto. Rinomina le cose. Scambia alcune righe di codice in cui la sequenza di esecuzione è irrilevante. Invece di restituire un valore, aggiungere un nuovo parametro che funzioni tramite effetti collaterali per simulare un valore di ritorno. Fai uno scambio XOR invece di uno scambio normale. Getta in alcune operazioni di cambio. Sostituisci alcuni generici per utilizzare implementazioni duplicate per ogni tipo.

Se ti senti vivace, apporta alcune modifiche "reali" al design o agli algoritmi di base utilizzati.

È solo un gioco, quindi non prenderlo troppo sul serio.

    
risposta data 17.09.2012 - 04:21
fonte

Leggi altre domande sui tag