TL; DR
La nostra app ha un backend Django e un frontend Angular 2; lo impacchettiamo in Docker. Il nostro cliente desidera eseguire questa app sul proprio hardware HPC. In cambio, ci pagano un 'abbonamento' mensile.
Come possiamo essere sicuri che il cliente non possa annullare il contratto con noi ma continuare a utilizzare il software?
Maggiori dettagli
Abbiamo realizzato questa app che gestisce le simulazioni e i dati da simulazioni che utilizzano una risorsa HPC. Intendiamo renderlo una cosa basata su cloud ma abbiamo un cliente che vuole utilizzare il proprio hardware.
Abbiamo un buon rapporto con loro e valutiamo il loro feedback, quindi siamo contenti di questo accordo.
La nostra preoccupazione è se cerchiamo di stipulare accordi simili con altri clienti che non conosciamo in futuro. Probabilmente vorremmo lasciarli provare prima il software, ma come possiamo impedire loro di scappare con esso in seguito?
Abbiamo un backend Django e un frontend angolare 2. Non so se questo faccia una grande differenza.
Capisco che possiamo in qualche modo offuscare il codice. Tuttavia, ci sarà sempre una via di ritorno al codice originale. La nostra maggiore preoccupazione è che qualcuno possa smettere di pagare le bollette ma continuare a utilizzare il nostro software.
C'è un modo per poter concedere in licenza l'app? Mi chiedo se c'è un modo per far funzionare il codice solo se viene fornita una chiave valida. Queste chiavi diventerebbero invalide nel tempo. Saremmo gli unici a poter generare queste chiavi.
Oh. E l'HPC di questo cliente non si connette a Internet. Quindi nessuna autorizzazione basata su cloud funzionerà, non credo.
Qualche idea?