Devo fornire un modo per disabilitare la consegna del mio software?

1

Sto discutendo sul valore di mettere le funzioni di disabilitazione remota (o distruzione) nel mio software prima di consegnarlo ai client ...

Come esempio ipotetico, considera lo sviluppo di un'app Silverlight in cui sei preoccupato che il cliente non ti paghi. Si crea una funzione che, quando viene inserita una stringa di query specifica, cancella tutto nel database.

Distruggere i dati potrebbe essere un esempio estremo. Rendere l'applicazione parzialmente o completamente inutilizzabile sarebbe un altro esempio.

Quali sono i vantaggi e i rischi di questo? Se l'hai fatto, perché l'hai fatto, e come lo hai fatto?

    
posta Chris 25.04.2011 - 10:43
fonte

10 risposte

9

NO, non l'ho mai fatto e mai lo farò. Esistono modi professionali per risolvere questo tipo di problemi. IMHO semplicemente costruendo la possibilità di fare questo genere di cose è una violazione della fiducia che ti viene messa dal cliente.

Ma la tua domanda mi ha fatto riflettere, se in qualche modo mi sono ritrovato nel posto dove ero stato fatto per fornire software a un cliente che non paga mai e non potrebbe fare nient'altro al riguardo. Cercherò comunque di mantenerlo il più professionale possibile e di assicurarmi che ciò che ho fatto possa essere annullato.

  • crittografare tutti i suoi dati, può acquistare la chiave indietro.
  • messaggi a comparsa che indicano agli utenti finali che il capo non paga le sue bollette.
  • codifica l'output in modo che sia illeggibile

P.S. solo costruire in un periodo di prova che richiede l'attivazione di un tasto è ovviamente normale, ma non distruggerà mai i dati dei clienti

    
risposta data 25.04.2011 - 11:06
fonte
6

Prendi un buon contratto prima di iniziare il lavoro.

Il codice autodistruttivo non può sostituire un avvocato competente.

    
risposta data 25.04.2011 - 14:43
fonte
4

IANAL, ma sospetto che tali "backdoor" potrebbero renderti legalmente responsabile se scoperti, anche se non li hai usati.

    
risposta data 25.04.2011 - 12:17
fonte
4

Mi sembra uno scenario tipico di "La tua licenza è scaduta".

Inoltre, la funzionalità "elimina tutto nel database" può essere molto, molto costosa per te se qualcun altro lo scopre e lo esegue ...

    
risposta data 25.04.2011 - 12:21
fonte
3

Il principio guida dovrebbe essere quello di non rompere mai tutto ciò che il cliente ha già. È probabile che sia illegale in numerose giurisdizioni. Inoltre, non fare mai qualcosa di poco amichevole ai tuoi clienti. Questo è il PR di base. Può anche essere una questione di dire le cose nel modo giusto. Un costo aggiuntivo in aggiunta alle tariffe standard è molto più fastidioso rispetto alle tariffe standard più elevate e uno sconto per alcuni clienti.

Dato abbastanza lavoro, le probabilità di ottenere un approccio rigido sono al 100% e devi renderne conto.

Se possibile, crea la possibilità di irrigidirti nelle tue tariffe. Per i clienti abituali che hanno una storia di pagamento puntuale e completo, dai loro un tasso cliente preferito, che sarebbe la tua tariffa standard meno l'importo che stavi riservando contro la probabilità di non essere pagato.

Assicurati di avere un contratto scritto che copra pagamenti e risultati. Assicurati che il programma di pagamento non permetta di accumulare arretrati oltre ciò che sei disposto ad accettare perdendo. Assicurati che il contratto abbia una sorta di collegamento, quindi non sei tenuto a continuare a lavorare senza pagamento. Dovresti redigere un contratto campione e gestirlo da un avvocato. Un avvocato in anticipo costerà molto meno di una controversia contrattuale e le controversie contrattuali tendono a presentarsi quando i contratti non sono chiari. Non vuoi mai essere in una posizione in cui un tribunale deve capire cosa significa il contratto.

