web-dev-qa-db-fra.com

Comment empêchez-vous le piratage de votre logiciel?

Vaut-il toujours la peine de protéger nos logiciels contre le piratage? Existe-t-il des moyens raisonnablement efficaces de prévenir ou du moins de rendre le piratage difficile?

37
StanS

Pas vraiment. Toute protection contre la copie doit être parfaite à 100% (ce que nous savons tous impossible), sinon tout ce qu'il faudra, c'est qu'une personne n'importe où dans le monde trouve une solution et la publie sur le Web.

Si vous voulez que les gens paient de l'argent pour votre produit, la protection contre la copie n'est pas la solution. Cela n'a jamais fonctionné et ne fonctionnera jamais. La réponse se trouve dans l'économie 101: les gens paieront de l'argent pour votre produit s'ils perçoivent sa valeur pour eux comme étant supérieure au prix que vous lui demandez. Sinon, ils ne le feront pas. Période.

53
Mason Wheeler

Je dirais "non" aux deux questions, sans hésitation.

Vaut-il toujours la peine de protéger nos logiciels contre le piratage?

Non, et de nombreuses entreprises et développeurs indépendants ont démontré que cela n'était pas nécessaire.

Le Humble Indie Bundle est un exemple exceptionnellement bon d'une façon possible de tuer malgré "piratage" actif. En un seul événement de 3 semaines, cinq développeurs ont réalisé, ensemble, près de 900 000 $ US sur leurs cinq jeux (plus un), sans DRM, et même sans effort concerté pour contrôler l'accès aux liens de téléchargement. Et malgré le partage effréné des personnes qui ont payé, une moyenne de 10 $ US par copie a été payée, dont 30% à des œuvres caritatives. (Il s'agit, certes, d'un exemple assez exceptionnel dans la mesure où ce n'est pas la norme même pour ce type d'événement de vente, mais c'est une bonne démonstration de la façon dont les modèles de vente non standard peuvent extrêmement bien fonctionner.)

Des entreprises comme Introversion Software et Stardock font beaucoup d'argent malgré un taux de piratage de 90%.

Un autre bon exemple est Illumination Software Creator, qui se porte très bien pour lui-même.

Ou regardez Minecraft, qui a choisi un modèle "freemium" et gagne (à partir de cette semaine) 100 000 $ par jour.

Même lorsque les gens arrêtent combat "piratage", ils ont tendance à très bien se débrouiller seuls.

Existe-t-il des moyens raisonnablement efficaces de prévenir ou du moins de rendre le piratage difficile?

Non, et franchement, c'est plutôt inutile. Le logiciel peut et sera copié aussi facilement que vous copiez des valeurs dans votre programme. Peu importe les efforts que vous faites pour protéger votre logiciel contre le "piratage", tant que l'utilisateur final aura à tout moment une copie du programme, quelqu'un le distribuera à d'autres sans frais.

Les deux seules façons de empêcher le "piratage" sont: Faire de votre logiciel un service, comme une application Web, ou ouvrir votre code source (ou autrement octroyer une licence gratuite à votre logiciel Distribution).

La seule façon de décourager le "piratage" de logiciels avec une étiquette de prix est de fixer un prix plus conforme à la valeur que vos clients perçoivent dans le produit, ou d'attacher ce prix à des services réels (comme fournir soutien). Personne ne paiera 60 $ pour quelque chose qu'il pourra obtenir gratuitement dans un autre produit.

(En passant, je m'oppose au terme "piratage", car son étymologie implique le vol. La violation du droit d'auteur n'est pas un vol, peu importe comment vous le voyez, et assimiler les deux est intellectuellement malhonnête. Je préférerais un terme comme "client illégitime" ou "marché inexploité".)

33
greyfade

Ce n'est pas parce que la protection contre la copie n'est pas efficace à 100% qu'elle ne vaut rien. Cela garde les honnêtes gens honnêtes. Les clients ont besoin de QUELQUES incitations à payer pour les logiciels et la plupart du temps, c'est ce que la protection contre la copie offre. Si votre prix est raisonnable, la plupart des gens ne consacreront pas leur temps et leurs efforts à contourner les protections que vous avez mises en place. Bien sûr, si les protections font de la fonctionnalité de base une chienne à utiliser, c'est un autre problème.

Ce billet de blog est une excellente évaluation de la valeur de la protection contre la copie: http://www.kalzumeus.com/2006/09/05/everything-you-need-to-know-about-registration-systems/

En ce qui concerne un moyen raisonnablement efficace de fournir QUELQUES protections pour votre logiciel, je recommande fortement Infralution Licensing System . C'est peu coûteux et fonctionne bien.

14
Nick Spreitzer

Oui, c'est toujours utile, mais ne dépensez pas trop de temps et d'argent là-dessus. Si votre logiciel en vaut la peine, il sera acheté ET craqué. Quels que soient les efforts que vous déployez dans le mécanisme de protection.

Trop de protection et aucune protection n'affecteront les ventes.

12
user2567

Donnez-le :)

Étant donné que pratiquement toutes les mesures anti-piratage peuvent être contournées si quelqu'un est suffisamment déterminé, il y a un argument pour ne rien faire.

Rendez votre logiciel utile et offrez un soutien à ceux qui paient, obtenant ainsi des revenus et des utilisateurs dévoués.

Une façon d'obtenir des revenus pourrait être d'avoir une version "pro" qui déverrouille des fonctionnalités supplémentaires payantes. Cela semble être une approche populaire. Vous devez vous assurer que le déverrouillage des fonctionnalités pro est a) facile pour le client mais b) difficile pour le pirate.

