Як я можу реалізувати функцію «самознищення» у безкоштовній пробній версії свого програмного забезпечення?


52

Існує постійний аргумент безкоштовної пробної версії проти моделі freemium (тобто безкоштовної версії їх програмного забезпечення з обмеженими та / або позбавленими функцій), що дозволяє потенційним клієнтам та користувачам тестувати запуск свого продукту. Під час мого дослідження я можу зробити висновок, що безкоштовна пробна версія - це спосіб продовжувати як на користь користувацькому досвіду користувача, який користується програмним забезпеченням, так і на користь постачальника як в аспекті продажів, так і в максимальному використанні. Для безкоштовного пробного програмного забезпечення існує багато факторів, які можуть значно збільшити використання користувачів, наприклад, тривалість безкоштовної пробної версії.

Одне ключове слово, яке повторюється в моєму дослідженні щодо "фремію", - це "розчарування". Багато людей вирішили видалити програмне забезпечення замість того, щоб використовувати частину програмного забезпечення там, де деякі функції були недоступні для них. У той же час у цих користувачів ніколи не було можливості користуватися "платними" функціями. Невідомий їм і прихований самими власними постачальниками, які продають програмне забезпечення, вони не знають і не можуть знати, які переваги принесуть функції Pro. Перш ніж користуватися ними, користувач не буде знати, що у них є відчуття необхідності чогось. Що підводить мене до мого наступного пункту безкоштовної пробної моделі.

Деякі думки користувача безкоштовної пробної версії: "Я не уявляю, як використовувати це програмне забезпечення без функцій Pro". Це повертається до того, що "користувач не знає, що їм щось потрібно, поки вперше зрозуміє почуття". Ті, хто мав 14 днів користуватися функціями "повної" версії, сказали, що не уявляють, що не мають або не користуються функціями, наданими там. Тож, коли чотирнадцять днів закінчилося, вони швидше роздавали гроші, ніж комусь, хто ніколи не відчував усіх можливостей. Тривалість безкоштовної пробної версії також є важливим фактором створення тривалого враження на користувачів. В експерименті, проведеному візуальним оптимізатором веб-сайтів, вони помітили, що за 14-денну безкоштовну пробну версію та 30-денну безкоштовну пробну версію, тоді як кількість підписок та встановлень була однаковою, використання для 14-денного випробування зросло на 102%.

Ще один дуже важливий момент, який слід зазначити, є те, що "пропонування корисної та повністю функціональної безкоштовної версії продукту" ДУЖЕ ВАЖЛИВО. Повністю функціональні безкоштовні випробування є ефективними для отримання висвітлення в засобах масової інформації, і ця публікація для нових постачальників програмного забезпечення та / або постачальників програмного забезпечення є досить важливою.

Ще один важливий аспект - це важливість для користувачів отримувати відгуки. Розглянемо, що у повністю функціональній безкоштовній пробній версії часу користувачі можуть надавати відгуки.

Ще одна особливість, важлива для нашого програмного забезпечення, - це потреба у телеметричних даних, тобто кількісних та всебічних даних про те, як користувач використовує наше програмне забезпечення. Деякі статистичні дані щодо використання можуть потрапляти в законну сіру зону, оскільки закони відрізняються залежно від місцезнаходження в США та світі. Одним із способів боротьби з цим правовим питанням є можливість відключення для збору анонімної статистики використання. Функція відключення означатиме надання користувачеві можливості вимкнути збір статистики, і в той же час користувач повинен дуже добре знати, що робить збір анонімної інформації про використання. Важливо зробити ЯСНІШИМ для користувача, які дані будуть збиратися, що "ми" будемо робити з цим, і полегшити їх вимкнення в будь-який час, в тому числі дозволяючи їм передумати для його включення чи вимкнення. Більш детальна статистика, як відстеження окремих дій користувачів, може призвести до юридичних проблем. IDE Eclipse записує детальну статистику використання, але це робить за повною згодою користувача. Можливо, нам доведеться підготувати форму згоди з нашою юридичною командою.

