Non è possibile proteggere completamente qualsiasi applicazione (gestita o meno). Se sistemi come la Playstation e l'iPad possono rompersi, laddove il fornitore controlla persino l'hardware, che speranza ha la tua app? Per fortuna, non vuoi davvero. A mio avviso, devi proteggere la tua applicazione quanto basta affinché qualcuno non possa piratare accidentalmente il tuo prodotto e non di più.
Ad esempio, se usi una licenza per macchina, non dovrebbe funzionare solo quando la installi su una nuova seconda macchina. Avrai bisogno di un buon messaggio di errore per evitare ulteriori chiamate di supporto, ma non perdere tempo extra a renderlo troppo difficile da aggirare e non colpire gli utenti con esso.
Un altro esempio è una prova a tempo limitato. Non preoccuparti nemmeno di cose semplici come se gli utenti possono semplicemente ripristinare l'orologio di sistema. Qualcuno che lo fa sa che sta violando la tua licenza e fintanto che un utente sa quando sono in violazione hai fatto abbastanza.
Devi fare molto perché agli utenti non importa della tua licenza. Le licenze sono cose inventate di cui nessuno si preoccupa fino a quando non è necessario. Nessuno li legge e non dovrebbero proprio doverlo fare. Pertanto, il modo migliore per dire all'utente dove sono i limiti è se il comportamento immediato per la propria applicazione è conforme alla licenza. In questo primo caso ciò significa che non è possibile installare o installare in modalità di prova la seconda volta. Per quest'ultimo, potrebbe significare semplicemente il controllo di una data in testo semplice in un file di configurazione. In entrambi i casi, assicurati di gestirlo in modo elegante, utile e rispettoso.
Questo spiega cosa significa fare proprio così tanto. Ma perché non andare oltre? Perché non tappare ogni piccolo buco che puoi trovare? La risposta è in due parti. In primo luogo, se qualcuno varcherà la soglia etica di infrangere consapevolmente i termini della tua licenza - anche in modo semplice - saranno anche disposti a fare qualcosa di più difficile o pericoloso come estrarre la tua applicazione da un torrentsito - e vi è un certo grado di pericolo legato all'esecuzione di applicazioni scaricate da fonti non attendibili. Renderlo più difficile è solo un piccolo fastidio per questi utenti e rischia di causare problemi con i tuoi clienti paganti. Mantenerlo semplice può impedire a qualcuno di scavare nella tua applicazione e di rilasciare una crepa più completa. In secondo luogo, hai pochi occhi disponibili per cercare difetti; gli hacker ne hanno molti e hanno più pratica nel trovarli. Devi solo perdere un piccolo difetto e la tua app avrà la stessa distribuzione sui siti dei pirati come se non avessi fatto nulla. Devi avere ragione ogni volta; devono essere fortunati solo una volta. Quindi lo sforzo richiesto è molto alto e la probabilità di qualsiasi misura di successo è molto bassa.
Alla fine, se qualcuno vuole piratare la tua applicazione (invece di usarla solo), e questo è il loro obiettivo principale, lo faranno. Non c'è niente che puoi fare per fermarli. Questa è la natura del software; una volta che i file che compongono il tuo prodotto sono sul computer di un utente saranno in grado di fare con loro come vogliono. Ciò è particolarmente rilevante in ambienti gestiti come Java o .NET , ma si applica sicuramente anche al codice nativo. Il tempo è dalla loro parte e viene concesso abbastanza tempo per impedire la sicurezza digitale.
Dal momento che non puoi impedire agli utenti di piratare il tuo prodotto, il miglior modo di agire è coinvolgere questa classe di utenti in modo da utilizzarli a tuo vantaggio. Spesso è possibile farli lavorare per te piuttosto che contro di te. Con questo in mente, indipendentemente dalla tua applicazione, probabilmente ne vale la pena mantenere una versione gratuita che è quasi completamente funzionale e non scade. La differenza tra anche un prezzo da $ 1 e gratuito è enorme, se non altro per il fatto che il cliente non deve fidarsi di te con la sua carta di credito. Un'edizione gratuita del tuo prodotto non solo ucciderà efficacemente la distribuzione piratata (perché rischiare una versione piratata quando puoi essere legittima allo stesso prezzo?), Ha il potenziale per espandere notevolmente il tuo pubblico.
Il risultato è che potrebbe essere necessario aumentare il prezzo dell'edizione for-pay, in modo che alla fine invece di 2.000 utenti a $ 20 ciascuno, si abbiano 100.000 utenti gratuiti, di cui 500 disposti a pagare $ 99 per l'edizione "professionale" . Questo ti farà guadagnare più denaro che se avessi speso un sacco di tempo a bloccare il tuo prodotto. Inoltre, puoi coinvolgere questi utenti gratuiti e sfruttare la relazione in diversi modi importanti.
Uno è il supporto. Un pessimista coglierebbe l'occasione per lamentarsi dell'aumentato costo di supporto di 100.000 utenti gratuiti, ma succede invece qualcosa di straordinario: il tuo prodotto diventa in gran parte autosufficiente. Lo vedi sempre con grandi progetti open source che non hanno soldi per i costi di supporto. Gli utenti si faranno avanti e lo faranno accadere.
Gli utenti gratuiti generalmente hanno inizialmente aspettative di supporto ridotte e per buoni motivi. Tutto quello che devi fare è contrassegnare l'edizione gratuita come qualificante solo per il supporto della comunità e creare un forum online moderato dall'utente a tale scopo. La tua base di conoscenza di supporto è auto-generante e gli utenti avanzati guideranno coloro che hanno bisogno di una mano in più per tuo conto. Ancora più importante, questo ti permetterà di identificare e correggere i bug più velocemente, migliorando in definitiva la qualità del tuo prodotto e abbassando i costi di supporto totali. Questo non era possibile prima perché la tua base di utenti non era abbastanza grande, ma quando tratti gli utenti gratuiti come clienti, può funzionare molto bene.
Un altro è il feedback. Guardando il tuo forum, impari importanti idee di miglioramento che potresti non aver mai considerato diversamente. Ciò può consentire in ultima analisi di trasformare un maggior numero di utenti gratuiti in utenti a pagamento e creare un prodotto più avvincente che attirerà un pubblico ancora più vasto.
Infine, devi considerare il marketing. Tutti questi utenti gratuiti sono ora fan piuttosto che avversari, e agiranno di conseguenza. Non solo, ma quando arriverà il momento di rilasciare la tua prossima versione, questi utenti saranno passati attraverso il tuo canale di distribuzione approvato, piuttosto che qualche altro meccanismo sconosciuto. Ciò significa che per la tua prossima versione inizi a connetterti con un pubblico più ampio, molto interessato e di supporto.
Le migliori funzionalità da prenotare per l'edizione professionale sono strumenti volti a semplificare l'implementazione e la gestione aziendale. Un cracker non li vedrà come una ragione abbastanza convincente per hackerarlo per il proprio uso, ma per un'azienda che cerca di acquistare 300 licenze e spingerlo fuori in tutta l'azienda questo è un must. Certo, l'edizione professionale sarà comunque piratata, ma ancora: non sudare perché probabilmente non saresti in grado di vendere il prodotto a quei pirati, qualunque cosa tu abbia fatto, quindi non ti costerà alcun reddito.
Mentre psicologicamente può essere difficile dare così tanto il tuo prodotto, spero che tu possa capire come sia davvero il modo migliore per andare. Non solo, è l'unico modo per andare a lungo termine. So che qualcuno è là fuori a pensare che non vogliono farlo in questo modo. Dopotutto, hanno ottenuto vendendo il loro prodotto bloccato da $ 20 per anni. Ma è semplicemente un peccato, perché se non lo fai in questo modo, alla fine lo farà qualcun altro . E il loro prodotto sarà buono come il tuo, o abbastanza vicino da riuscire a farcela. Quindi all'improvviso i tuoi prezzi sembrano scandalosi, le vendite calano drasticamente e non c'è nient'altro che puoi fare. Puoi optare per un livello intermedio aggiuntivo se necessario, ma è improbabile che ti aiuti.