11
ChrisF

Ne dépensez pas beaucoup de travail à ce sujet et ne le rendez pas intrusif.

Il existe deux couches de protection contre la copie qui peuvent éventuellement être utiles. L'une consiste à empêcher l'utilisateur occasionnel de la copier, et l'autre à empêcher quiconque de la copier. Il n'y a rien entre les deux, car si une seule personne peut casser votre protection contre la copie, tous les pirates dédiés du monde en auront une copie. Le deuxième niveau est impossible, alors n'essayez même pas. Le premier peut avoir une certaine valeur.

Si vous rendez la protection contre la copie ennuyeuse, les sites pirates auront une meilleure version disponible. Beaucoup de gens achètent une copie légitime du logiciel, puis téléchargent une copie illégale pour l'utiliser réellement. Je ne pense vraiment pas que vous vouliez encourager des gens honnêtes à télécharger vos trucs sur des sites pirates, et vous ne voulez pas trop ennuyer vos clients payants.

Vous devriez cesser de vous inquiéter du piratage en soi. Pour un service autonome, les pirates ne vous prennent rien. Sérieusement. Vous avez toujours tout ce que vous aviez avant. Ils pourraient vous priver de ventes éventuelles. En d'autres termes, ils ne peuvent rien vous faire qu'un critique influent ne puisse pas faire.

Ce qui devrait vous préoccuper, ce sont les revenus et l'augmentation du nombre de ventes. Le piratage peut réellement aider cela, en offrant aux gens des essais et de l'expérience gratuits. Beaucoup de gens achèteront ce qu'ils utilisent réellement. Certaines personnes attribuent une partie du succès de Microsoft à un grand nombre de personnes utilisant illégalement leur logiciel. Ils sont mieux à long terme avec des centaines de millions de Chinois utilisant Windows copiés illégalement que Linux parfaitement légal.

Ne faites pas attention au nombre d'exemplaires illégitimes. Ce ne sont pas, pour la plupart, des ventes perdues. Les pirates ont tendance à accumuler de grandes quantités de logiciels qu'ils utilisent à peine, bien au-delà de leur capacité d'achat. Faites attention à vos ventes réelles.

10
David Thornley

Tout d'abord, je dirais hardiment que vous ne pouvez jamais empêcher le compte administrateur de copier textuellement des fichiers sur sa machine.

Cependant, concernant la copie, vous pouvez simplement définir les autorisations sur vos fichiers exécutables sur 111 et les faire appartenir à root, de sorte que tout le monde peut exécuter le fichier mais pas le lire (donc pas le copier). Cependant, root pourra toujours changer cela.

Étant donné que vous ne pouvez pas empêcher la copie du binaire et que vous souhaitez l'installer manuellement sur les systèmes cibles. Compilez-les explicitement pour ce système et incluez un hachage de la configuration du système (par exemple nom d'hôte, matériel, ...). Vérifiez pendant l'exécution que vous exécutez sur un système qui correspond à cette configuration.

Cela ne fera que rendre plus difficile le vol de votre logiciel, pas l'empêcher, car vous pouvez toujours prendre le binaire, l'examiner et supprimer la partie qui vérifie la bonne machine.

Dans l'ensemble, faire cela est généralement une mauvaise idée (à mon humble avis) car cela causera des problèmes à vos clients (la dernière chose que vous voulez). Si vous voulez vraiment vendre des logiciels commerciaux à des gens, liez-les par la loi, pas par des hacks, pour obéir à vos termes et conditions.

