Как организовать продажу .net бибилиотек?
От: BlackEric http://black-eric.lj.ru
Дата: 04.05.20 11:21
Оценка:
Как организовать продажу .net бибилиотек?
В .net сейчса все либы принято подключать через nuget. Платных nuget пакетов я что-то не видел. Кто как решает эту проблему?
Имеются ввиду не визуальные библиотеки для работы с файлами и т.д.
https://github.com/BlackEric001
Re: Как организовать продажу .net бибилиотек?
От: StatujaLeha на правах ИМХО
Дата: 04.05.20 11:56
Оценка: 4 (1) +1
Здравствуйте, BlackEric, Вы писали:

Через требование лицензии.
Попробуй посмотреть NuGet пакеты для обработки файлов(pdf/excel/etc) от Aspose, GrapeCity.
Re[2]: Как организовать продажу .net бибилиотек?
От: NWP Россия  
Дата: 04.05.20 16:47
Оценка: 10 (2) +1
Здравствуйте, StatujaLeha, Вы писали:

SL>Здравствуйте, BlackEric, Вы писали:


SL>Через требование лицензии.

SL>Попробуй посмотреть NuGet пакеты для обработки файлов(pdf/excel/etc) от Aspose, GrapeCity.

Ты про техническую часть? Можно контролировать валидность лицензии через licx файл. Твоя либа смотрит есть ли в ресурсах сборки, которая ее юзает информация о лицензии или нет и соответсвенно либо работает штатно, либо не работает. Встраивается эта информация туда во время компиляции на машине пользователя библиотеки. При наличии правильно сформированного licx файла компилятор запускает специальный код в твое либе, который уже и проверит куплена либа этим конкретным разработчиком или нет. Т.е код работает именно во время компиляции. Ты даже, по-моему, можешь остановить процесс компиляции и выдать ошибку о том, что библиотека не активирована.

Я licx файл прямо в nuget пакете поставляю. Там же в папке тулз лежит программа активации, куда надо ввести ключ. Эта программа проверяет валидность ключа на сервере и пишет инфу об успехе активации в реестр с привязкой у этой машине. Ну а во время компиляции из реестра читаю и проверяю подписи. После чего библиотека либо активируется в полнофункциональном режиме, либо работает в демо режиме с ограниченной функциональностью.
Re[3]: Как организовать продажу .net бибилиотек?
От: StatujaLeha на правах ИМХО
Дата: 04.05.20 17:07
Оценка: 4 (1)
Здравствуйте, NWP, Вы писали:

Неа.
Вариант следующий: библиотека работает либо в полноценном режиме, либо в усеченном.
Для работы в полноценном режиме надо подгрузить файл с лицензией.
Т.е. библиотека имеет статический объект License с методом Load, при обработке документов библиотека проверяет состояние лицензии и применяет либо полноценную обработку, либо усеченную.
Тут же можно прикрутить различные версии и сроки годности лицензии и т.д.
Re: Как организовать продажу .net бибилиотек?
От: hi_octane Беларусь  
Дата: 04.05.20 18:16
Оценка: 4 (1) +1
BE>В .net сейчса все либы принято подключать через nuget. Платных nuget пакетов я что-то не видел. Кто как решает эту проблему?
Ну вот пример одной, только это не моя, просто пример. Она без триального ключа вообще не стартует, а триальный ключ только на сайте можно взять. У меня примерно также, но триальный ключ на неделю лежал в примерах.

BE>Имеются ввиду не визуальные библиотеки для работы с файлами и т.д.

Я выкладывал библиотеку в nuget, исходники примеров на GitHub. Какой-то траффик приходил и с гитхаба и нугета, видимо находили по описанию. На гитхаб мне и баг-репорты с фичреквестами скидывали.
Отредактировано 04.05.2020 18:18 hi_octane . Предыдущая версия .
Re[3]: Как организовать продажу .net бибилиотек?
От: Aquilaware  
Дата: 06.05.20 19:47
Оценка:
Здравствуйте, NWP, Вы писали:

NWP>Я licx файл прямо в nuget пакете поставляю. Там же в папке тулз лежит программа активации, куда надо ввести ключ.


А как вы решаете проблему c билд серверами? Или все работает из коробки, как только нужный .licx сгенерирован тулзой активации?
Re[4]: Как организовать продажу .net бибилиотек?
От: NWP Россия  
Дата: 07.05.20 09:29
Оценка:
Здравствуйте, Aquilaware, Вы писали:

A>А как вы решаете проблему c билд серверами? Или все работает из коробки, как только нужный .licx сгенерирован тулзой активации?


На билд сервере тоже нужно активировать ключ тулзой. На любой машине, где есть сборка — нужна активация. С одной стороны это плюс, потому как я продаю по разной цене в зависимости от количества машин на которых надо активировать (у каждого разработчика и на каждом билд сервере) и таким образом как бы оправдываю свою ценовую политику.
Но я согласен, тут есть проблема. Есть клиенты, которые на каждый билд поднимают в автоматике сервер в Azure, естественно за каждый инстанс они не платят, да и я не хочу га каждый такой билд регистрировать у себя активацию. Есть кто отказывался активировать на сервере из-за своей политики безопасности. С такими клиентами проблема решается индивидуально.
Отредактировано 07.05.2020 9:40 NWP . Предыдущая версия .
Re[5]: Как организовать продажу .net бибилиотек?
От: Aquilaware  
Дата: 07.05.20 10:25
Оценка:
Здравствуйте, NWP, Вы писали:

NWP>Но я согласен, тут есть проблема. Есть клиенты, которые на каждый билд поднимают в автоматике сервер в Azure, естественно за каждый инстанс они не платят


Спасибо за детали.

Кстати, если вы надумаете как-то рещать эту проблему, то даю наводку — можно обрабатывать переменную среды вида MYLIB_LICENSE_KEY.

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

Активацию можно делалать, но не полную, а, например, только валидацию что лицензия не отозвана. Всё равно все машины-агенты завязанные на NuGet почти всегда подключены к интернету.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.