Колекція інформації про використання Eclipse збирає цю інформацію: 1. Плагіни, запущені системою. 2. Команди, доступ до яких здійснюється за допомогою комбінацій клавіш та дій, викликаних через меню або панелі інструментів. 3. Коли "виду" редактора надається фокус. 4. Інформація про систему, як версія використовуваного програмного забезпечення, що використовується операційна система. 5. Опис внутрішніх помилок.

Kill Switch

Перемикачем на знищення для нашого програмного забезпечення можна керувати, записуючи початкові дані, шифруючи їх сіллю, і коли б це недійсна дата, тобто користувач намагався її змінити, це відключатиме програмне забезпечення. Інший варіант - встановити автентифікацію в Інтернеті під час встановлення, увійти в цю дату в центральній веб-базі даних і перевіряти дату щоразу, коли програма відкривається.

Якщо вимкнути програмне забезпечення, ми можемо видалити життєво важливі DLL-файли. Неможливо розглянути можливість сплати за створення звіту.


Мені цікаво впроваджувати безкоштовну пробну версію до свого наявного програмного забезпечення. Я планую провести випробування останні 14 днів. На 14-й день моє програмне забезпечення запропонує користувачеві або платити за платну версію, або матиме наслідком того, що вона не зможе нею користуватися. Безкоштовна пробна версія повністю розблокована, тобто всі платні функції є там.

Однак моя дилема полягає у тому, як "найкращий" спосіб реалізувати, що потрібно зробити для завершення судового рішення. Чи потрібно видаляти життєво важливі DLL-файли? Чи встановлена ​​система автентифікації користувача після встановлення чи використання? Зашифруйте початковий час та дату використання сіллю, і якщо це недійсна дата (AKA вони намагаються змінити початкову дату), відключити програмне забезпечення?

Мені цікаво знати, які існують ефективні заходи вимкнення програмного забезпечення.


9
Обмін дослідженнями допомагає всім. Розкажіть, що ви пробували і чому це не відповідало вашим потребам. Це свідчить про те, що ви знайшли час, щоб спробувати допомогти собі, це позбавляє нас від повторення очевидних відповідей, а найбільше це допомагає вам отримати більш конкретну та релевантну відповідь. Також дивіться Як просити
gnat

2
Ви не змогли визначити два моменти: - Кого ви хочете захистити? - Що визначає "100% цегляний"? Я пропоную вам покинути цю останню вимогу. Переписати власний виконуваний файл, заповнити базу даних сміттям? - Вони просто копіюють із резервної копії та готові йти знову.
Ян Догген

@gnat Немає проблем, я поділюсь фремієм та безкоштовними пробними дослідженнями.
theGreenCabbage

@gnat Я тут додав свої дослідження.
theGreenCabbage

13
Одне, що не було згадано. Якщо ви продаєте щось цікаве для широкої публіки (зокрема ігри) (не езотеричне, спеціальне програмне забезпечення), простота придбання є критичною . Це, IMHO, одна з головних причин таких платформ, як Steam (ігрове програмне забезпечення), настільки успішна. Ви повинні прийняти чорт біля кожної можливої ​​платіжної системи. Якщо мені доведеться зареєструватися, попросити пропозицію або заповнити свою адресу для чогось, що не має фізичної складової, я менше шануюся. Ви повинні переконатися, що придбання менше роботи, ніж піратство.
Підроблена назва

Відповіді:


92

Тут є два питання - одне - це проблема програмування, а одне - це бізнес. По-друге, запитувати програмістів про бізнес-аналіз - це настільки ж хороша порада, яку ви можете отримати від свого місцевого водія автобуса; це означає, що це може бути добре чи страшно, але ви не просите експертів, тому не привласнюйте жодної властивості. (На відміну від цього, один з моїх водіїв автобусів часто дає мені хороші ідеї.)

