Questo è un vecchio post, ma è ancora in discussione nel mondo di oggi.
Secondo me, se sei pagato a ore e guidato dal cliente per creare un programma software, devi consegnare il codice sorgente.
Se hai un software commerciale e lo vendi a loro da usare .. allora no non dovresti consegnare il codice sorgente.
Indipendentemente da ciò che è legale o no ... come non sono nemmeno 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 il lavoro futuro. Basta fare un buon lavoro ad un prezzo ragionevole in primo luogo e il lavoro continuerà.
E alla persona che carica 5X per il codice sorgente. Come programmatore direi che sei molto bravo con la matematica. Perché qualcuno dovrebbe pagare 5 volte per qualcosa ... quando possono pagare un'altra persona per replicare semplicemente ciò che hai costruito? Questo è un modo veloce per essere licenziati. Non puoi mangiare il tuo codice sorgente ... quindi, pensando in questo modo, tu e il tuo codice sorgente sarete seduti ai margini.