Consegnare il codice sorgente al cliente


21

Ho realizzato un paio di applicazioni iPhone per un cliente e oggi mi è stato chiesto di consegnare il codice sorgente in modo che potessero fare la manutenzione se fosse necessario. Fino ad ora, non sono mai stati discussi problemi di codice.

  • C'è qualche pratica "comune" in merito?

  • Inoltre, in che modo ciò dovrebbe influire sul prezzo?

Risposte:


33

Cosa dice il tuo contratto con il cliente?

In caso contrario, e questo è un lavoro da assumere , allora possiedono il codice sorgente a meno che il contratto non dica diversamente.

In futuro, potresti voler controllare i tuoi contratti da un avvocato.

Non sono un avvocato, questo non è un consiglio legale e probabilmente dovresti consultare un avvocato.

Sembra che la risposta stia nel fatto che questo rientri o meno in ciò che è considerato un lavoro da assumere. C'è un ottimo articolo su questo su bitlaw e, come ho detto prima, solo un avvocato sarà in grado di rispondere alla tua domanda.


31
@ Grassetto: in genere, la persona che paga per lo sviluppo di software su misura possiede il codice sorgente. Non c'è bisogno dell'iperbole di possedere la sua vita.
Cameron Skinner,

3
@Cameron Skinner, sei un avvocato? è la consulenza legale correlata alla legge nel paese di Egil? SEI SICURO? aggiungendo a ciò, direi che se si sviluppa un sito Web si darebbe il codice poiché nascondere il codice non ha senso in questo, questo caso è diverso, il codice viene visualizzato dal compilatore ed è nascosto all'utente. per eseguire l'app per iPhone non è necessario il codice originale, in piena contraddizione con il programma web server, poiché il codice è comunque trasparente. può affermare di aver fornito il codice pagato dal cliente per il quale viene reso il codice da un compilatore che è diventato app per iPhone
Nome visualizzato

10
+1 per coprire le possibilità, raccomandare di stare più attenti con i contratti futuri, raccomandare un avvocato e non andare oltre .
David Thornley,

10
@ Grassetto: No, non sono un avvocato. Questa non è una consulenza legale. Tuttavia, in molte giurisdizioni il caso generale è che l'acquirente di software su misura possiede l'intero output (fonte, codice compilato, grafica / arte ecc.) A meno che non ci sia qualcosa di specifico nel contratto che dice diversamente. Il PO non ha specificato in quale paese si trova, quindi è impossibile fornire una consulenza specifica. Il PO ha chiesto "pratica comune": ho dichiarato ciò che ho vissuto nel mio tempo lavorando per un'azienda che si occupa di sviluppo su misura.
Cameron Skinner,

2
@Kate Gregory: No, "lavoro a noleggio" è un concetto giuridico specifico negli Stati Uniti, quindi la risposta non è una tautologia. L'articolo di Wikipedia (da non confondere con la consulenza legale) può valere la pena di essere letto. Dice che un rapporto datore di lavoro / dipendente degli Stati Uniti è lavoro a noleggio, ma per il resto ci sono requisiti rigorosi e deve essere esplicito. Non fare affidamento su questo senza consultare un avvocato.
David Thornley,

9

Questo è un problema che dovrebbe essere discusso prima del progetto e scritto esplicitamente nel contratto; non è solo un problema legale o finanziario, ma influisce anche in qualche modo su come viene realizzato il progetto. Ad esempio, quando sai che devi consegnare la fonte, in qualità di buon fornitore, formulerai buoni commenti e documentazione che soddisfano le aspettative delle migliori pratiche. Potresti anche evitare di riutilizzare parte del tuo codice, perché quel codice potrebbe essere così intelligente che non vuoi semplicemente regalarlo.

Ora è troppo tardi. Concedere o contattare un avvocato.


6

È abbastanza tipico che il codice personalizzato per un cliente specifico sia disponibile gratuitamente su richiesta. Stanno guadagnando il tuo tempo per generare qualcosa per loro, e probabilmente a un certo punto vorranno tutto dal lavoro per cui hanno pagato. Ci sono ovviamente delle eccezioni.

Normalmente, il software scritto e "generalmente" venduto non avrà il codice sorgente disponibile gratuitamente, ma potrebbe averlo disponibile per un prezzo.

Questa è una parte del motivo per cui il software personalizzato costa molto di più del software di "vendita generale" (anche quando il software di "vendita generale" può avere piccoli numeri in circolazione).


5