Але що стосується проблеми програмування, то недоліком є ​​те, що, здається, більшості людей не подобається ідея починати. Для цього є багато вагомих причин, але вони не дуже важливі. На жаль, ми також певною мірою є жахливою групою людей, яку потрібно запитати, тому що в силу нашої позиції та знань більшість із нас гарно сприймає піратське програмне забезпечення до того, що ми вважаємо безглуздим намагатися взагалі проводити судові заходи. !

Справа в тому, що вашою основною проблемою є проблема бізнес-аналізу та експерименту з продажу, і немає відповіді, крім збереження знайомств із клієнтами та експериментів. Це не здається, що у вас вже є великий набір клієнтів, з якими можна поговорити про конвеєр продажів продуктів та про те, як ви можете впровадити пробне програмне забезпечення для його вдосконалення, тому треба розуміти, що зараз ми в змозі сліпо колоти в темряві. . Перший крок до роботи в темній кімнаті - це знати, що ти в одному!

Отже, почніть десь. Мета - не правильна відповідь, тому що я можу лише на 100% гарантувати одне - ви не будете починати з правильної відповіді. Але починати треба.

Дайте своїм клієнтам KISS

Крім того, "тримайте це просто, дурно". Або, з методології програмування, "спробуйте найпростішу річ, яка могла б працювати". Тоді йдіть звідти.

Отже, при установці отримайте дату. Зберігайте його. Отримайте свої дані про встановлення та використання, а також отримайте задоволення від тепла, який може принести аналіз даних. Вимкніть будь-яку частину програмного забезпечення, яке ви хочете, коли термін пробного періоду закінчується - я пропоную if (trial_expired()). Потім відрегулюйте.

Перш за все, отримайте хороші дані. Чи очікуєте надалі надавати оновлення для свого програмного забезпечення? Тоді якщо хтось намагається перемогти v1.0, не хвилюйтеся з цього приводу.

Найпростіше - видалити програмне забезпечення, а потім перевстановити його. Новий пробний період (оскільки ваше програмне забезпечення видалило цю дату). Вам все одно? Якщо скоро буде оновлено v1.0, я настійно рекомендую вам знайти спосіб дізнатися, чи це станеться - але не намагайтеся їх зупинити (поки). Це як у людей, які беруть 2 монетних коробки замість 1 - це просто м’ята, відпусти. Вони, мабуть, все одно не збиралися платити вам за це.

Як? Ну, в Windows це зазвичай робилося за допомогою натискання випадкових осиротілих ключів у реєстрі та дивно названих файлів у різних загальних каталогах встановлення. Ваш інсталятор явно зробить вигляд, що їх немає, і просто залишить їх там. Рівень комп'ютерної витонченості, який потрібно вимагати для перемоги, набагато більше, ніж видалення.

Але якщо ви не намагаєтесь перешкодити комусь перевстановлюватися, то ви отримуєте потрібні вам дані. Вони не грабують ваш магазин, тут - вони дають вам цінну можливість вивчити потенційного клієнта. Використовуйте його для адаптації вашого маркетингу, програмних підказок програмного забезпечення, електронних кампаній, спеціальних пропозицій. Я б спробував виявити подію, а потім, через день, надіслав їм ключ, який вони могли б увійти в програму, щоб продовжити пробний процес до наступного місяця. Ви можете знайти метод, який перетворює їх на платників, чи ні; ніякого способу знати достроково!

Це здається тривіальним, але давайте зіткнутися з цим - чи вам справді щось більше потрібно? Якщо ви збираєте дані, то це коштує вам грошей. Ви, ймовірно, захочете витратити час на те, щоб переконатися, що повідомлення електронної пошти хороше, на розробку повідомлень програмного забезпечення, які ви можете оновити, щоб керувати новими користувачами (насправді невидимими місцями продажу), переписувати розмиття додатка, вибивати помилки, які б запобігли будь-якій здоровій людині від покупки свого програмного забезпечення в першу чергу тощо.

Але головне тут - ви чесно та чітко повідомляєте всіх потенційних клієнтів - якщо ви цього хочете, ви повинні нам заплатити. Тільки тому, що ви (невидимо) великодушні не означає, що це безкоштовно - ви просто будете до цього розумними і не відганяєте клієнтів, оскільки вони не підписали угоду протягом перших двох тижнів.

