Jak zaimplementować funkcję „samozniszczenia” w bezpłatnej wersji próbnej mojego oprogramowania?


52

Trwa dyskusja na temat bezpłatnej wersji próbnej w porównaniu z modelem freemium (to znaczy bezpłatną wersją ich oprogramowania z ograniczonymi i / lub ograniczonymi funkcjami) w celu umożliwienia potencjalnym klientom i użytkownikom przetestowania ich produktu. Na podstawie moich badań mogę stwierdzić, że bezpłatna wersja próbna jest sposobem na kontynuację zarówno z korzyścią dla użytkowników związanych z korzystaniem z oprogramowania, jak i z korzyścią dla dostawcy, zarówno w aspekcie sprzedaży, jak i maksymalizacji wykorzystania. Istnieje wiele czynników, które wpływają na bezpłatne oprogramowanie próbne, które może znacznie zmaksymalizować wykorzystanie użytkownika, np. Długość bezpłatnego okresu próbnego.

Jednym ze słów kluczowych, które pojawia się w moich badaniach „freemium”, jest „frustrujące”. Wiele osób zdecydowało się odinstalować oprogramowanie zamiast korzystać z oprogramowania, w którym niektóre funkcje były dla nich niedostępne. Jednocześnie użytkownicy ci nigdy nie mieli możliwości korzystania z funkcji „płatnych”. Bez wiedzy i ukryte przez samych dostawców, którzy sprzedają oprogramowanie, nie wiedzą i nie wiedzą, jakie korzyści przyniosą funkcje Pro. Bez wcześniejszego korzystania z nich użytkownik nie będzie wiedział, że ma poczucie „potrzeby” czegoś. Co prowadzi mnie do następnego punktu darmowego modelu próbnego.

Niektóre opinie bezpłatnego użytkownika próbnego brzmią: „Nie wyobrażam sobie używania tego oprogramowania bez funkcji Pro”. Wraca to do tego, że „użytkownik nie wie, że czegoś potrzebuje, dopóki nie zrozumie poczucia posiadania”. Ci, którzy mieli 14 dni na skorzystanie z funkcji „pełnej” wersji, powiedzieli, że nie wyobrażają sobie, że nie mają lub nie korzystają z dostępnych tam funkcji. Kiedy więc minęło czternaście dni, częściej wydawali pieniądze niż ktoś, kto nigdy nie doświadczył pełnych funkcji. Długość bezpłatnego okresu próbnego jest również ważnym czynnikiem, który wywiera trwałe wrażenie na użytkownikach. W eksperymencie przeprowadzonym przez Visual Website Optimizer zauważyli, że w przypadku 14-dniowego bezpłatnego okresu próbnego w porównaniu z 30-dniowym bezpłatnym okresem próbnym, podczas gdy liczba rejestracji i instalacji była taka sama, wykorzystanie do 14-dniowego okresu próbnego wzrosło o 102%.

Inną bardzo ważną kwestią, o której należy wspomnieć, jest to, że „oferowanie użytecznej iw pełni funkcjonalnej bezpłatnej wersji produktu” jest BARDZO WAŻNE. W pełni funkcjonalne bezpłatne wersje próbne są skuteczne w zdobywaniu informacji w mediach, a ta reklama dla nowego oprogramowania i / lub dostawców oprogramowania jest dość istotna.

Innym istotnym aspektem jest to, jak ważne jest, aby użytkownicy wyrażali opinie. Rozważ, w pełni funkcjonalnym, ograniczonym czasowo bezpłatnym okresie próbnym możliwość wyrażenia opinii przez użytkowników.

Inną ważną cechą naszego oprogramowania jest potrzeba danych telemetrycznych, czyli ilościowych i wyczerpujących danych na temat tego, jak użytkownik korzysta z naszego oprogramowania. Niektóre statystyki użytkowania mogą należeć do szarej strefy prawnej, ponieważ przepisy różnią się w zależności od lokalizacji w Stanach Zjednoczonych i na świecie. Jednym ze sposobów walki z tym problemem prawnym jest włączenie opcji zbierania anonimowych statystyk użytkowania. Opcja włączenia oznaczałaby umożliwienie użytkownikowi wyłączenia gromadzenia statystyk, a jednocześnie użytkownik musi być bardzo świadomy tego, co robi gromadzenie anonimowych informacji o użytkowaniu. Ważne jest, aby USUWAĆ dla użytkownika, jakie dane będą gromadzone, co „my” będziemy z tym robić, i ułatwić wyłączenie w dowolnym momencie, w tym umożliwienie im zmiany zdania w sprawie włączenia lub wyłączenia. W przypadku bardziej szczegółowych statystyk, takich jak śledzenie poszczególnych działań użytkowników, może to prowadzić do problemów prawnych. Eclipse IDE rejestruje szczegółowe statystyki użytkowania, ale robi to za pełną zgodą użytkownika. Być może będziemy musieli przygotować formularz zgody z naszym zespołem prawnym.