7
bitmask

Non, pas vraiment. Et selon la technologie utilisée, il peut même ne pas y avoir d'approche raisonnable du tout.

Par exemple, vous ne pouvez rien faire pour empêcher la décompilation d'un SWF (par exemple avec Sothink SWF Decompiler ). Cela vous donnera à peu près exactement le code source que vous avez tapé. Bien sûr, vous pouvez utiliser l'obscurcissement de code, mais cela rend un peu plus difficile à comprendre le code tout en ne faisant rien, par exemple. empêcher quelqu'un de décompiler votre fichier SWF, de remplacer votre nom et le logo de votre entreprise, puis de le recompiler à nouveau.

Il en va de même pour JavaScript ou ABAP (où vous devez essentiellement fournir le code source au client) et probablement d'autres technologies également.

En revanche, la protection contre la copie/DRM peut sérieusement ennuyer vos clients et donner à votre entreprise une très mauvaise publicité. Pensez aux différents mécanismes de protection utilisés par l'industrie du jeu:

  • Les composants DRM s'installent en tant que pilotes en anneau 0, rendant le système vulnérable aux problèmes de sécurité et/ou de stabilité
  • logiciel de protection vous indiquant de désinstaller d'autres applications avant d'autoriser le produit à s'exécuter
  • connexion en ligne permanente requise pour jouer à un jeu solo
  • installations limitées ou activations en ligne, souvent utilisées en combinaison avec la liaison du produit à un compte d'utilisateur quelconque (généralement cette liaison est irréversible)
  • etc.

Par conséquent, vous devez toujours tenir compte de l'impact négatif que toutes les mesures de protection contre la copie que vous incluez dans votre produit peuvent avoir sur votre réputation et combien d'efforts (temps de développement, coûts de licence, etc.) il faut pour obtenir réellement ce truc DRM dans votre application. Si vous arrivez à la conclusion que cela en vaut toujours la peine, faites-le. Mais si vous avez le moindre doute sur le fait que l'utilisation de DRM nuira réellement à votre entreprise plus qu'elle n'en bénéficiera, ne le faites tout simplement pas.

Bien sûr, exiger une clé de CD ou utiliser une vérification de disque pour empêcher John Doe d'utiliser Nero pour fournir à toute sa famille des copies de votre produit est toujours raisonnable. Cependant, toutes les mesures qui envahissent le système du client en installant des pilotes DRM ou quelque chose comme ça doivent être considérées très attentivement pour les raisons précédemment indiquées.

6
Baelnorn

En fin de compte, vous ne pouvez pas - c'est juste une question de combien de temps/argent vous voulez dépenser par rapport à combien de temps/argent que l'autre gars veut passer à le copier.

5
Martin Beckett

Le seul moyen fiable et relativement sans problème que je connaisse est d'avoir le logiciel "appeler à la maison" et de demander "Voici mon numéro de série, suis-je une copie légale?" Bien sûr, le programme doit avoir une connexion Internet pour ce faire, ce qui peut être considéré comme un problème, mais il est résolu en incluant une option "vérifier les mises à jour" et en effectuant la vérification pendant ce temps.

En fait, même cela n'est pas exactement fiable sans mesures supplémentaires pour empêcher les gens d'exécuter la version 1 build 1 pour l'éternité, ou de procéder à une rétro-ingénierie de votre application et de désactiver la protection, mais c'est un bon début dans la bonne direction.

2
Mike Nakis

1) Je le fais SaaS way - Software as a Service

2) Je télécharge et utilise le logiciel gratuitement, mais nécessite une connexion à un serveur pour un accès limité et payant.

2
mauris

Je pense que les solutions placent tout le code intéressé du côté serveur et utilisent un client léger.

1
Zzz

Si vous n'ajoutez aucune protection ou agacement (c'est-à-dire un écran de rappel), presque personne ne paiera pour votre travail.

Avec une protection de base, l'utilisateur moyen, vraiment motivé pour acheter votre logiciel, l'achètera, mais évitez de complexifier sa vie: le client vous paie, alors soyez gentil.

Une bonne façon de protéger les logiciels est l'activation en ligne. Bien sûr, gardez à l'esprit que chaque système de protection contre la copie peut être ignoré, alors ne passez pas trop de temps à développer des systèmes de protection complexes: les personnes qui ne veulent absolument pas ou ne peuvent pas se permettre de l'acheter le craqueront ou l'ignoreront.

