Desarrollo / tiempo de ejecución Mecanismo de licencia para una biblioteca de clase C #? [cerrado]

StackOverflow https://stackoverflow.com/questions/1029261

Pregunta

Estoy desarrollando una biblioteca de clase .Net (un proveedor de datos) y estoy empezando a pensar en cómo manejaría la concesión de licencias de la biblioteca a posibles compradores. Con licencia, me refiero a la mecánica de tratar de evitar que mi biblioteca sea utilizada por aquellos que no la han comprado, no la licencia de software (es decir, Apache, Gnu, etc.).

Nunca he tratado con licencias, y en el pasado, siempre he desarrollado aplicaciones, no bibliotecas. No quiero complicar las cosas a mis clientes; Sé que no es posible hacerlo blindado. Solo un mecanismo que me brinda una protección decente sin hacer que el cliente salte a la basura o rechine los dientes.

Creo que el mecanismo buscaría una licencia válida cuando la clase se utiliza en modo de desarrollo, y no en modo de tiempo de ejecución (cuando el software del cliente se entrega a sus clientes). Creo que las bibliotecas generalmente se venden por desarrollador, pero no estoy seguro de cómo se podría lograr sin hacer que el mecanismo sea odioso para mis clientes; tal vez eso se deja al sistema de honor.

Busqué en Google esto y encontré muchos enfoques. Idealmente, me gustaría hacer algo que sea generalmente aceptado y común, el "correcto". la forma en que las bibliotecas de clases tienen licencia, si existe, en lugar de hacer que mis clientes traten con otro mecanismo de licencia. ¡Un empuje firme en la dirección correcta será muy apreciado!

¿Fue útil?

Solución

Esta es la solución suministrada por .NET

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

Otros consejos

Cuando su cliente crea una instancia de su biblioteca de clases, en su código de constructor verificaría la licencia. Si el proveedor no tiene una licencia válida / faltante, puede lanzar una excepción de licencia. Esto evitaría que alguien use su clase / biblioteca. Solo debe hacer esto una vez, de modo que si la licencia es válida en una clase, todas las demás salten la verificación de licencia.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top