Якщо ви задумаєтесь, ці люди заходять до вашого магазину, щоб справді переглянути ваш товар. Вони беруть тест-драйв, але це коштує вам (майже) нічого. Жоден успішний магазин не вийшов таким чином, вигнавши клієнтів, які ще не були готові купувати! Все ж ми всі знаємо, якщо ти можеш щось назавжди отримати безкоштовно, навіщо платити? Тому використовуйте найкращі з обох світів.

З кожним кроком ви будете працювати фільтр, і якщо ваше програмне забезпечення добре, ви будете робити перетворення з кожним кроком. Моя проста пропозиція:

1) 14-денна безкоштовна пробна версія

2) Продовжте безкоштовну пробну версію, без запитань

3) Пропонуйте знову продовжити безкоштовну пробну версію, якщо вони будуть настільки люб'язні, щоб заповнити коротку форму, яка повідомляє вам свої думки щодо вашого програмного забезпечення досі.

4) Ви впевнені, що ці люди, які все ще фактично користуються вашим програмним забезпеченням, не захочуть купувати його? Знайдіть спосіб заманювати їх - або, принаймні, спробуйте видавити з них більше інформації про те, що ви могли зробити, щоб інші могли купити. Можливо, дозвольте їм "подати запит" на розширення через форму, яку ваш торговий персонал люб'язно надасть незалежно, а потім скористайтеся інформацією, щоб перевірити, чи можуть вони впоратися з будь-якими запереченнями щодо їх придбання.

Що робити, якщо цей користувач оцінює його для використання у своєму цілому відділі? Якщо зустріч бюджету відбудеться в наступному місяці, чи дійсно ви хочете, щоб вони до цього часу не могли використовувати програмне забезпечення?

5) Можливо, ви відрізаєте їх зараз ... а може, запросите їх на спеціальну пропозицію через тиждень зі знижкою. Можливо, не. Можливо, ви пропонуєте продовжити, щоб дати остаточне продовження.

Ці люди не зобов’язані вам грошей, тому ставитесь до них як до потенційних майбутніх клієнтів - не до злодіїв, вантажників або до людей, яким потрібно оплатити рахунок або вимкнути їхню послугу. Усі ненавидять колекціонерів рахунків, тому не діліться як один.

Програмно, визнаймося - це насправді не важко. Використовуйте осиротілі файли, щоб слідкувати за датами. Якщо у вас є дійсний обліковий запис, наприклад, через iTunes, це відстеження простіше. Якщо вона не потрібна, я б, як правило, пропонував би вам не вимагати її для першого встановлення - ніколи не відвертайте людей від першої версії, тому що вони не хочуть заповнювати дурну форму. Люди ненавидять форми! І вони не знають вашого програмного забезпечення, тож навіщо "платити", щоб заповнити форму, якщо вони навіть не знають, чи працює ваш додаток?

На кроці 2 я отримаю реєстрацію / електронну пошту для продовження. Знову ж таки, програмування це тривіально.

3) Через 30 днів мені, певно, потрібна якась поведінка вдома. Якщо люди збираються зламати це - як вони - поздоровлення-фриггіни! Ви, мабуть, стаєте досить популярними. Але не хвилюйтеся, якщо це не відеоігри, люди, мабуть, не надто турбуються, тому просто змініть свій код у наступній версії і змусьте їх повернутися до дошки для малювання.

TL; DR;

# 1 Не вирішуйте проблеми, якої у вас насправді немає (ви ще не Adobe, але DRM може бути простим і ефективним, якщо ви не надмірно думаєте). № 2 Не запитуйте програміста, коли вам потрібно запитати маркетолога, бізнес-аналітика чи продавця. # 3 Ставтеся до своїх клієнтів як до людей, які можуть заробляти на життя, а не як до людей, які заборгували вам гроші, а особливо не як до злодіїв. # 4 DRM - це дійсно, дійсно, просто. Тільки не думайте, що ви збираєтесь зупинити людей на використанні вашого програмного забезпечення, які майже напевно ніколи і ніколи не дадуть вам грошей ... принаймні, не сьогодні.

  • Я купив піратське програмне забезпечення, через роки. Тож не треба пісати майбутніх клієнтів також.

