Quand on développe un logiciel qu'on souhaite commercialiser, il y a des questions à se poser sur son modèle économique et sa protection vis à vis du piratage. Surtout quand il y a distribution massive d'une version de démonstration, qui permet de rendre à crocs les utilisateurs sur une période de 30 jours. Voyons ensemble quels sont les différentes solutions permettant de gérer des licences…
[Notez qu'en plus d'un système de license, il faut ofusquer votre code C# pour empêcher sa décompilation et donc le vol de votre technologie.]
Voici un tableau des différentes solutions de gestion de license :
D'après mon comparatif, il y a 3 ou 4 solutions au delà de la barre symbolique des 100 € (il y en avait beaucoup plus, atteignant parfois les 1000 €, mais je ne l'ai ai pas mentionné, celle-ci s'adressant à mon avis plus aux entreprises qu'aux developpeurs indépendants), ensuite 6 entre 50 et 100 € et les 3 moins chers ne dépassent pas les 40 €. N'y connaissant pas grand chose en la matière, je me dis que le moins onéreux, InstallKey For .NET 4.0 à 22,50 €, est peut-être aussi efficace que les autres, ainsi je décide de voir ce qu'il a dans le ventre ce discounter…
J'ai pris le soin de traduire le descriptif de cette solution :
- Ajouter une validation de licence, une activation du produit et une clé d'installation à votre application .Net. Empêcher la copie occasionnelle et garder vos clients honnêtes. Similaire au style de l'activation de produit Microsoft où la clé de produit est validée grâce à des identificateurs spécifiques de la machine et validée par via un serveur internet. Prendre en charge la création de clé d'installation basée sur serveur, leurs validations et leurs maintenance. Valider vos licences logicielles pour vos applications développées en WinForms, ASP.Net WebForms, WPF, ASP.Net MVC2, Services, applications de console et plus encore.
- Fonctionne avec Visual Studio 2005, 2008 et Visual Studio 2010. Prend en charge les applications écrites dans n'importe quel langage .Net managé comme VB.Net et C#.
- Compatible avec le Framework .Net 2.0, 3.0, 3.5 et 4.0.
- La base de données pour le composant serveur peut être SQL Server 2005, SQL Express 2005, SQL Server 2008 ou SQL Server 2008 Express.
- Utilise des clés d'installation de 30 caractères composées de numéros et lettres majuscules évitant l'ambiguïté. Cela contribue à rendre les clés faciles à lire et à taper pour les utilisateurs finaux.
- Validation des données à l'entrée. Cela permet d'intercepter les erreurs de saisie des données avant de valider la clé d'installation sur le serveur.
- Validation de la clé d'installation sur un serveur central : plus difficile à contourner, tout en fournissant un mécanisme visant à révoquer les clés pirates.
- Utilisation d'une clé unique, liée au matériel où le logiciel est installé.
- La validation serveur n'est nécessaire qu'une seule fois. Un fichier inviolable de caution spécifique à la machine et à la clé d'installation peut être vérifié à tout moment, sans autre aller-retour vers le serveur.
- Des données personnalisées peuvent être passées de manière sécurisée vers et depuis le serveur lors de la validation. Les données personnalisées sont inviolables et peuvent être récupérées en toute sécurité en tout temps après validation sans aller-retour vers le serveur.
- La validation peut être effectuée avec ou sans connexion internet.
- Des compléments et interfaces permettent à InstallKey d'être étendu et personnalisé pour s'adapter à vos besoins.
- Pas de licences complexes ou de redevances. Vos applications qui incluent uniquement les dll côté client peuvent être distribuée sans frais additionnels.
Pour info, il existe une version Open Source de cet outil…