Qu'est-ce qui n'était pas une utilisation équitable du détournement d'API Java sur Android?

(Je ne suis pas familier avec le droit d'auteur et je ne suis pas bon en anglais, donc je peux mal comprendre diverses choses, mais je suis désolé à ce moment-là)

La Cour d'appel des États-Unis admet l'affirmation d'Oracle selon laquelle "l'utilisation par Google de l'API Java par Android n'est pas une utilisation loyale et porte atteinte aux droits d'auteur de l'entreprise", et renverra le procès pour dommages-intérêts au tribunal de district. Un jugement a été rendu. La phrase est publiée ci-dessous. http://www.cafc.uscourts.gov/sites/default/files/opinions-orders/17-1118.Opinion.3-26-2018.1.PDF

J'ai regardé la phrase en m'appuyant sur la traduction de Google.

Conclusion

La conclusion finale dit:

For the foregoing reasons, we conclude that Google’s use of the 37 Java API packages was not fair as a matter of law. We therefore reverse the district court’s decisions denying Oracle’s motions for JMOL and remand for a trial on damages. The district court may determine the appropriate vehicle for consideration of infringement allegations regarding additional uses of Android. We dismiss Google’s cross-appeal.

Nous concluons que l'utilisation par Google de 37 packages d'API Java n'est pas une utilisation légale. Par conséquent, la décision du tribunal de district rejetant les allégations d'Oracle concernant JMOL est révoquée et le procès pour dommages-intérêts renvoyé. (Omis)

Comme le dit le mot, ne pas être un usage loyal est une violation du droit d'auteur, nous reviendrons donc au procès pour la première demande de dommages-intérêts.

L'histoire jusqu'ici

L'histoire du conflit entre Oracle et Google est résumée en détail dans l'article suivant, qui rend compte de l'état du JJUG Night Seminar en juillet 2016.

Litige Google contre Oracle Java API. Compte tenu du contexte historique et de son impact sur l'industrie informatique JJUG Night Seminar-Publickey

Si vous n'extrayez que les parties importantes,

Malheureusement, la décision de la Cour suprême de juin 2015 selon laquelle les API logicielles sont soumises à la protection du droit d'auteur a déjà été confirmée (pour être exact, 2014). Une décision d'appel a été rendue en mai et Google a interjeté appel devant la Cour suprême. L'appel a été rejeté et confirmé en juin de l'année suivante).

La troisième décision est que même si l'API est protégée par des droits d'auteur, son utilisation sur Android est une utilisation équitable et n'est pas soumise à la protection des lois sur les droits d'auteur. JMOL (Jugement en tant que question de droit) dans le jugement fait référence à ce jugement.

Oracle a par la suite demandé une nouvelle audience au tribunal de district, qui a été rejetée en septembre 2016. Il s'agit de la «décision du tribunal de district qui a rejeté les allégations d'Oracle concernant JMOL». Le contexte et la réclamation d'Oracle sont expliqués dans l'article suivant.

Oracle fait appel à l'utilisation de l'API Java par Google-ZDNet Japan

La décision de la Cour d'appel a infirmé le jugement selon lequel il s'agissait d'un «usage loyal».

4 numéros

Les quatre facteurs suivants ont été retenus comme les principaux problèmes cette fois-ci comme base pour juger s'ils sont ou non une utilisation équitable (chaque facteur sera décrit plus loin).

De ces quatre facteurs, les facteurs 1 et 4 ont un avantage dans le sens "utilisation non équitable", le facteur 2 a un avantage dans le sens "utilisation équitable" et le facteur 3 a été jugé neutre.

On this record, factors one and four weigh heavily against a finding of fair use, while factor two weighs in favor of such a finding and factor three is, at best, neutral. Weighing these factors together, we conclude that Google’s use of the declaring code and SSO of the 37 API packages was not fair as a matter of law. (p.54)

Cependant, le facteur 2 est également noté comme «peu important pour l'équilibrage global de l'utilisation équitable».

The Ninth Circuit has recognized, however, that this second factor “typically has not been terribly significant in the overall fair use balancing." (p.44)

En jugeant ces choses de manière exhaustive, il est arrivé à la conclusion que l'utilisation de l'API Java par Android n'est pas une «utilisation équitable».