Kolekcja informacji o użytkowaniu Eclipse gromadzi następujące informacje: 1. Wtyczki uruchamiane przez system. 2. Polecenia dostępne za pomocą skrótów klawiaturowych i akcji wywoływanych za pomocą menu lub pasków narzędzi. 3. Kiedy „widok” edytora jest aktywny. 4. Informacje o systemie, takie jak używana wersja oprogramowania i używany system operacyjny. 5. Opis błędów wewnętrznych.

Wyłącznik awaryjny

Przełącznik zabicia dla naszego oprogramowania może być zarządzany przez rejestrowanie początkowych danych, szyfrowanie ich za pomocą soli, a gdy jest to niepoprawna data, to znaczy użytkownik próbował to zmienić, wyłączałby oprogramowanie. Inną opcją jest uwierzytelnianie internetowe podczas instalacji, rejestrowanie tej daty w centralnej internetowej bazie danych i sprawdzanie daty przy każdym otwarciu aplikacji.

Po wyłączeniu oprogramowania możemy usunąć niezbędne biblioteki DLL. Nie można rozważyć opcji zapłaty za wygenerowanie raportu.


Jestem zainteresowany wdrożeniem bezpłatnej wersji próbnej do mojego istniejącego oprogramowania. Planuję, aby proces trwał 14 dni. 14 dnia moje oprogramowanie zachęci użytkownika do zapłacenia za wersję płatną lub do skutku niemożnością korzystania z niej. Darmowa wersja próbna jest całkowicie odblokowana, co oznacza, że ​​dostępne są wszystkie płatne funkcje.

Jednak moim dylematem jest „najlepszy” sposób wdrożenia tego, co zrobić dla rozwiązania na koniec okresu próbnego. Czy usuwam ważne biblioteki DLL? Czy masz system uwierzytelniania użytkownika podczas instalacji lub użytkowania? Zaszyfruj początkową godzinę i datę użycia za pomocą soli, a jeśli jest to niepoprawna data (AKA próbują zmienić początkową datę), wyłącz oprogramowanie?

Chcę wiedzieć, jakie są skuteczne sposoby wyłączania oprogramowania.


9
Udostępnianie badań pomaga wszystkim. Powiedz nam, co próbowałeś i dlaczego nie spełnia twoich potrzeb. To pokazuje, że poświęciłeś trochę czasu, aby spróbować sobie pomóc, oszczędza nam to powtarzania oczywistych odpowiedzi, a przede wszystkim pomaga uzyskać bardziej konkretną i odpowiednią odpowiedź. Zobacz także How to Ask
gnat

2
Nie zdefiniowałeś dwóch punktów: - Przed kim chcesz chronić? - Co definiuje „w 100% murowany”? I tak sugeruję zrezygnować z tego ostatniego wymagania. Nadpisywanie własnego pliku wykonywalnego, wypełnianie bazy danych śmieciami? - Po prostu kopiują z kopii zapasowej i są gotowi do ponownego użycia.
Jan Doggen

@gnat Nie ma problemu, podzielę się wynikami badań freemium vs. free trial.
theGreenCabbage

@gnat Dodałem tutaj moje badania.
theGreenCabbage

13
Jedna rzecz, o której nie wspomniano. Jeśli sprzedajesz coś interesującego dla ogółu społeczeństwa (w szczególności gry) (nie ezoteryczne, specjalistyczne oprogramowanie), łatwość zakupu jest KRYTYCZNA . Jest to, według IMHO, jeden z głównych powodów, dla których platformy takie jak Steam (oprogramowanie do gier) odnoszą tak wielki sukces. Powinieneś zaakceptować cholernie blisko każdego możliwego systemu płatności. Jeśli muszę się zarejestrować, poprosić o wycenę lub wypełnić adres, aby podać coś, co nie ma fizycznego elementu, mniej prawdopodobne jest, że będę się tym przejmować. Musisz upewnić się, że zakupy to mniej pracy niż piractwo.
Fałszywe imię

Odpowiedzi:


92

Są tutaj dwa problemy - jeden to problem z programowaniem, a drugi to problem biznesowy. Po drugie, pytanie programistów o analizę biznesową jest tak dobrą radą, jak można uzyskać od lokalnego kierowcy autobusu; co oznacza, że ​​może być dobre lub okropne, ale nie pytasz ekspertów, więc nie przypisuj żadnej z nich żadnej wagi. (Nawiasem mówiąc, jeden z moich kierowców autobusów często daje mi dobre pomysły).