La regola generale è che l'autore dell'opera possiede il copyright: ciò che crei, lo possiedi.

Ci sono delle eccezioni. Il più ovvio è il lavoro creato da un dipendente . L'altra eccezione ( Copyright Act del 1976, 17 USC 201 ) è nella dottrina "lavoro per assunzione" che afferma che il lavoro è di proprietà della persona che l'ha pagato. Ma affinché accada WFH, devono essere vere tutte le seguenti condizioni:

  1. Il lavoro è stato ordinato o commissionato. Vero.
  2. C'era un accordo sul fatto che il lavoro sarebbe stato considerato un WFH. Falso.
  3. Il lavoro fa parte di una serie di nove categorie specifiche di lavoro: una traduzione, un contributo al lavoro audiovisivo, un contributo a un'opera collettiva (come una rivista), un atlante, una raccolta, un testo didattico, un test, come materiale di risposta per un test o lavoro supplementare. Falso.

Quindi in questo caso non ti viene richiesto di consegnare nulla.

(Alcuni testi a supporto di questo sono qui , qui , qui , qui e qui )


4

Nel mio lavoro quotidiano non è insolito che le aziende richiedano che il nostro codice sorgente venga assegnato a un servizio di deposito a garanzia. L'idea è che l'impresa non vuole impegnarsi a fare affidamento sul nostro software senza un modo per correggere i bug: o la nostra azienda sopravvive in modo che possiamo risolverli o il servizio di deposito a garanzia rilascia loro il codice.

Tuttavia, questo è presumibilmente un punto molto chiaro in un contratto, credo che non ottengano il codice sorgente a meno che la nostra azienda non fallisca, e mi aspetterei che questo sia compreso nel prezzo elevato relativo al contratto. Non sono sicuro di come si applichi a un singolo imprenditore, piccolo scenario applicativo.


Penso che questa sia la pratica più comune e sicura utilizzata per gestire questo tipo di richieste.
timore

2

Bene per me il codice sorgente varrebbe il prezzo effettivo * 5


1
Perché * 5? Perché non * 4 o * 6 .. O anche * 10? Mi sembra piuttosto contorto e illogico.
JTS,

Beh, potrebbe essere * 4 o 6 o qualsiasi numero, dovresti vederlo solo come la mia politica. Non proviamo a vendere il codice sorgente ma a volte quando diventa inevitabile questo è il prezzo
maz3tt

1
Spiegare. Quello che fai non è una buona risposta da solo. Perché lo fai?
Dinamico

2

Ho avuto una situazione simile. Quando l'app è stata completata, l'azienda ha deciso di acquistare il codice sorgente e di far subentrare qualcun altro (ci lavoravo solo a tempo parziale). Hanno fatto quello che pensavo fosse un'offerta adeguata. Pensavo che avrei sempre lavorato su di esso e nessuno di noi sapeva che avevano diritto al codice.

Succede così che sono stati acquistati (non me ne sono accorto) e l'acquirente non ha voluto perdere nulla sulle licenze del software. Non sono sicuro che se avessi saputo che avrei chiesto di più. Probabilmente non da quando la persona che mi ha messo in contatto con questa compagnia mi ha trovato anche qualche altro progetto. Immagino che un buon karma possa venire dall'ignoranza.

Nel tuo caso dovresti dare loro il codice e chiedere di essere usato come riferimento per il tuo lavoro.


1

Innanzitutto, come quasi tutti hanno sottolineato, questo avrebbe dovuto far parte del contratto originale. Assicurati che questo punto sia l'indirizzo in futuro.

In secondo luogo, quanto vale la buona volontà di questo cliente? Puoi aspettarti di ottenere più affari da loro in futuro? Puoi usarli come riferimento per lavori futuri?

Infine, quanto danno possono farti? In molti, se non nella maggior parte delle industrie, la parola si sposta rapidamente. I cattivi sentimenti di questo cliente avranno un effetto negativo sugli altri clienti?

Probabilmente andrei avanti e glielo darei, eventualmente chiedendo una piccola somma di denaro. Assicurati che sappiano che lo stai facendo a loro vantaggio e che vorrai che questo punto venga affrontato in un futuro lavoro che svolgi.


1

Se non faceva parte del contratto, nessuna parte ha la verità.

Qui abbiamo bisogno di più di quello che hai detto e di quello che hanno detto al punto dell'accordo. se non accetti prendi un avvocato e non lasciare che le persone ti spingano in giro.

