Negozia un contratto con il cliente che specifica quali sono e non sono autorizzati a farlo. Questo potrebbe ad es. dare al cliente una licenza non esclusiva per eseguire un numero limitato di installazioni per i loro scopi. Considera le licenze perpetue rispetto a quelle a durata limitata. Considera quali sono i tuoi obblighi, ad es. fornendo aggiornamenti e supporto. Esistono molti diversi schemi di licenza, ad es. A Oracle piace anche limitare il numero di CPU per server in cui è possibile installare il software. Oltre alle licenze per l'esecuzione del software in produzione, potrebbe essere importante discutere delle licenze a scopo di test, ad es. installazioni locali sulla macchina di uno sviluppatore.
Si noti che questo tipo di licenza è completamente estraneo alle licenze open source. Non dovresti quindi utilizzare una licenza open source come MIT o GPL per il tuo codice, perché ciò darebbe al tuo cliente molti più diritti di quelli che probabilmente ti stanno a cuore. Invece, negozia un contratto.
Ci sono molti modi in cui puoi essere tirato oltre la canna in queste trattative, quindi è importante che il contratto venga controllato dal tuo avvocato prima di firmare. Ciò diventa più economico più clienti ottieni perché puoi riutilizzare i contratti precedenti come modello.