Ale jeśli chodzi o problem z programowaniem, wadą jest to, że wydaje się, że większość ludzi nie lubi pomysłu na początek. Jest wiele dobrych powodów, ale nie są one tak naprawdę ważne. Niestety, jesteśmy też pod pewnymi względami okropną grupą ludzi, o którą należy zapytać, ponieważ z powodu naszej pozycji i wiedzy większość z nas jest naprawdę dobra w pirackim oprogramowaniu do tego stopnia, że ​​naszym zdaniem nie ma sensu w ogóle próbować wdrożyć środków próbnych !

Faktem jest, że Twoim głównym problemem jest analiza biznesowa i problem z eksperymentem sprzedaży, i nie ma żadnej odpowiedzi oprócz poznania klientów i eksperymentów. Nie wygląda na to, że masz już dużą grupę klientów, z którymi możesz porozmawiać o planach sprzedaży produktów i o tym, jak wdrożyć oprogramowanie próbne, aby je ulepszyć, więc musisz zrozumieć, że teraz jesteśmy w stanie dźgać w ciemno ślepo . Pierwszym krokiem do pracy w ciemnym pokoju jest wiedzieć, że jesteś w jednym!

Więc zacznij gdzieś. Cel nie jest właściwą odpowiedzią, ponieważ mogę w 100% zagwarantować tylko jedno - nie zaczniesz od właściwej odpowiedzi. Ale zacznijmy, musimy.

Daj swoim klientom całus

Poza tym „zachowaj prostotę, głupku”. Lub, z metodologii programowania, „wypróbuj najprostszą rzecz, która może działać”. Idź stamtąd.

Tak więc podczas instalacji zdobądź datę. Przechowuj to. Uzyskaj dane dotyczące instalacji i użytkowania oraz ciesz się ciepłem, jakie może przynieść analiza danych. Wyłącz dowolną część oprogramowania, którą chcesz po wygaśnięciu okresu próbnego - sugeruję if (trial_expired()). Następnie dostosuj.

Przede wszystkim uzyskaj dobre dane. Czy spodziewasz się w przyszłości zapewnić aktualizacje oprogramowania? Jeśli więc ktoś spróbuje pokonać wersję 1.0, nie przejmuj się tym.

Najłatwiej jest odinstalować oprogramowanie, a następnie zainstalować ponownie. Nowy okres próbny (ponieważ oprogramowanie usunęło tę starą datę). Czy ci zależy? Jeśli wersja 1.0 zostanie wkrótce zaktualizowana, zdecydowanie sugeruję, aby dowiedzieć się, czy tak się stanie - ale nie próbuj ich zatrzymywać (jeszcze). To jak ludzie, którzy biorą 2 mennice zamiast 1 - to tylko mennica, puść. Zresztą i tak prawdopodobnie nie zamierzają ci za to zapłacić (jeszcze).

W jaki sposób? Cóż, w systemie Windows było to zwykle wykonywane przez wpychanie losowych osieroconych kluczy w rejestrze i dziwne nazwy plików w różnych popularnych katalogach instalacyjnych. Twój instalator wyraźnie udaje, że ich nie ma i po prostu je tam zostaw. Poziom zaawansowania komputera, którego wymaga pokonanie, jest znacznie większy niż odinstalowywanie.

Ale jeśli nie spróbujesz powstrzymać kogoś przed ponowną instalacją, otrzymasz dane, których będziesz potrzebować. Tutaj nie rabują twojego sklepu - dają cenną okazję do zbadania potencjalnego klienta. Użyj go, aby dostosować marketing, monity pomocy oprogramowania, kampanie e-mailowe, „oferty specjalne”. Spróbuję wykryć zdarzenie, a następnie, dzień później, wyślę im klucz, który mogliby wprowadzić do programu, aby przedłużyć okres próbny do następnego miesiąca. Możesz znaleźć metodę, która zamienia ich w płacących klientów, lub nie; nie ma możliwości poznania z wyprzedzeniem!

Wydaje się to trywialne, ale spójrzmy prawdzie w oczy - czy naprawdę potrzebujesz czegoś więcej? Jeśli zbierasz dane, to jest dla Ciebie warte pieniędzy. Prawdopodobnie będziesz chciał poświęcić czas na upewnianie się, że e-maile są dobre, projektowanie wiadomości w oprogramowaniu, które możesz aktualizować, aby kierować nowymi użytkownikami (naprawdę niewidzialne poziomy sprzedaży), przepisywanie aplikacji, rozwiązywanie błędów, które uniemożliwiłyby rozsądnym osobom od zakupu oprogramowania w pierwszej kolejności itp.

