2009-03-31 2 views
7

Каков наилучший подход к лицензированию пользовательских компонентов .NET или приложений для продажи?Каков наилучший подход для защиты пользовательских компонентов .NET с лицензией?

  • Закрытый Источник Режим
  • 2 лицензии:
    • Trial ограниченные возможности лицензии (бесплатно)
    • Полнофункциональный
+0

Как licens_er_ или licens_ee_? –

+0

Вы продаете компоненты, я так понимаю? Не возражаете ли вы, если судебное разбирательство будет распространено на всем протяжении? Вы хотите предотвратить что-либо большее, чем это уже запрещено законом об авторском праве? Что-нибудь конкретное или нечетное о том, как они будут использоваться? –

ответ

0

Существует много недостающих деталей здесь.

Вы лицензируете кого-то или пытаетесь создать лицензию?

Открытый источник, закрытый источник, продажа? Если вы продаете, вы предоставляете источник?

Каково конечное использование компонента/приложения? Вы принимаете его (например, сайт с несколькими арендаторами) или это больше COTS?

Что вы делаете со своими конкурентами с моделью продаж? Кажется, они работают на них? например это звучит разумно? < - эмулировать это.

По мере ответа на эти вопросы вы найдете лицензию, соответствующую вашим потребностям.

0

GPL. Или объявить его общедоступным. Или 24-страничное лицензионное соглашение, которое ограничивает способность пользователей бреять при использовании компонента. Или что-то типа того.

Почему бы вам не рассказать нам, что вы пытаетесь сделать, что подразумевается в использовании, и что вы хотели бы иметь?

6

Что касается сценария «Закрытый источник», подумайте об использовании обфускации. Я использовал SmartAssembly и очень доволен результатами.

Что касается режимов лицензирования. Вы говорите о компонентах .net, поэтому целевой аудиторией являются разработчики. Я не думаю, что они будут заниматься бесплатными судебными процессами. Если вы собираетесь продать что-то ценное для сообщества разработчиков, приготовьтесь увидеть версию «Full Featured» на Rapidshare или торрентах.

Я бы рекомендовал сосредоточиться на поддержке и частых обновлениях/улучшениях, а не на защите. В большинстве случаев «бизнес» покупает поддержку, а не двоичные файлы.

Если вам нужны заголовки инструментов, почему бы вам просто не пойти в Google? Запрос «.net licensing» даст вам тоны ссылок.

Надеюсь, что это поможет.

0

Когда вы даете испытания вашего программного обеспечения, которые могут быть обновлены до полных версий (другими словами, сборки, которые содержат все функции), вы не можете многое сделать, чтобы кто-то не мог взломать его в конце. (с .net это еще проще, чем с собственными сборками).

Подписание & Обфускация - это единственный способ предотвратить обратное проектирование в очень читаемой форме, но просто используя что-то вроде отражателя, в основном даст вам полный комплект.

Один из самых простых способов сохранить до появления лицензирования является:

  • использования открытый/закрытый ключ шифрования для сохранения лицензии (срок действия, включены функции и т.д.) информацию в файл
  • включить открытый ключ в сборку
  • декодировать зашифрованную информацию в начале вашего приложения, чтобы проверить, имеет ли кто-либо лицензию на использование вашего приложения.
  • генерировать лицензии при необходимости с закрытым ключом и распространять эти файлы (или ключи, если данные достаточно малы)

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

Смежные вопросы