2009-06-22 2 views
10

Я разрабатываю библиотеку классов .Net (поставщик данных), и я начинаю думать о том, как я буду обрабатывать лицензирование библиотеки потенциальным покупателям. По лицензированию я имею в виду механику попыток предотвратить использование моей библиотеки теми, кто ее не купил, а не лицензию на программное обеспечение (т. Е. Apache, Gnu и т. Д.).Механизм лицензирования для библиотеки классов C#?

Я никогда не занимался лицензированием, и в прошлом я всегда разрабатывал приложения, а не библиотеки. Я не хочу затруднять работу своих клиентов; Знайте, что невозможно сделать это железным. Просто какой-то механизм, который дает мне приличную защиту, не заставляя клиента прыгать через обручи или скрежещет их зубами.

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

Я нашел это и нашел много подходов. В идеале, я бы хотел сделать что-то общепринятое и обычное, библиотеки классов «правильного» класса лицензируются, если это существует, вместо того, чтобы заставить моих клиентов иметь дело с еще одним лицензионным механизмом. Будем очень благодарны за твердый толчок в правильном направлении!

+0

Это нехорошее название. То, о чем вы говорите, не имеет никакого отношения к лицензированию. –

+0

Я уточнил название – Darryl

+0

Я заметил. Благодаря! –

ответ

3

Это .NET поставляется решение

http://www.ddj.com/web-development/184416695

+0

Ссылка на ссылку на _component_ licensing, которая специально не применима к вопросу OPs о лицензировании _library_. Не могли бы вы обновить этот ответ? – Sepster

0

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