3
Дякую за відповідь. Ця відповідь дала мені більше розуміння, ніж те, на яке було звернено більше уваги, ніж ваше, тому що воно дало більше рішення, а не сказало мені "це неможливо, просто створіть хороший продукт", що, чесно кажучи, не те, про що я питав.
theGreenCabbage

37
+1 I have bought software I've pirated- більше разів, ніж я можу порахувати.
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!
Math chiller

2
Так, +1 до цієї остаточної заяви і тут. Я часто піратське програмне забезпечення просто для того, щоб використовувати його деякий час, не маючи набридлих повідомлень "будь ласка, придбайте ліцензію", або ще гірше, вимкнено функції або пробне блокування після занадто короткого періоду. Через кілька тижнів чи місяців, якщо мені це подобається, я завжди буду платити за ліцензію через тугу річ, яку називають совістю (і мені також подобається підтримувати хороші компанії або хороших розробників інді, як це буває). І якщо мені не подобається програмне забезпечення, я перестаю його використовувати, і ніхто насправді нічого не втратив - я все одно не буду колись платником.
Бен Лі

1
фантастична відповідь! дуже приємна перспектива, я хотів би побачити більше компаній, які беруть участь
Бернардо Пірес

58

Ви шукаєте щось, що по суті неможливо. Деякі з найбільших, найкраще фінансуваних компаній у галузі програмного забезпечення витратили роки та мільйони мільйони доларів, шукаючи спосіб досягти того, що ви намагаєтеся зробити, і це ніколи не дало успішних результатів.

По-перше, ви можете забути все про викручування локальної установки. Поки оригінальний інсталятор все ще існує (або його можна створити резервну копію або повторно завантажити), це не що інше, як швидкість. Навіть розміщення чогось десь у налаштуваннях системи означає дуже мало, коли користувач може встановити VM, а потім створити резервну копію та відновити все зображення VM.