Ale kluczem jest to, że komunikujesz się uczciwie i jasno wszystkim potencjalnym klientom - jeśli chcesz, powinieneś nam zapłacić. To, że jesteś (niewidocznie) wspaniałomyślny, nie oznacza, że ​​jest to oprogramowanie freeware - będziesz po prostu mądry i nie będziesz wypierać klientów, ponieważ nie podpisali umowy w ciągu pierwszych dwóch tygodni.

Jeśli pomyślisz o tym, te osoby przychodzą do Twojego sklepu, aby naprawdę sprawdzić Twój produkt. Robią jazdę próbną, ale nic Cię to (prawie) nie kosztuje. Żaden udany sklep nie osiągnął tego celu, eliminując klientów, którzy nie byli jeszcze gotowi na zakupy! Jednak wszyscy wiemy, czy możesz dostać coś za darmo, na zawsze, po co płacić? Więc wykorzystaj to, co najlepsze z obu światów.

Z każdym krokiem będziesz pracować z filtrem, a jeśli twoje oprogramowanie jest dobre, będziesz dokonywał konwersji na każdym kroku. Moja prosta sugestia:

1) 14-dniowy bezpłatny okres próbny

2) Przedłuż bezpłatny okres próbny, bez zadawania pytań

3) Zaoferuj ponowne przedłużenie bezpłatnego okresu próbnego, jeśli byliby tak uprzejmi, aby wypełnić krótki formularz, który przekazuje ci ich opinie na temat twojego oprogramowania do tej pory.

4) Czy jesteś pewien, że osoby, które nadal używają Twojego oprogramowania, nie rozważą jego zakupu? Znajdź sposób, aby ich zachęcić - lub przynajmniej spróbuj wycisnąć z nich więcej informacji na temat tego, co możesz zrobić, aby zachęcić innych do zakupu. Może pozwolą im „poprosić” o rozszerzenie za pomocą formularza, który niezależnie od tego uprzejmie udzieli pracownikowi działu sprzedaży, a następnie skorzystają z informacji, aby sprawdzić, czy mogą poradzić sobie z zastrzeżeniami dotyczącymi zakupu oprogramowania.

Co się stanie, jeśli użytkownik oceni go pod kątem wykorzystania w całym dziale? Jeśli spotkanie budżetowe odbędzie się w przyszłym miesiącu, czy naprawdę chcesz, aby do tego czasu nie mogli korzystać z oprogramowania?

5) Może teraz je odciąłeś ... a może zaprosisz ich na specjalną ofertę tydzień później ze zniżką. Może nie. Może zaoferujesz przedłużenie, aby dać ostateczne przedłużenie.

Ci ludzie nie są ci winni pieniędzy, więc traktuj ich jak potencjalnych przyszłych klientów - a nie złodziei, freeloaderów lub osoby, które muszą zapłacić rachunek lub wyłączyć usługę. Wszyscy nienawidzą kolekcjonerów rachunków, więc nie zachowuj się jak jeden.

Programowo, spójrzmy prawdzie w oczy - to wcale nie jest trudne. Użyj plików osieroconych, aby śledzić daty. Jeśli musisz mieć ważne konto, takie jak iTunes, śledzenie jest znacznie łatwiejsze. Jeśli nie jest to wymagane, ogólnie sugeruję, aby nie wymagać go do pierwszej instalacji - nigdy nie odwracaj ludzi od pierwszej wersji, ponieważ nie chcą wypełniać głupiego formularza. Ludzie nienawidzą form! Nie znają twojego oprogramowania, więc po co „płacić” za wypełnienie formularza, jeśli nawet nie wiedzą, czy aplikacja działa?

W kroku 2 otrzymam rejestrację / e-mail do przedłużenia. Ponownie programowanie jest trywialne.

3) Po 30 dniach prawdopodobnie potrzebowałbym pewnego rodzaju zachowania „przez telefon do domu”. Jeśli ludzie zamierzają to złamać - tak jak to robią - congratu-friggin-lations! Musisz być bardzo popularny. Ale nie martw się, jeśli nie jest to gra wideo, ludzie prawdopodobnie nie przejmują się tym wystarczająco, więc po prostu zmień kod w następnej wersji i spraw, aby wrócili do tablicy kreślarskiej.

TL; DR;

