Dans le billet précédent, j'ai été particulièrement sensible au tarif discount (22,50 €) de la solution de gestion de licence logicielle de la société Lomacons. Et les bonnes choses ne s'arrêtent pas là, puisqu'il existe une version Open Source de leur produit InstallKey…
Comme vous pouvez le constater au travers du tableau comparatif suivant, une fonctionnalité très importante est absente de la version Open Source. Il s'agit de l'expiration de clé à date précise. Effectivement, elle permet de distribuer des versions de démonstrations de votre logiciel, qui seront inutilisables au bout de 30 jours par exemple. Et dans mon cas, cela me permettrait de distribuer une version spécial de mon logiciel Easy Text Creator pour mes beta testeurs, avec un délai adapté comme 3 mois.
Il y a une autre différence notable : la version payante contient un setup qui va installer sur votre serveur IIS le service web responsable de la validation des clés d'installation, et d'une application d'administration permettant de manager ces clés. La version gratuite nécessite donc d'installer à la main ces modules, mais cela n'est pas trop compliqué du fait du système d'exploitation concerné, Windows, qui est par essence moins complexe que Linux par exemple.
Quel ce soit la version que je vais choisir entre Open Source et version payante, il faut penser sérieusement à souscrire à un hébergement Microsoft, qui puisse faire tourner les pages *.aspx et *.asmx nécessaire au fonctionnement du back end et du service de vérification des clés. Il faut également avoir une base de donnée SQL Server, et heureusement que la version Express (gratuite) de ce serveur peut suffire…
Peut-on se passer d'un serveur pour la validation des clés ?
Le problème des hébergements Microsoft avec un serveur ASP.Net, c'est qu'ils sont exclusivement payants, à la différence des serveurs PHP.
C'est vrai que l'on ne peut thériquement pas se passer d'un serveur avec InstallKey, car c'est un web service qui assure la vérification de la clé. Mais on pourrait peut-être faire tourner le serveur sur sa machine en locale afin de vérifier le fichier de sécurité généré à l'installation du logiciel et envoyé via mail par l'utilisateur. Cette manip est décrite dans le manuel d'InstallKey à la page 41.
Certes, cela serait contraignant de le faire pour chaque nouvel achat, mais cela économiserait un hébergement mensuel ASP.Net durant la phase délicate d'amorçage d'un business.
Conclusion
Une solution pour s'accommoder de la limitation de la version gratuite serait de développer soi-même les fonctionnalités manquantes, d'assurer ensuite la vérification des licences " à la main " ou de ne pas les vérifier du tout, mais tout cela il faut l'avouer est inquiétant. Vous pouvez vous rabattre sur une solution Open Source plus modeste comme SKGL (Serial Key Generating Library). Aux dires de son auteur, la clé généré par cette solution (et je pense par toutes les solutions existantes sur le marché) n'est pas inviolable pour un pirate motivé, et le fait qu'il n'y ait pas de vérification côté serveur est une porte ouverte à la diffusion des clés sur Internet, un phénomène néanmoins freiné par le fait qu'une clé est calculé en fonction d'une machine particulière. Le système de limitation temporelle disponible dans cette solution ne doit pas être inviolable non-plus… Mais par contre le point fort de SKGL est la simplicité de sa mise en oeuvre, mise en avant par des tutoriaux clairs et une API concise. D'autre part le fait qu'une solution de licence ne soit pas inviolable ne constitue pas forcément un frein au déploiement. Il ne faut pas oublier que les logiciels crakés se diffusent massivement et sans effort de la part du concepteur finalement…