Question:
L'ingénierie inverse et l'utilisation de parties d'une application source fermée sont-elles légales?
asheeshr
2013-03-20 18:14:09 UTC
view on stackexchange narkive permalink

Est-il légal de rétroconcevoir certaines fonctionnalités d'une application fermée, puis d'intégrer ces fonctionnalités dans une application fermée ou open source qui peut être une application commerciale ou non commerciale?


Brownie montre une réponse concernant la situation en Inde.

Quatre réponses:
#1
+27
JMcAfreak
2013-03-20 20:47:19 UTC
view on stackexchange narkive permalink

Aux États-Unis

La réponse courte est non aux fins que vous avez indiquées dans votre question, mais continuez à lire pour voir exactement ce qui est autorisé. Les deux liens inclus ici méritent également d'être lus.

Aux États-Unis, l'article 103 (f) du Digital Millennium Copyright Act (DMCA) ( 17 USC § 1201 (f) - L'ingénierie inverse) stipule spécifiquement qu'il est légal de procéder à l'ingénierie inverse et de contourner la protection pour réaliser l'interopérabilité entre les programmes informatiques (comme le transfert d'informations entre les applications). L'interopérabilité est définie au paragraphe 4 de la section 103 (f).

Il est également souvent légal de rétroconcevoir un artefact ou un processus tant qu'il est obtenu légitimement. Si le logiciel est breveté, il n'a pas nécessairement besoin d'être rétro-ingénierie, car les brevets exigent une divulgation publique de l'invention. Il convient de mentionner que ce n'est pas parce qu'un logiciel est breveté que tout est breveté; certaines parties peuvent ne pas être divulguées.

Il convient également de noter qu'aux États-Unis, la plupart des contrats de licence utilisateur final (CLUF) interdisent spécifiquement l'ingénierie inverse. Les tribunaux ont estimé que ces interdictions contractuelles avaient préséance sur la loi sur le droit d'auteur qui l'autorise expressément ( Bowers v. Baystate Technologies , 320 F.3d 1317 (Fed. Cir. 2003)).

En d'autres termes, pour vos besoins, il semble qu'il serait illégal d'intégrer des fonctionnalités d'un programme de rétro-ingénierie dans un autre programme à des fins commerciales ou non commerciales. Si vous essayiez d'activer l'interopérabilité (encore une fois, reportez-vous à la section 103 (f), mentionnée ci-dessus), ce serait différent.

En Inde

D'après ce que je peux trouver, la rétro-ingénierie directe de logiciels, en tout ou en partie, pour une utilisation dans votre propre logiciel à des fins commerciales, est protégée par le droit d'auteur. Les raisons protégées de l'ingénierie inverse sont similaires à celles des États-Unis. Selon l'article Secret commercial, contrat et ingénierie inverse (également noter la note de fin 5), la loi sur les droits d'auteur protège largement les actions (y compris l'ingénierie inverse) aux fins suivantes:

  • Obtenir des informations essentielles pour assurer l'interopérabilité d'un programme informatique créé indépendamment avec d'autres programmes si ces informations ne sont pas facilement disponibles.
  • Déterminer les idées et les principes sous-jacents à tout élément du programme pour lequel le programme informatique était fourni.
  • Faire des copies ou des adaptations d'une copie obtenue légalement du programme informatique pour un usage personnel non commercial.

De plus, en raison de l'article 23 de la loi indienne Contract Act, qui traite tous les contrats, y compris les accords de licence, un contrat est déclaré nul s'il va à l'encontre de l'ordre public. L'article 52 de la loi sur le droit d'auteur déclare la politique publique concernant l'ingénierie inverse, à savoir qu'elle est autorisée de manière limitée. Un contrat (ou CLUF), interdisant l'ingénierie inverse dans un logiciel dans la mesure permise par la loi sur le droit d'auteur, ne peut pas être jugé par un tribunal.