respingi e dico, non lavoro per te, sto vendendo un software personalizzato per le tue esigenze, hai solo chiesto il software, il codice non è stato discusso in quanto mi richiederà un costo aggiuntivo per modificare il codice da presentare alle viste esterne .

in bocca al lupo

Non sono un avvocato, questa non è una sostituzione per la discussione dell'avvocato, nel tuo stato locale


2
Se hai intenzione di rendere pubblico il software, contatterò sicuramente prima l'avvocato. Se pubblichi il codice e successivamente scopri che la società ha diritto ai diritti di quel codice, potresti essere in un mondo di (inutili) ferite.
Wonko the Sane,

@Wonko grazie cambio, in quanto richiede una consulenza approfondita dell'avvocato.
Visualizza nome

-1

Se il tuo contratto non dice nulla sul codice, non hai l'obbligo di consegnarlo a loro. Considerando che se il tuo cliente è innocuo, hai rinunciato alla tua capacità di correggere il programma per loro conto e di conseguenza ogni possibilità che potresti dover correggere per loro come servizio. D'altra parte, se il tuo client utilizza quel codice per creare la propria applicazione e venderlo, non ci sarebbe nulla che tu possa fare al riguardo. Anche se li avessi fatti firmare un contratto in cui affermavano che non potevano riutilizzare il codice, ti sarebbe difficile chiedere in tribunale di averlo fatto.

Semmai, chiedi perché vogliono la fonte. Nulla di ciò che potevano dire a quella domanda poteva giustificare il motivo per cui avrebbero avuto bisogno del tuo codice quando potresti semplicemente farlo da solo.


4
Mantenere la loro applicazione è una ragione perfettamente valida per volere il codice sorgente.
Larry Coleman,

1
Sta vendendo il software, non il codice. Normalmente i programmatori mantengono l'applicazione, non il client. Se il cliente desidera il codice, dovrebbe parlare della vendita dei diritti al suo software, non semplicemente della consegna del codice.
Neil,

7
Non sono sicuro che sia chiaro. Se lo hanno pagato per sviluppare il software (ad esempio, scrivere il codice) e non solo acquistare il risultato da lui come prodotto, potrebbero avere un reclamo valido alla fonte.
Ben L

@Ben, se viene pagato per scrivere il codice, perché dovrebbe esserci una disputa? Che tipo di domanda si pone se a quel punto si sta chiedendo come dare il codice al cliente? È una domanda tecnica? Dovrebbe essere in stackexchange.com a quel punto.
Neil,

3
@ben non è vero, se paghi un lavoratore, allora tutta la sua creazione è tua, tuttavia non è un lavoratore, è un appaltatore. CHE FA IL SUO CODICE e l'affare sta sviluppando un prodotto. Allo stesso tempo il silenzio potrebbe essere "posso rilasciare il codice sotto GNU?" e se lo facesse? cosa direbbe l'altra parte? non hanno mai parlato di questo, e quando chiedi nuove cose nel software, devi pagare di più.
Visualizza nome

-2

Questo è un vecchio post, ma ancora in discussione nel mondo di oggi.

Secondo me, se vieni pagato a ore e guidato dal cliente per creare un programma software, dovresti consegnare il codice sorgente.

Se hai un software commerciale e lo vendi per usarlo .. allora no NON dovresti consegnare il codice sorgente.

Indipendentemente da ciò che è legale o no ... dato che non sono neanche un avvocato. La cosa giusta da fare è consegnare il codice sorgente. E se ti succedesse qualcosa? Il tuo cliente è lasciato fuori dal freddo. Inoltre, cosa succede se il software causa danni all'azienda? SEI RESPONSABILE! Lascia andare il codice di attesa nella speranza di essere pagato per lavori futuri. Basta fare un buon lavoro a un prezzo ragionevole in primo luogo e il lavoro continuerà.

E alla persona che addebita 5X per il codice sorgente. Come programmatore, suppongo che tu sia molto bravo con la matematica. Perché qualcuno dovrebbe pagare 5 volte qualcosa ... quando possono pagare un'altra persona 1x per replicare ciò che hai creato? Questo è un modo veloce per essere licenziato. Non puoi mangiare il tuo codice sorgente ... quindi pensando in questo modo ... tu e il tuo codice sorgente sarete seduti a margine.


1
ciò non sembra offrire nulla di sostanziale rispetto ai punti formulati e spiegati nelle precedenti 10 risposte. Inoltre, l'ultimo paragrafo sembra essere solo un commento a un'altra risposta qui, confuso per i lettori che non riescono a vedere perché è lì
moscerino
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.