# 1 Nie rozwiązuj problemu, którego tak naprawdę nie masz (jeszcze nie jesteś Adobe - DRM może być prosty i skuteczny, jeśli nie przesadzisz). # 2 Nie pytaj programisty, kiedy musisz zapytać sprzedawcę, analityka biznesowego lub sprzedawcę. # 3 Traktuj swoich klientów jak osoby, które mogą zapewnić ci utrzymanie, a nie jako osoby, które są ci winne pieniądze, a zwłaszcza nie jako złodzieje. # 4 DRM jest naprawdę bardzo prosty. Tylko nie myśl, że powstrzymasz ludzi od korzystania z twojego oprogramowania, którzy prawie na pewno nigdy, nigdy, nigdy nie dadzą ci pieniędzy ... przynajmniej nie dzisiaj.

  • Kupiłem oprogramowanie, które pirowałem, lata później. Nie niepotrzebnie też wkurzaj przyszłych klientów.

3
Dziękuję za odpowiedź. Ta odpowiedź dała mi więcej wglądu niż ta, która była bardziej uprzywilejowana niż twoja, ponieważ stanowiła więcej rozwiązania, niż mówienie „nie jest możliwe, po prostu stwórz dobry produkt”, co, szczerze mówiąc, nie było tym, o co prosiłem.
theGreenCabbage

37
+1 I have bought software I've pirated- więcej razy, niż mogę policzyć.
WernerCD,

1
+1But as for a programming problem, the downside is that it seems most people don't like the idea to start with. There's lots of good reasons for this, but they aren't really important here. Sadly, we are also in some ways a terrible group of people to ask, because by virtue of our position and knowledge most of us are pretty darn good at pirating software to the point that we think it pointless to try to implement trial measures at all!
Chłodziarka do matematyki

2
Tak, +1 do tego końcowego oświadczenia również tutaj. Często piratuję oprogramowanie, aby używać go przez chwilę bez denerwujących wiadomości „kup licencję” lub, co gorsza, wyłączonych funkcji lub blokady próbnej po zbyt krótkim czasie. Po kilku tygodniach lub miesiącach, jeśli mi się spodoba, zawsze będę płacić za licencję z powodu tego dokuczliwego problemu zwanego sumieniem (i lubię też wspierać dobre firmy lub dobrych niezależnych programistów, jak to czasami bywa). A jeśli nie podoba mi się oprogramowanie, przestanę go używać i nikt tak naprawdę nic nie stracił - i tak nigdy nie będę klientem płacącym.
Ben Lee

1
fantastyczna odpowiedź! bardzo ładna perspektywa Chciałbym zobaczyć więcej firm biorących
Bernardo Pires

58

Szukasz czegoś, co jest zasadniczo niemożliwe. Niektóre z największych, najlepiej finansowanych firm w branży oprogramowania spędziły lata i miliony milionów dolarów, szukając sposobu na osiągnięcie tego, co próbujesz zrobić, i to nigdy nie przyniosło pomyślnych rezultatów.

Po pierwsze, możesz zapomnieć o zepsuciu instalacji lokalnej. Tak długo, jak długo istnieje oryginalny instalator (można go wykonać kopię zapasową lub ponownie pobrać), nie jest to niczym więcej niż zwalnianiem prędkości. Nawet umieszczenie czegoś gdzieś w ustawieniach systemu oznacza bardzo niewiele, kiedy użytkownik może zainstalować na maszynie wirtualnej, a następnie wykonać kopię zapasową i przywrócić cały obraz maszyny wirtualnej.

Kolejnym oczywistym krokiem jest uwierzytelnianie online: skonfiguruj serwer i niech program „dzwoni do domu” za każdym razem, gdy zaczyna sprawdzać poświadczenia. To też nie działa. Po pierwsze, napotykasz oczywisty (i bardzo frustrujący) problem fałszywych negatywów, gdy serwer jest wyłączony lub nieosiągalny z jakiegokolwiek powodu lub ma jakieś usterki w oprogramowaniu. I nie można zmusić oprogramowania do automatycznej weryfikacji użytkownika, jeśli nie może on dotrzeć do serwera, lub obejście uwierzytelnienia za pomocą kilku sztuczek sieciowych lub po prostu za pomocą go na komputerze z włączonym Wi-Fi poza. (I oczywiście oznacza to, że osoby próbujące zgodnie z prawem korzystać z tego powodu, nie mając połączenia Wi-Fi, takie jak zabranie laptopa do autobusu, zostaną zablokowane. jak twój program).

Innym problemem związanym z uwierzytelnianiem online jest to, że ostatecznie sprowadza się ono do logicznej wartości gdzieś w kodzie. Gdzieś dzwoni, AuthenticateUser()a jeśli powróci True, użytkownik jest w środku, a jeśli powróci False, zostanie zablokowany. I bez względu na to, co robisz, aby szyfrować, zaciemniać lub ukrywać kod, w końcu sprowadza się to do prostego faktu, że jeśli komputer może go odczytać w pewnym momencie, może to zrobić programista. Ktoś gdzieś stworzy crack, w którym AuthenticateUserzawsze wraca True, i umieści go w sieci.