Article 52, paragraphes (aa) à (ad) du La loi sur le droit d'auteur explique ces actes protégés (voir Loi indienne sur le droit d'auteur de 1957, page 33, ainsi que la section 18 de ces révisions de 2012). Une autre source (bien que peut-être un peu obsolète) est Lois sur les brevets logiciels et le droit d'auteur en Inde (un article) avec ses notes de bas de page.

Je pense que ce serait assez facile à contourner: * "... il serait illégal d'intégrer des fonctionnalités d'un programme de rétro-ingénierie dans un autre programme à des fins commerciales ou non commerciales." * À peu près tout ce qui prendrait est un compte anonyme pour vider les informations dans le domaine public. Ensuite, intégrez les informations "trouvées sur le Web" dans l'application. Tor et quelques autres technologies permettent de rester anonyme assez facilement. Le RC4 de RSA Data Security et la [publication anonyme d'ARC4] (https://groups.google.com/d/msg/sci.crypt/JsO3xEATGFA/_HcLTJxgVIgJ) seraient probablement un bon modèle.
#2
+22
Remko
2013-03-20 18:29:04 UTC
view on stackexchange narkive permalink

L'article 6 de la directive de l'UE sur les programmes informatiques de 1991 autorise la rétro-ingénierie à des fins d'interopérabilité, mais l'interdit aux fins de créer un produit concurrent, et interdit également la divulgation publique d'informations obtenues par rétro-ingénierie de logiciels ( source).

Cela rend la réponse NON, du moins pour l'UE (vous n'avez pas indiqué le pays auquel s'applique votre question).

Je connais une entreprise aux États-Unis qui utilise RE pour des applications d'interopérabilité, donc j'ai peur que ce soit légal aux États-Unis (juste deviner).
@jyzuz: permettant l'interopérabilité est une chose. Prendre des morceaux de code de l'application du concurrent en est une autre.
@Igor Skochinsky: à proprement parler, il n'y a aucun moyen de prendre un morceau de code. Même avec votre plugin Hex-Rays, auquel je fais confiance en tant qu'employé auquel vous avez accès, ne donne pas une précision à 100%. Mais bien sûr, cela fournirait des moyens de divulguer les détails de la mise en œuvre. C'est donc un peu difficile.
@0xC0000022L: Je parlais au sens figuré. Je ne voulais pas dire "copier des octets bruts" mais plutôt "extraire les algorithmes et les utiliser inchangés". Ou utilisez par exemple code .NET décompilé.
#3
+12
0xC0000022L
2013-03-23 03:43:53 UTC
view on stackexchange narkive permalink

Je maintiens toujours que la question est trop ouverte telle quelle.

Une perspective plus large

Je pense que RCE inclut toujours l'aspect de l'éthique. Tout comme un scientifique nucléaire possède une mine d'informations spécialisées qui peuvent être utilisées pour le meilleur et pour le pire, l'ingénierie inverse en fait autant.

Implémenter à proprement parler une fonctionnalité est louche. Très louche en effet. ReactOS serait un bon exemple de la manière de gérer cette situation. La méthode est appelée «ingénierie inverse en salle blanche». Encore plus louche serait de réimplémenter quelque chose en fonction des détails de la mise en œuvre, mais sans l'approche de la salle blanche.

Rétro-ingénierie en salle blanche

À peu près le point voici qu'une partie regarde l'implémentation et le code d'origine (le reverse engineering). Il / elle documente les détails de la mise en œuvre. Comme vous pouvez l'imaginer, cela peut être important dans des cas tels que ReactOS qui s'efforce d'assurer la compatibilité binaire. Si vous lisez le livre "The Old New Thing" de Raymond Chen, vous comprendrez immédiatement ce que je veux dire.

Une autre partie (le développeur, pour ainsi dire - le point important est que ces parties sont en effet des individus différents, Je pense que la schizophrénie ne compte pas, cependant) utilise ensuite cette documentation des détails de mise en œuvre et la ré-implémente. Maintenant, IANAL, mais étant donné que ReactOS qui prospère grâce aux contributions de développeurs du monde entier n'a pas été poursuivi en justice contre le nirvana, donc je soupçonne que c'est légalement correct. Que vous ou d’autres le jugiez éthique, c’est autre chose.

Cependant ...

... ce que je ne comprends pas de votre question: pourquoi ré-implémenter quelque chose qui existe sous une forme propriétaire? Bien sûr, pour assurer l'interopérabilité (disons OOo en lisant les formats MS Office), cela a du sens. Mais dans l'ensemble, n'est-il pas plus intelligent d'utiliser les idées de l'application existante et de les mettre en œuvre? Probablement les étendre et surpasser la fonction existante dans les fonctionnalités et les fonctionnalités?

Le problème avec les idées est qu'il y a des pays avec des brevets logiciels et que les grands acteurs font beaucoup de lobbying, même dans des juridictions telles que l'UE, pour faire adopter une législation autorisant les brevets logiciels ouvertement. Pour le moment, ils n'existent que dans les niches de la législation existante et en raison du fait que les fonctionnaires de l'OEB (et des OP nationales) ne sont pas nécessairement les plus compétents en matière de nouvelles technologies.

Vous devriez être en sécurité côté interopérabilité pour la plupart , même avec FLOSS, encore une fois en s'inspirant de l'état de fait où des projets tels que OpenOffice.org et LibreOffice n'étaient pas non plus poursuivis au nirvana. Il en va de même pour Samba, où Microsoft a même invité les développeurs du projet à parler aux développeurs Microsoft.

Votre meilleur plan d'action sera de demander des conseils juridiques dans votre pays. Cela ne signifie pas que cela s'applique également à d'autres juridictions, mais cela vous donnera un début.

En Allemagne

Bien que la directive européenne mentionnée par Remko existe, en Allemagne, le les détenteurs de droits d'auteur ont imposé des changements assez importants à «Urheberrecht» (abréviation: UrhG), qui n'est pas tout à fait identique aux droits d'auteur des pays dont la législation est basée sur la Common Law (notamment les États-Unis). Ces changements ont également abouti à l'ajout de ce que l'on appelle le "Hacker paragraph" dans le code pénal (§ 202c, StGB).

Ce paragraphe stipule (traduction libre du jargon juridique, texte original dans l'article de Wikipédia lié ci-dessus):

  • (1) Quiconque prépare un crime punissable conformément au § 202a ou au § 202b en produisant ou en acquérant, en vendant, en cédant l'accès à la publication ou en mettant à disposition les mots de passe, les codes de sécurité - permettant l'accès aux données ( § 202a alinéa 2 ) - ou les programmes informatiques dont le but est la perpétration d'un tel acte, seront punis d'un emprisonnement pouvant aller jusqu'à un an ou d'une amende.

C'est la partie la plus importante et vous pouvez voir pourquoi les Allemands sont "fiers" du corpus de littérature judiciaire qui dépasse prétendument les quantités de littérature que l'on trouve dans les plus grandes bibliothèques.

Quoi qu'il en soit, le Le problème devrait être évident et si ce n'est pas le cas, je le signalerai dûment. Le problème est qu'il n'y a pas de définition dans la loi de ce qui comprend un tel outil. IDA Pro est-il un tel outil? Et OllyDbg? Et WinDbg? Qu'en est-il du GDB ou du débogueur d'immunité? Et Metasploit? Il y a littéralement tellement de possibilités de violer cette loi que des organisations telles que le CCC et ses membres et sympathisants l'ont critiquée à maintes reprises. En vain.

TL; DR: en Allemagne, c'est une pente encore plus glissante. Cela a même abouti à des cas où les livres sont devenus pratiquement inutiles dans l'édition allemande parce que l'auteur est responsable en vertu du paragraphe Hacker.

#4
+7
Osteoboon
2013-04-05 06:34:54 UTC
view on stackexchange narkive permalink

Je pense que les questions commençant par la clause "Est-il légal de ..." ne pourront jamais recevoir une réponse correcte avec certitude que devant un tribunal. Et comme @ 0xC0000022L l'a mentionné, vous devez commencer par spécifier le pays dont vous parlez.

À moins d'aller devant le tribunal, je pense que de telles questions ne peuvent être répondues correctement que par la phrase: " Cela dépend. "

D'après les autres réponses, il semble bien connu au sein de cette communauté que l'ingénierie inverse est très étroitement liée à la fois à la loi sur les droits d'auteur et à la fraude informatique et Abuse Act, qui (comme l'attestent les liens) sont actuellement très contestés aux États-Unis.

La Harvard Law School a récemment publié un cours en ligne massivement ouvert sur le droit d'auteur. Le professeur a publié un livre sur la réforme du droit d'auteur en 2004. Il a également lancé Noank Media, Inc. en 2007 pour essayer de mettre en œuvre l'une des idées de son livre en Chine. Bien que ses cours et lectures de MOOC soient tous disponibles dans le monde entier, je suis actuellement en train de suivre ce cours via edX, et même avec le bénéfice de plusieurs étudiants en droit pour aider à répondre aux questions, il y a encore un formidable quantité d'informations et ambiguïté à prendre en compte (même en limitant la portée de ma réponse ici au droit d'auteur et en ne traitant pas de la CFAA). Comme @JMcAfreak l'a écrit, le DMCA s'applique également, et je suppose qu'il existe plusieurs autres lois qui pourraient également s'appliquer à votre question aux États-Unis.

Ce que j'ai appris après 8 semaines dans ce cours c'est qu'il faudrait passer au moins 12 semaines à lire la jurisprudence avant de pouvoir vraiment répondre à la question que vous posez ici. Et comme Aaron Swartz l'a découvert, les enjeux sont incroyablement élevés, et les programmeurs informatiques et les ingénieurs inverseurs (qui peuvent régulièrement faire des actes - potentiellement illégaux - des milliers ou des millions de fois en utilisant un programme informatique) sont particulièrement vulnérables à de multiples comptes de actes où les sanctions s’additionnent très rapidement.

Si vous envisagez de faire quelque chose qui vous incite à poser la question, vous devez également déterminer qui pourrait être le plus motivé à vous poursuivre pour activité illégale en conséquence, et s'il s'agit d'une personne ou d'une entreprise riche, alors vous ne devrait probablement pas le risquer. Si Shepard Fairey avait utilisé une photographie de référence pour son affiche Obama HOPE appartenant à une entité moins riche que l'Associated Press, alors je suis sûr que la situation se serait terminée très différemment pour lui.

"Ce que j'ai appris après 8 semaines dans ce cours, c'est que vous auriez besoin de passer au moins 12 semaines à lire la jurisprudence avant de pouvoir vraiment répondre à la question que vous posez ici." - Amen à cela. Personne ne le sait vraiment et, comme vous le dites, cela dépend de qui viendra après vous. Avec ce niveau d'ambiguïté, les grandes entités peuvent vous battre dans la soumission financière et même pas avoir besoin de gagner leur cause.
Le DMCA change tout le terrain de jeu pour les logiciels. La loi américaine sur le droit d'auteur a eu un nombre très important d'affaires qui ont façonné la définition des œuvres dérivées et de l'utilisation équitable (y compris l'ingénierie inverse de logiciels, l'affaire la plus importante étant _Sega Enterprises Ltd. c. Accolade, Inc._, 977 F.2d 1510 (9e Cir.1992)). Depuis l'adoption du DMCA, cependant, il n'y a pas eu beaucoup de litiges, voire aucun, sur l'utilisation loyale et les travaux dérivés dans le domaine des logiciels informatiques. Je recherche actuellement des œuvres dérivées et une utilisation équitable, je vous tiendrai donc au courant.


Ce Q&R a été automatiquement traduit de la langue anglaise.Le contenu original est disponible sur stackexchange, que nous remercions pour la licence cc by-sa 3.0 sous laquelle il est distribué.
Loading...