Non parlare mai di disabilitare le cose in alcun modo. Ciò ti porterà nei guai, non importa quanto sia grave il cliente. Se sei preoccupato, metti una sorta di controllo della licenza sulla demo e sulle versioni di prova del prodotto, e assicurati che nel contratto ti venga consegnata la chiave permanente al momento del pagamento finale.

Dato il tono del post, sembra che l'OP possa essere già stato punto male. Se qualcuno lo ha, accettalo come esperienza di apprendimento e assicurati che non accada di nuovo.

    
risposta data 25.04.2011 - 23:40
fonte
1

Sembra un "abuso intenzionale di un computer" che può portarti parecchi anni in prigione per me, e usare l'argomento "ma lui non mi ha pagato" non ti ha tolto nulla dal giudice.

Adotta un approccio più professionale e cita in giudizio il suo asino se viola il tuo contratto. Assicurati di avere un contratto, naturalmente, e consulta un avvocato se offri servizi che ritieni possano richiedere i servizi di un avvocato. I contratti standard possono essere trovati su internet per quasi nulla.

Il governo britannico ha alcuni modelli che potresti trovare utili all'inizio punti.

    
risposta data 25.04.2011 - 15:16
fonte
1

Sono d'accordo con i commenti sopra sulla distruzione dei dati dei clienti. Un approccio alternativo che ho visto usato ampiamente (lavoro su Agilis Software , un fornitore di gestione delle licenze per i fornitori di software) è quello di rilasciare una licenza a tempo determinato, che si converte in una licenza perpetua (se questo è ciò che hanno acquistato) quando si riceve effettivamente il pagamento. Per consentire il tempo per l'elaborazione dei pagamenti, avrei fissato un limite di tempo leggermente superiore ai termini di pagamento, quindi hai anche il tempo di ottenere la licenza perpetua senza rischiare di interrompere l'utilizzo del tuo prodotto. Dovresti anche assicurarti che sappiano che l'hai fatto.

Può trattarsi di un'operazione manuale o automatizzata utilizzando un sistema attivazione del prodotto . Chiamiamo questa licenza in leasing. Quando l'utente attiva la licenza è abilitato per il periodo di tempo limitato. Una volta ricevuto il pagamento, si aggiorna il limite per questa licenza nel server di attivazione al perpetuo e questo nuovo limite diventa effettivo quando l'applicazione re-convalida automaticamente le sue licenze contro il server alla fine del periodo di leasing. Ciò rende l'intero processo trasparente per l'utente.

Dominic

    
risposta data 25.04.2011 - 20:35
fonte
0

Puoi fare tutta questa parte del contratto utente. Non caricare in anticipo e lasciare che i clienti paghino mentre vanno. Alcuni potrebbero preferire questo, quindi non c'è nulla di immorale in questo. Potrebbe essere anche un modo per raggruppare il supporto.

Non cancellerei i loro dati perché:

  • Penso che sia sbagliato
  • difficile da implementare; la maggior parte di tutti ha un backup
  • nessuno firmerebbe consapevolmente quell'accordo.
risposta data 25.04.2011 - 14:49
fonte
0

La vendicatività è roba da bambini. Guarda un po 'di tv diurna diurna. Ne vedrai un sacco.

Avere un buon accordo nel rapporto, inviare le bollette in tempo e ricordare loro di pagarti.

A volte devi perdere qualcosa, ma la tua reputazione professionale è la tua migliore risorsa.

    
risposta data 25.04.2011 - 16:24
fonte
0

Se sei preoccupato che paghino, allora non concedere loro il software fino al pagamento.

Se offri un prodotto con un modello di abbonamento, utilizza una piattaforma che sia più adatta. cioè, un'applicazione basata sul web in cui controlli l'accesso.

Disattivare il software desktop è, per ora, abbastanza senza classi. Se qualcuno compra un software, si aspetta che sia in grado di funzionare così come è indefinitamente. Certamente puoi interrompere gli aggiornamenti e smettere di offrire supporto, ma il software funzionale paralizzante che è stato pagato (cioè non il software di prova) mi sembra davvero poco costoso.

E non cancellare MAI dati o file. MAI. Questo non è tuo da eliminare e la gente finisce in prigione per questo genere di cose.

    
risposta data 25.04.2011 - 20:47
fonte

Leggi altre domande sui tag