Podstawowy problem kryptografii można opisać jako „Alicja chce wysłać list do Boba, bez Charliego, który mógłby go przeczytać, nawet gdyby wpadł w jego ręce”. Problem z tym, czego chcesz, polega na tym, że Bob i Charlie są tą samą osobą, co uniemożliwia osiągnięcie celu.

Jeśli chcesz zarabiać na swoim oprogramowaniu, skręcenie ramion użytkowników nie jest odpowiedzią. To, co zadziała, jedyną rzeczą, która stale działa w tych dniach, to podstawowa teoria rynku: zaoferuj produkt, który według niego ma dla niego większą wartość niż cena, o którą prosisz, a on będzie skłonny zapłacić . Wszystko inne będzie stratą czasu i wysiłku z twojej strony.


8
Doskonała odpowiedź i bardzo pouczająca! Chciałbym również powiedzieć, że możesz wydawać regularne aktualizacje (funkcje, a nie tylko „poprawki”), które uwierzytelnią użytkownika, aby je uzyskać. Jeśli utworzysz naprawdę dobre aktualizacje, użytkownicy nie będą kłopotać się zhakowaniem przy wyłączonej okazji, że nie będą mogli uzyskać twoich aktualizacji.
L_7337,

1
+1 za zwięzłość. Powinieneś pogrubić pierwszą linię i umieścić poziome przełamanie pod pierwszym akapitem, ponieważ 95% tego, co należy powiedzieć, istnieje właśnie tam.
Jimmy Hoffa,

2
Kiedy mówisz „udane wyniki”, myślę, że masz na myśli, że nikt nie stworzył wersji próbnej oprogramowania, która zawiera cały kod pełnej wersji, której absolutnie nie można zhakować, aby mogła być używana jako pełna wersja. Co się stanie, jeśli sukces zostanie zdefiniowany jako produkcja oprogramowania testowego, które ogranicza czas korzystania z oprogramowania dla 95% jego użytkowników (tych, którzy robią małe wysiłki lub nie próbują oszukiwać) i daje 5% wskaźnik zakupów? Z pewnością zostało to wcześniej osiągnięte.
pseudokoder

18

Tylko moje 2 ¢.

100% niezawodne samozniszczenie jest niemożliwe. Zawsze będzie wyrafinowany sposób na złamanie ochrony.

Co możesz zrobić, to sprawić, że korzystanie z wygasłego okresu próbnego lub złamanie go sprawi więcej kłopotu niż zakup pełnej wersji na rynek docelowy .

Gdybym był w twoich butach, starałbym się upewnić, że moje oprogramowanie jest: (1) popularne, więc wszyscy zainteresowani przynajmniej go wypróbowali, oraz (2) w rozsądnej cenie, aby ci, którzy chcą zapłacić, mogli go kupić, a ty zysk. Reszta użytkowników może bawić się wygasłymi testami treści swoich serc: i tak by ich nie kupili, ale pomagają zwiększyć popularność i zapewniają więcej potencjalnych pracowników dla firm, które faktycznie kupują twoje oprogramowanie.

Podejrzewam, że rynek docelowy wtyczki Revit składa się z architektów, wykonawców robót budowlanych, projektantów, wszystkich osób obsługujących stosunkowo duże kwoty pieniędzy na kontrakt, bez nadmiaru czasu wolnego lub specjalistycznej wiedzy komputerowej.

Upewnij się więc, że wygasła wersja próbna wystarczająco ich irytuje , nie niszcząc niczego (lub będą cię nienawidzić). Ludzie, którzy potrzebują pracy, w końcu się załapią i zapłacą [rozsądną] cenę.

Kilka pomysłów:

  • Wykonaj wersję próbną szybko (i czysto) odinstaluj się po wygaśnięciu. Ponowna instalacja powinna być możliwa, aby użytkownicy mogli zobaczyć nienaruszoną pracę, a następnie wkrótce następna automatyczna dezinstalacja.
  • Niech wyjście wygasłej wersji zawiera znak lub tekst z informacją „Wykonano w wersji EXPIRED TRIAL [twojego oprogramowania]”. Poważny użytkownik nie pokazałby takiej produkcji klientowi. (A jeśli tak, to i tak jest zbyt tani, aby zapłacić za twoje oprogramowanie).
  • Spraw, aby wygasła wersja próbna wyświetlała w przypadkowych momentach okna komunikatu, ostrzegając o wygaśnięciu wersji próbnej i podając link do pełnej wersji. Takie rzeczy przerywają przepływ pracy na tyle, aby aktualizacja była opłacalna dla poważnego użytkownika.

