Условно-бесплатная реализация против машины времени
Проблема: Клиент X (рассматривает) портирование одного из своих бывших условно-бесплатных приложений для Windows на Mac OS X. Одна из его проблем - как обеспечить 30-дневный пробный период и сделать его невосприимчивым к программному обеспечению "откат системы", например Time Машина.
Вопрос: Какова наилучшая отраслевая практика для предотвращения использования программного обеспечения "отката системы" для увеличения или иного изменения 30-дневного пробного периода на условно-бесплатном программном обеспечении?
ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ: Я не считаю стратегию Клиента X жизнеспособной, и я не понимаю, как у людей будет стимул откатывать всю свою систему, просто чтобы использовать его программное обеспечение еще несколько дней. Тем не менее, ради должной осмотрительности я спрашиваю здесь просто, чтобы я мог исследовать его вопрос. Пожалуйста, подумайте об этом, если вы хотите отказаться от голосования только потому, что вы (и я) можете не согласиться или посчитать это непрактичным.
6 ответов
Обычно разработчики OS X используют скрытый файл в одной из папок поддержки где-то с датой пробной версии. По большей части это достаточно хорошая стратегия для того, что он хочет, я сомневаюсь, что кто-нибудь сделает полное восстановление системы просто для того, чтобы скопировать свое приложение, и если они используют Time Machine для восстановления самого пакета приложений с более ранней даты, он выиграет ". не имеет никакого значения к дате судебного разбирательства.
Теперь, если он обеспокоен тем, что пользователи полностью восстанавливают или отслеживают скрытый файл, он может попробовать какую-нибудь онлайн-службу проверки для своего пробного программного обеспечения. Правда, эти люди все равно найдут взломанную копию, с которой вы не сможете бороться, даже если хотите потратить на это время.
Это условно-бесплатная программа, так что мы кое-что знаем.
Есть люди, которые захотят использовать ваше программное обеспечение и готовы платить за него. Все, что вам нужно для них сделать, - это заставить их опробовать ваше программное обеспечение, и вам не придется платить за него. (Для меня Paypal быстр и прост, но отправка чека по почте становится рутиной.)
Есть люди, которые просто не собираются платить за ваше программное обеспечение, и то, что они делают, не влияет на вас. Вы, вероятно, на самом деле немного лучше, если они обманывают; таким образом, они могут заинтересовать кого-то, кто может заплатить вам. Попытайтесь помешать им использовать ваше программное обеспечение, если хотите, но не обманывайте себя, думая, что это принесет вам больше цента.
Есть люди, которые готовы платить вам, но предпочли бы использовать их бесплатно. Это те люди, о которых ты хочешь беспокоиться. Вы хотите сделать меньше проблем, чтобы просто заплатить вам, чем обманывать. Если стоимость разумная, они не собираются прилагать чрезмерные усилия для ее использования, так что вам не нужно принимать чрезмерно ограничительные меры. (Помните, что единственные люди, которые будут усердно работать, чтобы обманывать, это те, кто не заплатит вам в любом случае.)
Помните также, что чрезмерная раздражающая защита приведет к тому, что люди из категории "мог заплатить" перейдут в категорию "не заплатят". Многие современные примеры наоборот, я действительно не думаю, что раздражение ваших законных клиентов является жизненно важной частью бизнес-плана.
Вы ничего не можете сделать, кроме как позвонить домой достаточно, чтобы вызвать множество других проблем, чтобы не дать всем взломать вашу схему защиты, поэтому, если она стоит того, чтобы ее продать в первую очередь, кто-нибудь взломает ее и, вероятно, поместит в Пиратскую бухту. Не беспокойтесь об этом, так как вы ничего не можете с этим поделать. Сохраните свои усилия для вещей, которые принесут вам больше прибыли. РЕДАКТИРОВАТЬ: Будьте очень осторожны в защите вашего приложения. Вы не хотите, чтобы версия Pirate Bay явно превосходила законную версию. Вы также хотите, чтобы законные клиенты говорили: "Это здорово, и никаких проблем с установкой", а не "Это отключило мой DVD-привод и пропитало мою песчанку, но после этого это было здорово иметь".
Наконец, я не вижу разницы между Windows и MacOSX здесь. Если я загружаю некоторые условно-бесплатные программы для Windows, я сохраняю файл.zip и могу удалить и переустановить, или сбросить системную дату. Для MacOS я могу удалить и переустановить или сбросить системную дату, а Time Machine может автоматизировать некоторые из них. В чем здесь проблема? (Помните, что если вы оставите неустановимые биты там, где они могут вызвать проблемы позже, вы, возможно, раздражаете клиентов наличными.)
Я рекомендую не беспокоиться об этом слишком сильно.
Один из методов, который может быть жизнеспособным, - это получить несколько системных уникальных переменных. Я не уверен, что доступно в OSX, но два примера могут быть: основной серийный номер HD, MAC-адрес основного сетевого адаптера.
Объедините факторы в воспроизводимый хэш "телефон домой" (убедитесь, что вы раскрыли это в EULA или в какой-то другой). Вы можете измерить, сколько раз пользователь использовал его, и "ответить", чтобы приложение знало, загружаться или нет.
Это не защищает от дурака... Но если не взломать его (что является неизбежной проблемой), конечному пользователю понадобятся довольно экстремальные знания о том, как работает система.
Это будет стоить дороже (поскольку вам нужно поддерживать и активировать серверы активации), и это будет раздражать пользователей, которые хотят использовать его без подключения к Интернету. Измерьте это, добавьте затраты на разработку и подумайте, действительно ли пиратство является достаточной проблемой, чтобы оправдать затраты.
Напомните своему клиенту, что, если он измерил нелегальные загрузки, не каждая загрузка является потерянной продажей.
Сколько денег он потратит на поиск и реализацию решения? Сколько денег он потеряет от продления пробного периода? Что такое ROI?
Ой, подождите, это был не вопрос. Он хочет что-то сделать, даже если это стоит ему больше, чем зарабатывает.
Как писал Оли, программа могла звонить домой с серийными номерами оборудования и тому подобным. Есть даже схемы DRM, которые могут использовать оборудование TPM на самой машине. Звонить домой достаточно просто, но у него есть несколько недостатков:
- Есть последствия для конфиденциальности. Многим пользователям не нравится, когда программные телефоны работают дома, и любой, кто использует дозвон, заметит звонки.
- Вы должны поддерживать приложение phone-home.
- Люди без подключения к интернету будут заблокированы, если у вас нет резервной схемы DRM, такой как скрытый файл в системной папке, как писал Марк.
- Если есть проблема с домашним сервером телефона, у ваших клиентов могут возникнуть проблемы с использованием пробного приложения.
Тем не менее, хорошим вариантом использования домашнего сервера телефона будет сбор метрик о том, как используется приложение, и, возможно, загрузка обновлений. Метрики, конечно, имеют больше последствий для конфиденциальности.
В конце концов, любое приложение может быть взломано. У производителей видеоигр есть анти-читерское программное обеспечение, которое предотвращает измену клиентов в сети; возможно, эту технологию можно использовать и здесь. Однако все еще существует пагубное требование для подключения к интернету.
Программное обеспечение для восстановления системы до прежнего состояния существует и для Windows, и для большинства других операционных систем. Еще проще использовать VMware или что-то еще, чтобы установить пробную версию на виртуальную машину, что позволяет мгновенно откатиться к предыдущему снимку. Я всегда устанавливаю пробные версии на виртуальную машину не потому, что хочу продлить пробный период, а потому, что хочу полностью протестировать пробную версию, прежде чем рисковать ею в своей основной системе.
Если кто-то захочет пройти через откат своего ПК или виртуальной машины просто для того, чтобы продолжать использовать пробную версию, он, вероятно, в любом случае не купит ваше программное обеспечение. Если вы заблокируете их, они взломают продукт вашего конкурента.