¿Qué es una licencia de SDK?
Una licencia de SDK (SDK, que significa Kit de desarrollo de software) es lo que permite a un desarrollador de software comprar o usar un SDK legalmente.
Los proveedores de software que desean que su producto se integre fácilmente en otros productos de software necesitan una buena forma de asegurarse de que el código que proporcionan a los desarrolladores esté protegido. Licenciar el SDK resulta un poco más complejo que licenciar otro tipo de producto de software, por lo que los SDK requieren un modelo de licencia inteligente y completo que proporcione el tipo adecuado de protección y un sistema de monetización.
Pero antes de profundizar en los distintos tipos de licencias de SDK, hagamos una pequeña copia de seguridad:
¿Qué significa SDK?
SDK son las siglas de Software Development Kit (conjunto de herramientas para el desarrollo de software). Un SDK es básicamente un código preescrito que contiene todas las herramientas que un desarrollador necesita para usar el software existente para ayudarlo a construir una nueva aplicación.
Un SDK generalmente incluye un compilador, un depurador y API (interfaces de programación de aplicaciones). También podría contener:
- bibliotecas,
- herramientas de prueba y análisis,
- controladores,
- documentación,
- editores,
- protocolos de red,
- entornos de desarrollo.
¿Cómo es un ejemplo de SDK?
Supongamos que usted es un desarrollador de software que crea una aplicación de juegos sociales que permite a los padres y cuidadores calificar los parques infantiles del vecindario. Los usuarios podrán agregar áreas de juego a la aplicación y calificarlas de acuerdo con la seguridad, limpieza, accesibilidad y diversión, y podrán indicar las características de cada área de juegos: para qué edades es apropiado el equipo, qué equipo incluye, entre otras. Usted desea que la aplicación incluya un mapa que muestre dónde se encuentra cada área de juegos, pero desarrollar su propia función de mapa sería increíblemente difícil, lento y costoso. Es más, tendría que actualizarlo constantemente para reflejar cambios tales como la construcción de nuevas carreteras, nuevos ordenamientos de tráfico y cosas por el estilo.
Entonces, ¿qué debe hacer un desarrollador?
Bueno, una solución sencilla y elegante es utilizar el SDK de Google Maps. Google ya ha realizado todo el trabajo para crear un programa de mapas sólido que se actualiza con frecuencia. Además, muchas personas utilizan la función de navegación de Google Maps para encontrar lugares en los que nunca han estado o para evitar el tráfico. Si usa el SDK de Maps para crear la función de mapa en su aplicación, se ahorrará mucho tiempo y podrá integrar todas las excelentes funciones de Google Maps en su aplicación. Los usuarios podrían moverse sin problemas entre su aplicación y Google Maps si decidieran visitar un nuevo patio de juegos según las reseñas y quisieran ayuda para llegar allí.
¿Por qué debería crear un SDK?
Ha escuchado el viejo adagio: "Dale un pescado a un hombre y lo alimentarás por un día; enséñale a pescar y lo alimentarás toda la vida". ¿Qué pasaría si le enseñara a pescar y luego le vendiera el cebo, las líneas, las redes y todo el equipo que necesita para crear su propio negocio de pesca, y se convirtiera en un cliente fiel de por vida? El hombre se alimenta a sí mismo y su negocio también le ayuda a usted a alimentarse.
El pescador recién creado es su cliente desarrollador de software, y el equipo de pesca es su SDK. Según Glenn Solomon, socio gerente de GGV Capital, el software impulsado por desarrolladores es la próxima ola de software de un billón de dólares. Incluso las empresas de tecnología más baja están aprendiendo que crear una aplicación excelente es una gran manera de hacer crecer su negocio, pero no quieren reinventar la rueda. Los SDK les permiten a los desarrolladores crear excelentes aplicaciones con una mínima inversión de tiempo, esfuerzo y fondos.
Entonces, si tiene un gran producto que puede facilitarles la vida a esos desarrolladores, desarrollar y distribuir SDK es la forma en que puede ingresar a esta industria en rápido crecimiento.
Protección del SDK
Supongamos que tiene una empresa que ha desarrollado un software de navegación que es incluso mejor que el de Google. Desea que los desarrolladores puedan agregar sus mapas a sus aplicaciones, por lo que debe ofrecerles un SDK.
Pero no quiere regalar el arduo trabajo de su empresa de forma gratuita. Para que el software que ha desarrollado sea rentable, debe venderles a los desarrolladores el derecho a usar su SDK. En otras palabras, necesita una forma de emitir licencias de SDK y cobrar a los usuarios por ellas.
Tipos de licencias de SDK
¿Cómo funcionaría un sistema de administración de licencias SDK?
Básicamente, usaría tecnología similar a la que se usa para otorgar licencias y proteger otros tipos de software. La licencia de SDK sería un cierto código que le daría al desarrollador acceso a su SDK y le permitiría usarlo de manera legal y autorizada. Así es como funcionan todas las licencias de software.
La diferencia clave entre las licencias de SDK y la mayoría de los otros tipos de licencias de software es que los SDK en realidad tienen dos usuarios: el desarrollador que está creando la aplicación y el usuario final que está descargando y usando la aplicación. Esta diferencia puede influir en cómo puede optar por monetizar su SDK.
El código de licencia se puede entregar al usuario de varias formas diferentes, según sus necesidades y las de sus clientes.
Licencias basadas en hardware: claves USB y dongles
Algunos proveedores de software optan por proteger sus SDK mediante hardware físico, como claves USB y dongles. El hardware contiene el código que activa el SDK para el desarrollador, por lo que deben tener el hardware conectado a su dispositivo siempre que quieran usar el SDK. Las ventajas de este método incluyen la seguridad y la falta de dependencia de una conexión a Internet. Las desventajas son que es bastante rígido, ya que solo una persona en posesión del dispositivo físico puede usarlo, y solo un dispositivo con la clave conectada se puede usar para acceder al SDK.
Además, este método no se puede utilizar para el seguimiento del uso de los usuarios finales. Este modelo se usaría en caso de cobrar a los desarrolladores por el uso de su SDK sin vincularlo a la cantidad de usuarios finales que descargan y usan el producto desarrollado con él.
Licencias basadas en la nube
A otros proveedores de software les resulta más conveniente proteger sus SDK mediante licencias en línea que se pueden descargar en el dispositivo del cliente. La principal ventaja de este modelo es que es mucho más flexible e incluye una variedad de opciones que no están disponibles cuando se utilizan licencias basadas en hardware:
Licencias de SDK de un solo uso
Estas licencias solo pueden ser utilizadas por un usuario. Puede optar por vincular la licencia al dispositivo específico o a un usuario específico que haya iniciado sesión con credenciales específicas o simplemente por uso, cobrando al cliente cada vez que se instala el SDK.
Licencias concurrentes o flotantes
Este modelo es especialmente flexible: el cliente puede adquirir una determinada cantidad de licencias que se pueden utilizar al mismo tiempo. Entonces, por ejemplo, si un desarrollador tiene cinco miembros del equipo trabajando en la parte de la aplicación que involucra su SDK, pero solo dos de ellos necesitan trabajar en ella a la vez, pueden comprar dos licencias simultáneas. Cuando un miembro del equipo necesita usar su SDK, descarga una licencia de un servidor de licencias remoto y la "devuelve" cuando termina de usarla. Si un tercer miembro del equipo solicita una licencia mientras las dos licencias adquiridas están en uso, debe esperar hasta que una de las licencias se haya devuelto al servidor.
Cobro por uso final
En lugar de cobrarle al desarrollador por su propio uso de su SDK, puede optar por cobrarles según la cantidad de usuarios finales que hagan uso del código que desarrollaron con su SDK. Esto significa que lo que paga el desarrollador por usar su SDK dependerá del éxito del producto. Este modelo puede resultar más atractivo para desarrolladores con un presupuesto más bajo o una mayor aversión al riesgo.
El modelo correcto varía mucho de un desarrollador a otro y de un SDK a otro. Es posible que incluso desee ofrecer múltiples opciones para adaptarse mejor a las necesidades de diferentes clientes.
Ejemplo de licencia de SDK
Volvamos a nuestro ejemplo de software de navegación, el desarrollador de software tiene algunas opciones para licenciar su SDK.
El SDK de Google Maps, por ejemplo, cobra por uso final. Maps SDK para Android es gratuito para todos los usos, pero si un desarrollador usa Dynamic Street View, se le cobra de acuerdo con una escala móvil: $ 14 por 1000 creaciones de instancias de un objeto panorámico hasta 100.000 creaciones de instancias, luego, $ 11,20 por 1000 por las próximas 400.000. Para un uso de mayor volumen, se solicita a los desarrolladores que se comuniquen con el departamento de ventas de Google.
¿Cómo monetizará su SDK? Eso depende de su perfil de clientes, su mercado, su competencia y una variedad de otros factores. Si el SDK de Google Maps es gratuito, pero Dynamic Street View se cobra por creación de instancia, deberá adoptar un modelo de licencia de SDK que sea competitivo. Por ejemplo:
- Usar el mismo modelo, pero cobrar menos.
- Utilizar un modelo diferente que aborde mejor las necesidades de un determinado nicho.
- Ofrecer un valor que Google no ofrece y hacérselo saber a sus clientes.
Thales Sentinel puede ayudarlo a desarrollar el modelo de licencia de SDK perfecto
Determinar cómo licenciar y vender su SDK puede ser un desafío serio, e implementar el modelo de licencia puede ser aún más desafiante. Sentinel LDK (Kit de desarrollo de licencias) ofrece una solución de monetización de software completa y lista para usar que le permite proteger su SDK, maximizar sus ingresos, simplificar los procesos operativos y mejorar la experiencia del usuario. Thales Sentinel puede ayudarlo a determinar qué modelo de licencia se adapta mejor a sus necesidades y las de sus clientes, y luego implementar ese modelo sin problemas para que pueda comenzar a aumentar los ingresos y aprovechar los beneficios del arduo trabajo de su empresa.
Simplify Internal Licensing Processes - Herta Case Study
Simplify Internal Licensing Processes While Embracing Flexible Licensing - HERTA Case Study HERTA Security Imagine a software technology that could automatically identify individuals that pose a threat to safety and security – by scanning crowds of people on the...