Można zastosować dowolną kombinację zwykłych sztuczek, aby oznaczyć komputer jako mający wygasłą wersję próbną: tajemnicze klucze rejestru, tajemnicze pliki w losowych lokalizacjach (nie zapomnij przywrócić znacznika czasu, jeśli go zmodyfikujesz), ukrywanie znaczników czasu w niepowiązanych plikach graficznych lub innych formy steganografii itp.

Oczywiście, jeśli użytkownik np. Ponownie zainstaluje system operacyjny, ponownie otrzyma bezpłatny okres próbny. Nieważne: poważny klient raczej się do tego nie ucieszy. Oczywiście ten schemat w końcu zostanie złamany; upewnij się, że do tego czasu Twoje oprogramowanie jest na tyle popularne, że możesz zaoferować aktualizację z atrakcyjnymi funkcjami i innym schematem ochrony.

Jako jeden z przykładów bardzo udanego „narzędzia niewygodnego” wybrałem makiety Balsamiq. Możesz używać ich oprogramowania za darmo (w Internecie), z ograniczonymi funkcjami, w tym zapisywaniem pracy. Dzieło może być „eksportowane” i „importowane” z powrotem z pewnym kłopotem. Oznacza to, że każdy uczeń szkoły średniej, który chce grać z bezpłatną, prawie w pełni funkcjonalną wersją, może to zrobić, a nawet może wykonać trochę pracy. Uczeń i tak go nie kupi. Ale poważny projektant, który ceni sobie czas i wygodę, kupi go.

Jako kolejny bardzo udany przykład, oczywiście wziąłbym MS Windows.


Mam nadzieję, że teraz jest jaśniej. Chodzi o to, by „każdy mógł spróbować i naprawdę zainteresowana zapłata”.
9000

5

Nie jest to trudne. To naprawdę zależy od tego, ile wysiłku chcesz w to włożyć.

Pamiętaj, że celem wersji testowej jest zwiększenie sprzedaży. Wszystkie schematy wersji próbnych oprogramowania instalacyjnego można teoretycznie obejść w jakiś sposób, nawet jeśli wymaga to ogromnego wysiłku, ponieważ kod jest wykonywany lokalnie, a zatem można go edytować za pomocą edytora szesnastkowego. Ta odpowiedź opiera się na założeniu, że oryginalny plakat pyta o praktyczne rozwiązania tego problemu biznesowego, a nie o teoretyczne.

Jak wspomniano w jednym z pozostałych plakatów, chodzi o to, aby wysiłek związany z obejściem schematu wersji próbnej przekraczał koszt pod względem czasu i wysiłku niż koszt zakupu oprogramowania. Dedykowani „piraci” po prostu pobiorą wstępnie pęknięte wersje oprogramowania za pomocą BitTorrenta . Nie martw się o nich, bo i tak nie byliby klientami. Poniższe podejścia są stosowane przez niezliczone firmy produkujące oprogramowanie od dziesięcioleci i dopóki nie okaże się, że takie systemy muszą być teoretycznie idealne, przekonasz się, że działają one całkiem dobrze w prawdziwym świecie.

Na najprostszym poziomie można po prostu zachować „okno” daty początkowej / końcowej godziny w rejestrze (zaszyfrowane). Za każdym razem, gdy program jest uruchamiany, sprawdzasz, czy czas systemowy przypada między tymi dwiema datami, i aktualizujesz składnik „początkowy” tej daty. Zapobiega to zwykłemu użytkownikowi cofnięcia zegara, aby umożliwić dostęp do wersji testowej.

Możesz to rozszerzyć, śledząc to okno czasowe w kilku lokalizacjach (zarówno w rejestrze, jak i w folderze danych aplikacji) i upewniając się, że pasują do siebie przy każdym uruchomieniu. Zapobiega to małpowaniu wpisów - muszą dokładnie wiedzieć, gdzie się znajdują i jak odszyfrować / zaszyfrować dane.

Istnieje również wiele innych sposobów na zaostrzenie sprawy, które z pewnością napotkasz, gdy zaczniesz rozwijać funkcjonalność próbną.

Jeśli nie chcesz tego wszystkiego robić samodzielnie, istnieje wiele bibliotek innych firm, które zapewniają taką funkcjonalność.

Uwaga dotycząca faktycznego usuwania plików: jeśli aplikacja próbuje usunąć pliki, oprogramowanie antywirusowe użytkownika może zostać oznaczone jako złośliwe oprogramowanie. Oprogramowanie antywirusowe jest obecnie bardzo agresywne. I wielu użytkowników końcowych będzie przekonanych, że w twoim oprogramowaniu jest wirus, jeśli ich program antywirusowy wyświetli alert.


Ciekawe, dlaczego miałoby to być negatywne, ponieważ od wielu lat z powodzeniem stosuję tę technikę w oprogramowaniu komercyjnym.
GrandmasterB

