Nie można w pełni zabezpieczyć żadnej aplikacji (zarządzanej lub nie). Jeśli systemy takie jak Playstation i iPad mogą zostać złamane - gdzie sprzedawca nawet kontroluje sprzęt - jaka jest nadzieja Twojej aplikacji? Na szczęście tak naprawdę nie chcesz. Moim zdaniem, musisz zabezpieczyć swoją aplikację na tyle, aby ktoś nie mógł przypadkowo pirować twojego produktu i nie więcej.
Na przykład, jeśli używasz licencji na jeden komputer, nie powinna ona działać tylko podczas instalacji na nowym drugim komputerze. Będziesz potrzebować dobrego komunikatu o błędzie, aby zapobiec dodatkowym połączeniom z pomocą techniczną, ale nie spiesz się, utrudniając obejście i nie uderzając w niego użytkownikami.
Innym przykładem jest ograniczony czasowo proces. Nie martw się nawet o proste rzeczy, takie jak to, że użytkownicy mogą po prostu cofnąć zegar systemowy. Ktoś, kto to robi, wie, że łamie twoją licencję, i dopóki użytkownik wie, kiedy narusza prawo, zrobiłeś wystarczająco dużo.
Musisz to zrobić dużo, ponieważ użytkownicy nie dbają o twoją licencję. Licencje są wymyślonymi rzeczami, o których nikt nie dba, dopóki nie będą musieli. Nikt ich nie czyta i naprawdę nie powinien. Dlatego najlepszym sposobem, aby powiedzieć użytkownikowi, gdzie są granice, jest to, czy gotowe działanie aplikacji jest zgodne z licencją. W tym pierwszym przypadku oznacza to albo nieudaną instalację, albo instalację w trybie próbnym drugi raz. W tym drugim przypadku może to po prostu oznaczać sprawdzenie zwykłego tekstu w pliku konfiguracyjnym. Tak czy inaczej, upewnij się, że postępujesz z nim w elegancki, pomocny i pełen szacunku sposób.
To tłumaczy, co to znaczy tyle robić. Ale dlaczego nie pójść dalej? Dlaczego nie zatkać każdej małej dziury, którą możesz znaleźć? Odpowiedź składa się z dwóch części. Po pierwsze, jeśli ktoś przekroczy etyczny próg świadomego łamania warunków licencji - nawet w prosty sposób - będzie również gotów zrobić coś trudniejszego lub bardziej niebezpiecznego, jak wyciągnięcie aplikacji z torrentawitryna - a uruchamianie aplikacji pobranych z niezaufanych źródeł wiąże się z pewnym ryzykiem. Utrudnianie pracy jest tylko niewielką uciążliwością dla tych użytkowników i grozi problemami z płatnymi klientami. Uproszczenie może uniemożliwić komuś wkopanie się w twoją aplikację i wydanie bardziej kompleksowego cracku. Po drugie, masz niewiele oczu, aby szukać wad; hakerzy mają ich wielu i więcej praktyki w ich znajdowaniu. Musisz tylko przegapić jedną małą wadę, a Twoja aplikacja będzie miała taką samą dystrybucję na stronach pirackich, jakbyś nic nie zrobił. Musisz mieć rację za każdym razem; muszą mieć szczęście tylko raz. Wymagany wysiłek jest więc bardzo wysoki, a prawdopodobieństwo jakiejkolwiek miary sukcesu bardzo małe.
Ostatecznie, jeśli ktoś chce pirować twoją aplikację (a nie tylko jej używać), a to jest ich główny cel, zrobią to. Nic nie możesz zrobić, aby ich powstrzymać. Taka jest natura oprogramowania; gdy pliki tworzące produkt znajdą się na komputerze użytkownika, będą mogły z nimi zrobić, co zechcą. Jest to szczególnie istotne w środowiskach zarządzanych, takich jak Java lub .NET , ale zdecydowanie dotyczy to również kodu natywnego. Czas jest po ich stronie, a przy wystarczającej ilości czasu wszelkie cyfrowe zabezpieczenia mogą zostać złamane.
Ponieważ nie możesz powstrzymać użytkowników przed piractwem Twojego produktu, najlepszym rozwiązaniem jest zaangażowanie tej klasy użytkowników w taki sposób, aby wykorzystali ich na Twoją korzyść. Często można sprawić, aby działali dla ciebie, a nie przeciwko tobie. Mając to na uwadze, bez względu na to, jaka jest twoja aplikacja, prawdopodobnie warto zachować bezpłatną wersję, która jest prawie całkowicie funkcjonalna i nie wygasa. Różnica między ceną nawet 1 USD a darmową jest ogromna, jeśli tylko z tego powodu klient nie musi ufać Ci swoją kartą kredytową. Darmowa edycja Twojego produktu nie tylko skutecznie zabije piracką dystrybucję (po co ryzykować piracką wersję, skoro możesz być uprawniony za tę samą cenę?), Ale może znacznie zwiększyć twoją publiczność.
W rezultacie może być konieczne podniesienie ceny wersji płatnej, aby ostatecznie zamiast 2000 użytkowników za 20 USD każdy miał 100 000 bezpłatnych użytkowników, z czego 500 jest gotowych zapłacić 99 USD za edycję „profesjonalną” . Dzięki temu zyskujesz więcej pieniędzy, niż gdybyś spędził mnóstwo czasu na zamykaniu swojego produktu. Co więcej, możesz zaangażować tych bezpłatnych użytkowników i wykorzystać związek na kilka ważnych sposobów.
Jednym z nich jest wsparcie. Pesymista skorzystałby z tej okazji, aby narzekać na wzrost kosztów obsługi 100 000 bezpłatnych użytkowników, ale zamiast tego dzieje się coś niesamowitego: twój produkt staje się w dużej mierze samowystarczalny. Widać to cały czas w dużych projektach open source, które nie mają pieniędzy na koszty wsparcia. Użytkownicy przyspieszą i sprawią, że to się stanie.
Bezpłatni użytkownicy generalnie zmniejszyli oczekiwania dotyczące wsparcia na początek i nie bez powodu. Wszystko, co musisz zrobić, to oznaczyć bezpłatną edycję jako kwalifikującą się tylko do wsparcia społeczności i założyć moderowane przez użytkowników forum online w tym celu. Twoja baza wiedzy wsparcia generuje się samodzielnie, a zaawansowani użytkownicy będą opiekować się tymi, którzy potrzebują dodatkowego trzymania ręki w Twoim imieniu. Co ważniejsze, pozwoli to szybciej zidentyfikować i poprawić błędy, ostatecznie poprawiając jakość produktu i obniżając całkowite koszty wsparcia. Nie było to wcześniej możliwe, ponieważ baza użytkowników nie była wystarczająco duża, ale jeśli traktujesz bezpłatnych użytkowników jako klientów, może to działać bardzo dobrze.
Kolejnym jest informacja zwrotna. Oglądając forum, poznajesz ważne pomysły na ulepszenia, których być może nigdy nie pomyślałeś inaczej. Dzięki temu możesz ostatecznie przekształcić więcej bezpłatnych użytkowników w płatnych użytkowników i stworzyć bardziej atrakcyjny produkt, który przyciągnie jeszcze większą liczbę odbiorców.
Wreszcie musisz rozważyć marketing. Wszyscy ci darmowi użytkownicy są teraz fanami, a nie przeciwnikami, i będą działać odpowiednio. Co więcej, jeśli przyjdzie czas na wydanie następnej wersji, wszyscy użytkownicy przejdą przez zatwierdzony kanał dystrybucji, a nie jakiś inny nieznany mechanizm. Oznacza to, że w kolejnej wersji zaczniesz od większej, bardzo zainteresowanej i wspierającej publiczności.
Najlepsze funkcje, które można zarezerwować w wersji profesjonalnej, to narzędzia mające na celu ułatwienie wdrożenia i zarządzania w firmie. Łamacz nie uzna tego za wystarczający powód, aby włamać się do niego na własny użytek, ale dla firmy, która chce kupić 300 licencji i wypchnąć go z całej firmy, jest to konieczność. Oczywiście profesjonalna edycja i tak będzie piracka, ale znowu: nie przejmuj się, ponieważ prawdopodobnie nie będziesz w stanie sprzedać produktu piratom bez względu na to, co zrobiłeś, więc nie kosztuje to żadnego przychodu.
Chociaż psychologicznie może być tak trudno rozdać swój produkt, mam nadzieję, że zrozumiesz, jak to naprawdę jest najlepsza droga. Co więcej, jest to jedyna droga na dłuższą metę. Wiem, że ktoś tam jest i myśli, że nie chce tego robić w ten sposób. W końcu dobrze sprzedają swój zablokowany produkt za 20 USD od lat. Ale to szkoda, ponieważ jeśli nie zrobisz tego w ten sposób, w końcu zrobi to ktoś inny . A ich produkt będzie tak samo dobry, jak twój, lub wystarczająco blisko, by uciec od tego. Nagle ceny wyglądają oburzająco, sprzedaż gwałtownie spada i nie można nic więcej zrobić. Jeśli chcesz, możesz wybrać dodatkowy środkowy poziom, ale raczej nie pomoże ci to.