1
Wizard79

J'ai un point de vue quelque peu différent, peut-être pour deux raisons. Tout d'abord, je travaille pour Agilis Software, une entreprise du secteur de la gestion des licences, et deuxièmement, une partie substantielle des activités d'Agilis ne concerne pas la protection des logiciels grand public/de bureau, mais la protection des applications d'entreprise, des systèmes embarqués, etc.

Dans l'espace consommateur/bureau, les arguments sont bien répétés ci-dessus. Les systèmes de licences modernes peuvent rendre l'activation discrète et flexible pour l'utilisateur (comme de nombreuses entreprises l'ont trouvé avec le système Orion d'Agilis activation du produit ), mais la décision finale est stratégique pour le fournisseur.

Avec les systèmes d'entreprise et certains packages grand public, le fournisseur propose des options de tarification plus sophistiquées qu'une simple licence de bureau perpétuelle. Les licences d'abonnement, par exemple, sont largement utilisées, mais si vous n'incluez pas de mécanisme sécurisé pour appliquer la période d'abonnement, le taux de renouvellement sera très faible (vous avez donc réduit votre logiciel du prix de la licence perpétuelle pour rien). De nombreux fournisseurs d'applications plus complexes souhaitent également proposer différentes combinaisons de fonctionnalités à différents marchés ou tarifer les fonctionnalités séparément. Sans gestionnaire de licence pour contrôler les fonctionnalités activées, vous devrez peut-être fournir un package distinct pour chaque client et chaque mise à niveau, avec toutes les opérations nécessaires. Le modèle de comptage d'utilisateurs est toujours très populaire également, où le client peut avoir n licences actives à tout moment; si vous n'appliquez pas cette limite avec un serveur de licences, il est très probable qu'elle soit dépassée. Un autre modèle qui gagne en popularité est la licence basée sur l'utilisation ( étude de cas de licence basée sur l'utilisation ).

Les entreprises clientes elles-mêmes sont bien conscientes qu'une fois qu'un progiciel est installé, malgré les meilleures intentions de l'informatique et de la direction, les conditions de licence papier convenues sont facilement dépassées, exposant l'entreprise à des audits désagréables, des pénalités, etc., donc elles préfèrent avoir les conditions de licence appliquées si elles sont effectuées par un système de licence sécurisé et discret.

Dominique

0
Dominic

Donnez gratuitement le logiciel en version "allégée". Les personnes sérieuses peuvent payer pour la version "complète" et faire tamponner leur version pour l'identifier. Ne collez pas leur nom dedans - c'est trop facile à enlever.

Un meilleur modèle consiste à gérer le paiement du côté serveur. Voir ma réponse sur les prix pour plus de détails.

0
JBRWilkinson

Cela dépend de la valeur que vous accordez à votre temps et à votre IP.

Moi-même, si je vendais des logiciels intéressants pour les consommateurs qui seraient susceptibles d'être piratés, je travaillerais sur une solution basée sur Internet qui fournirait des binaires chiffrés à chaque exécution du programme.

0
Paul Nathan

J'envisage de vendre mon logiciel en Chine, et compte tenu de l'ampleur du piratage de logiciels, je veux au moins savoir qui vole mon logiciel afin que je puisse obtenir des mesures pour les annonceurs qui souhaitent vendre des annonces dans mon application gratuite.

À cette fin, j'utilise SLP de http://www.inishtech.com/ . Je fais le suivi de tous les utilisateurs de mon logiciel et j'ai une idée de la conformité des gens. Je ne m'attends pas à bien plus que de l'utiliser comme outil de reporting, mais il est capable d'en faire beaucoup plus.

0

Donnez-leur plus que le logiciel. Contenu téléchargeable gratuit pour les utilisateurs payants et mises à niveau et correctifs gratuits, vidéos de formation, mises à niveau bon marché ou mises à niveau gratuites vers les dernières versions. Vous pouvez également reverser une partie de vos bénéfices à un organisme de bienfaisance, afin que les utilisateurs aient le sentiment de redonner quelque chose lorsqu'ils achètent votre logiciel.

S'il existe des fonctionnalités en ligne, ne les rendez accessibles qu'aux utilisateurs payants. La protection contre la copie est une perte de temps. De nos jours, il s'agit de contenu et de service, et pas seulement de donner à quelqu'un un exe statique et de s'attendre à gagner de l'argent gratuitement une fois vos coûts couverts.

0
Tjaart