Factor 1: The Purpose and Character of the Use En termes simples, si l'utilisation de l'API Java sur Android a une forte nature commerciale. Oracle fait valoir que Google est commercial parce qu'il réalise d'énormes profits sur Android, et Google soutient qu'Android lui-même n'est pas commercial parce qu'Android est open source et que les bénéfices de Google proviennent des moteurs de recherche. Je suis. La Cour d'Appel, en revanche, conclut qu'Android est commercial parce que son caractère commercial ou non ne dépend pas du fait que ses bénéfices soient monétaires ou directement disponibles. Je vais.

Un autre gros problème est de savoir s'il est «transformateur» ou non. Je ne pouvais pas bien interpréter le terme transformatif, mais il semble que ce soit un usage qui ajoute une nouvelle valeur. Oracle fait valoir que Google n'est pas transformateur car il ne s'agit que d'une copie de l'API, et soutient que Google visait à créer une nouvelle plate-forme appelée smartphones.

Il semble que le tribunal de district ait reconnu la prétention de Google de "transformative" et a été hautement évaluée, mais au contraire, la demande de Google a été rejetée lors de l'audience d'appel. La raison en est que même les smartphones utilisent toujours la même API dans le même but.

Factor 2: Nature of the Copyrighted Work Le problème est de savoir si le fait de concevoir une API est créatif. Premièrement, l’hypothèse selon laquelle les logiciels eux-mêmes devraient être protégés par la loi sur le droit d’auteur a déjà été établie. Et il a déjà été conclu que le code de déclaration du package API et SSO (Structure Sequence Organization) sont protégés par le droit d'auteur.

D'un autre côté, les déclarations d'API et la créativité SSO sont «minimes», et les API sont importantes non seulement en termes de créativité mais aussi en termes de fonctionnalités, alors utilisez-les. Google prétend que c'est une utilisation équitable. Le tribunal de district a accueilli cette allégation et la cour d'appel a également statué positivement. Cependant, comme mentionné ci-dessus, il n'est pas considéré comme très important pour l'ensemble.

Factor 3: Amount and Substantiality of the Portion Used La question est de savoir quelle est la valeur quantitative et qualitative de l'œuvre originale. À cet égard, Google reconnaît que le fait de détourner les API existantes était important dans la création de la plate-forme Android afin de réduire la charge des développeurs.

Factor 4: Effect Upon the Potential Market Le problème est de savoir à quel point Android a miné la valeur marchande potentielle d'Oracle à l'origine. Cela semble refléter l'idée d'un usage loyal, "limité aux copies qui ne compromettent pas de manière significative la qualité marchande de l'œuvre originale".

Google affirme qu'Android n'a pas volé le marché d'Oracle, citant qu'Oracle n'est pas un fabricant d'appareils et n'a pas encore été le pionnier du marché des smartphones, et le tribunal de district l'admet. J'ai fait. Cependant, la cour d'appel a fait valoir que les smartphones étaient sans aucun doute le marché «potentiel» d'Oracle, et qu'il ne s'agissait pas d'un fabricant d'appareils (car il existe des moyens d'en obtenir une licence sans avoir à le fabriquer vous-même). A été conclu.

Résumé

Parmi les quatre problèmes soulevés ici, le facteur 1/3/4 a une forte prémisse de «pour Android», et dans d'autres cas, il peut être jugé différemment. .. Le fait est que Google gagnait trop d'argent pour appeler cela une utilisation équitable, et Oracle a saisi la possibilité de faire des bénéfices. Il s'agit d'une forme dans laquelle la réclamation d'Oracle est acceptée.