Наступний очевидний крок - аутентифікація в Інтернеті: налаштуйте сервер і запросіть програму "зателефонувати додому" щоразу, коли вона розпочнеться перевірка облікових даних. Це також не працює. По-перше, ви стикаєтесь з очевидною (і дуже засмучуючою) проблемою помилкових негативів, коли сервер з будь-якої причини відсутній або недоступний або має деякі проблеми в своєму програмному забезпеченні. І ви не можете змусити програмне забезпечення просто перевіряти користувача автоматично, якщо він не може дістатися до сервера, або тривіально обійти аутентифікацію кількома хитрощами, або просто скориставшись ним на машині з включеним wi-fi вимкнено. (І звичайно, це означає, що люди, які намагаються законно використовувати його з поважною причиною відсутності Wi-Fi зв'язку, наприклад, привезти свій ноутбук разом із собою в автобусі, будуть заблоковані. Це нікого не зробить як ваша програма.)

Інша проблема з аутентифікацією в Інтернеті полягає в тому, що врешті-решт вона зводиться до булевої інформації десь у вашому коді. Десь він дзвонить AuthenticateUser()і якщо він повертається True, користувач перебуває, а якщо він повертається False, вони заблоковані. І незалежно від того, що ви робите для шифрування, приховування або приховування коду, врешті-решт це зводиться до простого факту, що якщо комп'ютер може його прочитати в якийсь момент, то може програміст. Хтось десь збирається створити тріщину, куди AuthenticateUserзавжди повертається True, і вони поставлять її в Мережі.

Фундаментальну проблему криптографії можна охарактеризувати як "Аліса хоче надіслати листа Бобу, не маючи змоги Чарлі прочитати його, навіть якщо він потрапить до нього до рук". Проблема того, що ви хочете, полягає в тому, що Боб і Чарлі - одна і та ж людина, що робить вашу мету неможливою.

Якщо ви хочете заробляти гроші на своєму програмному забезпеченні, скручування рук користувачів - це не відповідь. Що буде працювати, єдине , що постійно працює в наші дні, - це основна теорія ринку: запропонуйте продукт, який користувач сприймає як той, який має для нього більшу цінність, ніж ціна, про яку ви просите, і він буде готовий платити . Все інше буде просто марною тратою часу і сил з вашого боку.


8
Відмінна відповідь і дуже інформативна! Хочеться також сказати, ви можете випускати регулярні оновлення (функції, а не лише "виправлення"), які змушують користувача перевірити автентифікацію для їх отримання. Якщо ви створюєте дійсно хороші оновлення, користувачі не будуть заважати хакерству виключати шанс, що вони не зможуть отримати ваші оновлення.
L_7337

1
+1 за стислість. Перший рядок слід виділити жирним шрифтом і під перший абзац поставити горизонтальну перерву, оскільки 95% того, що потрібно сказати, існує саме там.
Джиммі Хоффа

2
Коли ви говорите "успішні результати", я вважаю, ви маєте на увазі, що ніхто не створив програмне забезпечення пробної версії, яке містить весь код для повної версії, який абсолютно не може бути зламаний, щоб використовуватись як повна версія. Що робити, якщо успіх буде визначений як виробництво пробного програмного забезпечення, яке обмежує використання програмного забезпечення для 95% його користувачів (тих, які роблять літт або не докладають зусиль для обману) і призводить до 5% -ного курсу покупки? Звичайно, що було досягнуто раніше.
псевдокодер

18

Тільки мої 2 ¢.

100% надійне самознищення неможливо. Завжди знайдеться складний спосіб зламати захист.

Що ви можете зробити, це зробити використання або розтріскування пробного терміну з минулим терміном більше клопоту, ніж купувати повну версію для вашого цільового ринку .

Якби я був у вашому взутті, я б спробував переконатися, що моє програмне забезпечення: (1) популярне, тому всі зацікавлені принаймні спробували його, і (2) за розумними цінами, тож охочі платити можуть придбати його, а ви звертаєтесь прибуток. Інші користувачі можуть грати з випробуваними термінами з минулим терміном до вмісту їхнього серця: вони все одно не купують його, але вони допомагають популярності та надають більше потенційних найм для компаній, які фактично купують ваше програмне забезпечення.

Я припускаю, що цільовий ринок плагіну Revit складається з архітекторів, будівельних підрядників, дизайнерів, усіх людей, що обробляють відносно великі гроші за контракт, і не мають зайвого вільного часу або низького рівня комп’ютерних знань.

Тож переконайтеся, що пробна версія, яка закінчилася, досить дратує їх, фактично нічого не порушуючи (або вони вас ненавиджу). Люди, які потребують виконаної роботи, врешті-решт приїжджають і платять [розумну] ціну.

Кілька ідей:

  • Зробіть пробну версію швидко (і чисто), видаліть її після закінчення терміну дії. Повторна інсталяція повинна бути можливою, щоб користувачі бачили свою роботу неушкодженою, після чого невдовзі відбулася інша автоматична видалення.
  • Нехай у випуску простроченої версії міститься позначка або текст із написом "Зроблено з ДОСЛІДЖЕНОЮ ТРІАЛЬНОЇ версією [вашого програмного забезпечення]". Серйозний користувач не показав би такий вихід клієнту. (І якщо він, знову ж таки, він занадто дешевий, щоб платити за ваше програмне забезпечення все одно).
  • Створіть пробну версію із закінченим терміном дії, показуйте вікна повідомлень у випадкові моменти, попереджаючи про те, що термін дії терміну дії закінчився, і посилання на повну версію. Такі речі досить порушують потік роботи, щоб зробити оновлення вартим для серйозного користувача.

Будь-яка комбінація звичайних хитрощів може бути застосована для позначення комп'ютера як пробного періоду, який закінчився: криптичні ключі реєстру, криптовалютні файли у випадкових місцях (не забудьте відновити часову позначку, якщо ви їх змінили), приховуючи часові позначки у непов'язаних графічних файлах чи інших форми стеганографії тощо.

Звичайно, якщо користувач, наприклад, перевстановить ОС, він знову отримає безкоштовний пробний період. Не забувайте: серйозний клієнт навряд чи вдасться до цього. Звичайно, ця схема врешті-решт буде зламана; будьте впевнені, що до цього часу ваше програмне забезпечення є досить популярним, що ви можете запропонувати оновлення із переконливими функціями та іншою схемою захисту.

Як один із прикладів дуже успішного "незручності" я б обрав макет Balsamiq. Ви можете використовувати їх програмне забезпечення безкоштовно (в Інтернеті) з обмеженими можливостями, зокрема збереженням вашої роботи. Роботу можна «експортувати» та «імпортувати» назад з деякими клопотами. Тобто будь-який гімназист, який хоче пограти з безкоштовною майже повністю функціональною версією, може це зробити і навіть може виконати певну роботу. Студент цього не купить. Але серйозний дизайнер, який цінує свій час та зручність, купить його.

Як ще один дуже вдалий приклад я, звичайно, взяв MS Windows.


Я сподіваюся, що зараз зрозуміліше. Ідея: «нехай всі спробують, і справді зацікавлені платять».
9000

5

Це не важко зробити. Це дійсно залежить від того, скільки зусиль ви хочете докласти до цього.

Пам'ятайте, мета пробної версії - збільшити продажі. Всі схеми пробної версії встановленого програмного забезпечення теоретично можна обійти деякими способами, навіть якщо це передбачає величезні зусилля, оскільки код виконується локально і таким чином може бути відредагований шестигранним редактором. Ця відповідь працює з припущення, що оригінальний плакат задає практичні рішення цієї бізнес-проблеми, а не теоретики.

Як говорилося в одному з інших плакатів, справа полягає в тому, щоб зусилля, спрямовані на подолання схеми пробної версії, перевищували витрати в часі та зусиллях, ніж витрати на придбання програмного забезпечення. Виділені «пірати» просто завантажують попередньо розтріскані версії програмного забезпечення за допомогою BitTorrent . Не хвилюйтеся за них, оскільки вони все одно не будуть клієнтами. Підходи, представлені нижче, використовуються незліченними компаніями програмного забезпечення протягом десятиліть, і поки вас не покалічить думка про те, що такі системи повинні бути теоретично досконалими, ви виявите, що вони працюють досить добре в реальному світі.

На найпростішому рівні ви можете просто зберегти дату початку / кінець дати "вікна" в реєстрі (зашифровано). Кожен раз, коли програма запускається, ви перевіряєте, чи є системний час між цими двома датами, і оновлюєте компонент 'start' цієї дати. Це не дозволяє випадковому користувачеві просто встановити годинник назад, щоб дозволити доступ до пробної версії.

Ви можете продовжити це, відслідковуючи це часове вікно в декількох місцях (і в реєстрі, і в папці даних програми), і переконуючись, що вони відповідають кожному запуску. Це заважає людям маніпулювати навколо записів - вони повинні точно знати, де вони знаходяться, і як розшифрувати / зашифрувати дані.

Існує ще ряд інших способів усунення речей, які, я впевнений, ви зіткнетеся, коли ви починаєте розробляти пробну функціональність.

Якщо ви не хочете все це робити самостійно, існує досить багато сторонніх бібліотек, які надають такий функціонал.

Примітка щодо фактичного видалення файлів. Якщо програма намагається видалити файли, антивірусне програмне забезпечення користувача може позначатись як зловмисне програмне забезпечення. Антивірусне програмне забезпечення в наші дні дуже агресивне. І багато кінцевих користувачів будуть впевнені, що у вашому програмному забезпеченні є вірус, якщо їх антивірусна програма вискочить попередження.


Цікаво, чому це призведе до ослаблення, оскільки я багато років успішно використовував цю техніку в комерційному програмному забезпеченні.
GrandmasterB

Чому ця відповідь була спростована? Я хотів би бачити міркування.
theGreenCabbage

Чи можете ви розповісти більше про те, як ви це реалізували та як добре це працювало? Що ви робили, коли порушена умова змінити дату? Чи "відключити" чи "вбити" функції / сам theApp?
theGreenCabbage

2
Це може бути переможене просто встановленням програми на новій машині / VM, коли термін дії оригіналу закінчується.
Dan Lyons

7
Я виступав з приводу фактичної точності, тому що ви заявляли, що щось неможливе насправді "не важко зробити".
Мейсон Уілер

1

Це залежить від того, наскільки важко ви хочете зробити так, щоб ваші потенційні клієнти могли обійти ці функції, які самозаключаються (звучить краще, ніж "самознищуватись"). Припускаючи, що ваші потенційні клієнти не будуть намагатися маніпулювати самим програмним кодом (що деякі з них спробують, повірте мені), у вас є такі варіанти:

  • зберігайте початковий час дати десь (приховано) на комп’ютері, на якому встановлено ваше програмне забезпечення: це недолік, який ваші клієнти можуть легко обійти, наприклад, встановивши вашу програму у віртуальній машині та видаливши її після пробного періоду, повернення VM до початкового стану

  • переконайтеся, що у кожної завантаженої копії вашої програми є окремий жорстко закодований час завантаження десь прихований у програмах двійковий код. Для цього знадобиться набагато більше адміністративних зусиль, і ви все одно не можете бути впевнені, що ця сама особа не завантажить нову копію програми з вашого сервера після пробного періоду (можливо, використовуючи іншу особу)

  • доставляти пробну версію лише "ключ", де зберігається кінець пробного періоду. Це буде можливо лише для програм із жменькою потенційних клієнтів та ціною, значно вищою за ціну ключа.

  • зробіть річ веб-програмою або її частинами або просто веб-додатком. У цьому випадку ви можете зберігати початкову дату на вашому сервері, але вам доведеться визначити та розрізнити людей, які використовують ваше програмне забезпечення (наприклад, встановивши файли cookie або створивши вхід). Але знову ж таки, ви не можете бути на 100% впевнені, що люди не змінять свою особу.


"ти накручений", "ти накручений" і "ти дуже накручений"? Я не відчуваю, що це дає реальне рішення. Чому б не модель DRM-ish, де вам потрібно увійти для використання програми, а дата зберігається на стороні сервера?
Ілля

2
@Elias Програмне забезпечення, яке я створюю, - це комплексний плагін для аналізу матеріалів для Revit, який незабаром буде впроваджений разом із власним магазином додатків Autodesk. На даний момент я не впевнений, який тип телеметрії, управління або інформація про користувачів буде наданий нам магазином додатків Autodesk, тому, маючи веб-автентифікацію під час встановлення / використання, я не думаю, що це можливо реалізувати.
theGreenCabbage

1
@Elias: дякую за підказку, але "вхід у систему" на сервері означає перевірку ідентичності, і особи можна змінити.
Док Браун

@DocBrown, вони можуть бути змінені в певних ситуаціях, але я припускаю, що в магазині додатків Revit \ Autodesk існує унікальний логін для клієнта цього продукту. Хоча, виходячи з коментаря theGreenCabbage, цілком можливо, що ці дані зовсім недоступні, що робить мої оригінальні коментарі неправдивими.
Еліас

0

Що б ви не робили, переконайтесь, що ви перевірите те, що відбувається після закінчення терміну придатності дуже ретельно. Я колись працював у компанії, яка розповсюджувала програмне забезпечення з пробною схемою, подібно до описаної вами. Різниця полягала в тому, що термін придатності був фіксованою датою в майбутньому.

Ми відмовились від схеми одразу після того, як ми отримали тону дзвінків від розлючених клієнтів, коли їх законно придбані версії також перестали працювати на цю дату.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.