Dlaczego ta odpowiedź została odrzucona? Chciałbym zobaczyć uzasadnienie.
theGreenCabbage

Czy możesz mi powiedzieć więcej o tym, jak to zaimplementowałeś i jak dobrze to działało? Co zrobiłeś, gdy został naruszony warunek zmiany daty? Czy „wyłącza” lub „zabija” funkcje / samą aplikację?
theGreenCabbage

2
Zostałoby to pokonane przez zainstalowanie programu na nowej maszynie / maszynie wirtualnej po wygaśnięciu oryginału.
Dan Lyons,

7
Głosowałem za tym z uzasadnienia faktycznego, ponieważ twierdziłeś, że coś niemożliwego jest w rzeczywistości „trudne”.
Mason Wheeler,

1

Zależy to od tego, jak trudno jest potencjalnym klientom ominąć te funkcje samozabezpieczające (brzmi lepiej niż „samozniszczenie”). Zakładając, że potencjalni klienci nie będą próbowali manipulować samym kodem programu (co niektórzy z nich spróbują, zaufaj mi), masz następujące opcje:

  • przechowuj początkową datę w dowolnym miejscu (ukrytym) na komputerze, na którym zainstalowane jest twoje oprogramowanie: ma to tę wadę, że klienci mogą z łatwością je obejść, na przykład instalując program na maszynie wirtualnej i odinstalowując go po okresie próbnym przez resetowanie maszyny wirtualnej do pierwotnego stanu

  • upewnij się, że każda pobrana kopia Twojego programu ma osobny, zakodowany na stałe czas pobierania gdzieś ukryty w kodzie binarnym programów. Będzie to wymagało od Ciebie znacznie więcej wysiłku administracyjnego i nadal nie możesz być pewien, że ta sama osoba nie pobierze nowej kopii programu z twojego serwera po okresie próbnym (być może, używając innej tożsamości)

  • dostarczać wersję próbną tylko z „kluczem sprzętowym”, w którym przechowywany jest koniec okresu próbnego. Będzie to możliwe tylko w przypadku programów z garstką potencjalnych klientów i ceną znacznie wyższą niż cena klucza sprzętowego.

  • stwórz aplikację internetową lub jej część, lub po prostu aplikację podłączoną do sieci. W takim przypadku możesz zapisać datę początkową na swoim serwerze, ale będziesz musiał zidentyfikować i odróżnić osoby korzystające z Twojego oprogramowania (na przykład poprzez ustawienie plików cookie lub utworzenie loginu). Ale znowu nie możesz być w 100% pewien, że ludzie nie zmienią swojej tożsamości.


„jesteś pieprzony”, „jesteś pieprzony” i „Jesteś bardzo pieprzony”? Nie sądzę, że daje to jakiekolwiek realne rozwiązanie. Dlaczego nie model DRM, w którym musisz się zalogować, aby korzystać z programu, a data jest przechowywana po stronie serwera?
Elias,

2
@Elias Oprogramowanie, które tworzę, jest wszechstronną wtyczką do analizy materiałów dla programu Revit, która wkrótce zostanie wdrożona wraz z własnym sklepem z aplikacjami Autodesk. Obecnie nie jestem pewien, jakie dane telemetryczne, kontrolne lub informacje o użytkownikach zostaną nam przekazane przez sklep z aplikacjami Autodesk, więc mając uwierzytelnianie sieciowe podczas instalacji / użytkowania, nie sądzę, aby można je było wdrożyć.
theGreenCabbage

1
@Elias: dziękuję za podpowiedź, ale „logowanie” na serwerze oznacza sprawdzanie tożsamości, a tożsamości można zmieniać.
Doc Brown,

@DocBrown można je zmienić w niektórych sytuacjach, ale zakładam, że w sklepie aplikacji Revit \ Autodesk istnieje unikalny login dla każdego klienta tego produktu. Chociaż na podstawie komentarza theGreenCabbage bardzo możliwe jest, że te dane w ogóle nie są osiągalne, co powoduje, że mój oryginalny komentarz jest fałszywy.
Elias,

0

Cokolwiek zrobisz, upewnij się, że dokładnie sprawdziłeś, co dzieje się po upływie daty ważności. Kiedyś pracowałem dla firmy, która dystrybuowała oprogramowanie według schematu próbnego podobnego do tego, który opisujesz. Różnica polegała na tym, że wygaśnięcie było ustaloną datą w przyszłości.

Zrezygnowaliśmy z programu natychmiast po otrzymaniu wielu telefonów od wściekłych klientów, gdy ich legalnie zakupione wersje również przestały działać w tym dniu.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.