Le facteur 2, quant à lui, reconnaît que le code de déclaration API et le SSO ont de la créativité (qui devrait être protégée par la loi sur le droit d'auteur), mais sont également un usage loyal en raison de leurs aspects fonctionnels forts. Cependant, il n'a pas une forte influence sur les autres facteurs qui déterminent s'il s'agit d'un usage loyal ou non.

À l'origine, la question de savoir s'il s'agit d'un usage loyal ou non est déterminée par des cas individuels, de sorte que ce jugement à lui seul ne détermine pas tous les cas. Surtout cette fois, le facteur décisif est de savoir s'il s'agit d'une activité commerciale et dans quelle mesure elle a affecté la valeur marchande potentielle, alors je pense que ce point est très important.

Recommended Posts

Qu'est-ce qui n'était pas une utilisation équitable du détournement d'API Java sur Android?
[Java] Utiliser la technologie cryptographique avec les bibliothèques standard
Quelle est la méthode principale en Java?
Quelles sont les fonctionnalités mises à jour de Java 13
Retour sur les bases de Java
L'histoire de l'écriture de Java dans Emacs
L'histoire de la comparaison de chaînes de bas niveau en Java
L'histoire de la fabrication d'un Othello ordinaire à Java
À propos de l'idée des classes anonymes en Java
Utilisez le JDK utilisé dans Android Studio dans le terminal
L'histoire de l'apprentissage de Java dans la première programmation
Mesurer la taille d'un dossier avec Java
[Java] Utilisation de final dans la déclaration de variable locale
Résumer le cycle de vie des objets Java à prendre en compte dans le développement Android
Ressentez le passage du temps même à Java
Importer des fichiers de la même hiérarchie en Java
Je suis tombé sur la version Java dans Android Studio, je vais donc le résumer
[Android 9.0 Pie Java] Implémentez setOnTouchListener dans la marge de RecyclerView et fermez le clavier virtuel
[Android Studio] Je souhaite définir des restrictions sur les valeurs enregistrées dans EditText [Java]
Résumé de l'utilisation du jeu de proxy dans IE lors de la connexion avec Java
Obtenez l'URL de la destination de la redirection HTTP en Java
Utiliser des expressions Java lambda en dehors de l'API Stream
[Java] Récupère le fichier dans le fichier jar quel que soit l'environnement
Modifier la qualité de stockage des images JPEG en Java
Utilisation correcte de la classe abstraite et de l'interface en Java
Java: utilisez Stream pour trier le contenu d'une collection
Récapitulez les éléments supplémentaires de la classe Optional dans Java 9
[Android] Accrochez le robinet du lien d'ancrage dans WebViewClient
Remarques sur l'utilisation des expressions régulières en Java
Utiliser OpenCV avec Java
Utiliser PreparedStatement en Java
Utilisez JLine lorsque vous souhaitez gérer les frappes sur la console caractère par caractère en Java
A été effectué dans l'année de base de la semaine calendaire Java
À propos de la troncature de String par le nombre d'octets sur Android
Une explication rapide des cinq types de statique Java
Reportez-vous à C ++ dans le module Android Studio (Java / kotlin)
Utiliser Java Web Start dans un environnement OpenJDK sous Windows
[Android, Java] Méthode pratique pour calculer la différence en jours
Quelle est la représentation de la connaissance du domaine dans le modèle [DDD]?
Comptez le nombre de chiffres après la virgule décimale en Java
Comment dériver le dernier jour du mois en Java
Comment changer Java à l'ère d'OpenJDK sur Mac
[Android] Essayez celui qui affiche l'effet sur la partie touchée de l'écran qui est courant dans les jeux
Utiliser la communication série sur Android
Utiliser le code natif sur Android
Implémentation Java de tri-tree
J'ai fait un "Sunshine Ikezaki game" que j'ai vu sur Twitter en Java.
Examiner les informations système de l'environnement d'exploitation AWS Lambda en Java
[Java] Obtenez les dates des derniers lundi et dimanche dans l'ordre
[Java8] Utilisation appropriée de Compareable et Comparator du point de vue du tri des employés
Sortie de la différence entre chaque champ de deux objets en Java
Examiner la liste des polices disponibles dans AWS Lambda + Java
La milliseconde définie dans /lib/calendars.properties de Java jre est UTC
Qu'est-ce que @Override ou @SuppressWarnings ("SleepWhileInLoop") devant la fonction? ?? ??
Examinez la liste des ID de fuseau horaire disponibles dans la classe Java ZoneId
Obtenez l'URL publique du fichier privé de Flickr en Java
[Android / Java] Comprendre le type de description dans les paramètres d'écoute (installation du bouton)