GPLv2 et sa violation par Xiaomi

Découvrez comment Xiaomi enfreint les termes de la GPL et comment leurs décisions en ce sens affectent la communauté Android et l'avenir du système d'exploitation.

Xiaomi a annoncé son Mi Note Pro aux spécifications spectaculaires, qui comprend le dernier né des processeurs Snapdragon de Qualcomm aux côtés d’un grand écran 2K et de 4 Go de RAM pour un prix exceptionnel. Cela étant dit, il y a quelque chose qui n’est pas très bon dans les offres de Xiaomi et qui préoccupe de nombreux développeurs, en particulier de nombreux développeurs. trouvé ici sur XDA: violations répétées par Xiaomi de la licence GPLv2 pour le noyau Linux dont Android (et donc les appareils de Xiaomi) est construit sur.

Xiaomi est ce n'est pas la seule entreprise à avoir violé la GPL Cependant, et dans le passé, de nombreux équipementiers tels que Rockchip et Micromax l'ont également fait, nombre d'entre eux continuant leur comportement hors-la-loi jusqu'à ce jour. Nous j'en ai parlé un peu sur XDA, et pourquoi pas? XDA est avant tout une communauté de développeurs et nous sommes connus pour fournir à des milliers d'utilisateurs expérimentés des modifications de logiciels relevant de la GPL, mais notre communauté suit

notre politique GPL et nous ne voyons donc pas ici beaucoup d’appropriations douteuses.

Alors, qu’est-ce que Xiaomi fait de mal, exactement? Et est-ce illégal, immoral ou simplement inapproprié? Puisqu'il se peut que certains lecteurs, utilisateurs ou même développeurs ne soient pas au courant de ces questions, jetons un coup d'œil rapide à ce que signifie la GPL.

La licence publique générale GNU (GPL) est une licence de logiciel libre qui garantit aux développeurs, OEM, utilisateurs ou toute sorte de organisation qui fusionne les trois pour avoir un accès illimité aux fondements et aux fonctionnalités du logiciel qui relève dessous. Ils peuvent utiliser, étudier, partager et copier ou modifier ledit logiciel, car il s'agit d'un logiciel libre. Les développeurs GNU du projet GNU définissent le logiciel libre comme ceci :

« Logiciel libre » désigne un logiciel qui respecte la liberté et la communauté des utilisateurs. En gros, cela veut dire que les utilisateurs ont la liberté d'exécuter, de copier, de distribuer, d'étudier, de modifier et d'améliorer le logiciel. Ainsi, le « logiciel libre » est une question de liberté et non de prix. Pour comprendre le concept, vous devez penser au « libre » comme à « liberté d’expression », et non comme à « bière gratuite ».

Ainsi, même si les logiciels libres (de liberté d’expression) pourraient finir par devenir gratuits (de la bière gratuite), il s’agit en réalité de favoriser un environnement de développement axé sur les progrès de l'informatique et du génie logiciel à travers le amélioration collective, partage et apprentissage du code de tout logiciel libre.

Le projet GNU a une vision très noble des logiciels et fait campagne parce qu'il pense que chaque utilisateur et créateur mérite cette liberté. Non seulement cela permet au public de contrôler le programme et ce qu'il fait, mais les logiciels propriétaires fait le contraire en contrôlant l’utilisateur via le contrôle du programme par le développeur, ce qui entraînerait dans un instrument de pouvoir injuste. Doté des libertés essentielles du logiciel libre (qui consiste à exécuter le programme comme vous le souhaitez, à étudier son fonctionnement, à le redistribuer quand vous le souhaitez et à distribuer vos propres modifications), le logiciel l'ingénierie ressemble davantage à une science pure qui permet d'avoir des articles plutôt que des brevets, permettant à chaque programmeur d'avoir un aperçu de la théorie du code de quelqu'un, de ses méthodologies et de ses capacités. style de programmation préféré pour approfondir sa propre compréhension de son fonctionnement et recueillir des informations pour son développement personnel. De plus, cela lui permet de récupérer ce logiciel et de le modifier.

Le mot « propriétaire » utilisé pour décrire les logiciels non libres n'implique pas seulement que le fonctionnement interne du code est légalement interdit aux autres parties; cela implique également que le propriétaire du logiciel que vous utilisez (qu'il s'agisse d'une application que vous téléchargez ou d'un système d'exploitation que vous exécutez) est le créateur, et donc le propriétaire décide si vous pouvez le copier ou le partager. De telles obstructions non libres conduisent à une diminution du nombre de personnes utilisant le programme et à en tirer des leçons, ainsi qu'à l'incapacité pour les utilisateurs de modifier, d'adapter ou de réparer le programme. Au-delà des considérations plus éthiques liées à la cohésion sociale et à ses idéologies restrictives, ce préjudice matériel a effectivement un impact notable dans le monde. l'avenir de l'informatique et des consommateurs, d'autant plus que l'informatique et ses sous-produits sont étroitement liés à la vie des utilisateurs - et à leur avenir - plus que jamais aujourd'hui.

Il n’y a pas de piège. Mais il y a des choses qui agacent les constructeurs. Les personnes qui tentent de modifier des logiciels libres sous licence GPL doivent se conformer à certaines règles.

Tout d'abord, les conditions doivent être accessibles à toute personne recevant une copie d'une œuvre sous licence GPL, et à toute personne qui adhère aux termes de la GPL a la permission de partager, étudier et modifier l'œuvre ainsi que son dérivés. Contrairement aux autres licences, GPL fait permettre aux logiciels libres (libre d'expression) de ne pas être libres (bière gratuite), contrairement à d'autres licences qui interdisent explicitement la distribution commerciale.

Un titulaire de licence ou un distributeur GPL ne peut pas imposer de restrictions supplémentaires sur les droits accordés par GPL - interdiction la distribution de logiciels GPL sans divulgation explicite de leur nature, ou sous non-divulgation contrats. Tous les brevets utilisés dans le logiciel GPL sont disponibles pour une utilisation illimitée pour ceux qui respectent les termes de la GPL.

La GPL exige également que les programmes distribués sous forme de binaires précompilés soient accompagnés d'une copie du code source et une clause de non-responsabilité informant l'utilisateur ou le développeur que le logiciel est sous licence GPL ou qu'il peut être étudié, partagé ou modifié sous GPL. Et l'un des éléments les plus importants, la GPL exige que les distributeurs fournissent à tous les destinataires une licence avec le programme, ainsi que rendre le code source accessible via un support pour ceux qui en font la demande, ainsi que des instructions claires sur la façon d'obtenir le code source.

Android est sous licence Apache2.0 licence, et non GPL. Apache est une licence plus « permissive » et ne présente pas les mêmes exigences que la GPL. Cela ne vous oblige pas à distribuer le code source d'une œuvre couverte et l'œuvre dérivée. ne porte pas nécessairement la licence Apache, comme la GPL plus virale, à condition d'inclure leur Licence.

Ainsi, tandis que la GPL favorise la croissance du logiciel libre, Apache est plus libertaire dans son approche de la manière dont les termes des futures dérivations évoluent. Et les OEM peuvent, par exemple, prendre un logiciel sous licence Apache, ajouter leurs skins, gonfler et tout le reste, puis le fermer et garder la source fermée. C’est ce que font Xiaomi et de nombreux constructeurs OEM. Mais le noyau Linux sur lequel Android fonde ses fondations est pas sous licence Apache, car Linux est GPLv2 logiciel et en raison de cette propriété « virale » ou « infectieuse » du GPLv2, le noyau Linux d'Android qui utilise le code GPLv2 de Linux a pour rester GPLv2.

Xiaomi n'a pas publié les codes sources du noyau de sa branche Android. Puisque leur noyau est basé sur le noyau d’Android, lui-même basé sur le noyau de Linux, qui est la GPLv2, les termes de la GPLv2 sont appliqués jusqu'à Xiaomi. S’ils avaient utilisé leur propre noyau, ils auraient alors parfaitement le droit de ne pas distribuer leur source, et ils n’auraient aucune obligation de le faire non plus. Mais en modifiant et en distribuant des logiciels GPL, ils doivent se conformer aux termes de la GPL, en l'occurrence GPLv2.

Les utilisateurs et les développeurs méritent à juste titre l'accès aux codes sources du noyau, et pour XDA, l'absence d'un tel Une partie importante de la source modifiée du noyau Android de Xiaomi signifie que le réglage et le bricolage des appareils Xiaomi en prend un coup. Et pour une communauté dévouée à explorer le monde d'Android et à en faire le meilleur possible, ne pas avoir à modifier le logiciel des téléphones depuis le OEM connaissant la croissance la plus rapide au monde est une question importante.

Il y a eu des pétitions pour obliger Xiaomi à se conformer à la GPLv2 et à divulguer leurs sources en temps voulu, mais jusqu'à présent, elles n'ont réussi à nous obtenir que des promesses. Et ces promesses n’ont toujours pas été tenues. Hugo Barra, vice-président de Xiaomi, a promis en octobre 2014 que nous verrions les sources du noyau pour le Mi3 dans "dans les prochaines semaines", mais cela n'est jamais arrivé. De plus, en décembre de l'année dernière, ils ont déclaré que leurs sources ne seraient pas divulguées en 2014, mais en 2015.

Pourquoi Xiaomi n’a-t-il pas publié les sources de son appareil Mi3 à temps? Hugo Barra a déclaré en décembre qu'ils ne l'avaient pas fait pour empêcher une fuite d'informations sur leurs prochains appareils. Il déclare:

« Le code source du noyau de ces appareils contient une quantité importante de code source qui sera utilisé dans deux modèles à venir. Si nous publions les sources du noyau dans leur état actuel, nous en révélerons plus que nous ne le souhaiterions sur les futurs appareils. Nous allons changer cela à l’avenir, mais pour le moment, c’est une contrainte avec laquelle nous devons vivre. Nous espérons que vous comprendrez cette position et nous sommes vraiment désolés pour la frustration que nous avons pu causer! »

Est-ce que cela justifie leurs actions? Bien sûr que non. Ils sont un fabricant milliardaire dans une industrie milliardaire, et ils savaient très bien que leur code fonctionnait sous les termes de la GPLv2 et qu’ils devaient s’y conformer. En 2013 une annonce a été faite affichant fièrement le passage à l’open source de Xiaomi Kernel. Ils ont fait grand cas de la possibilité pour les développeurs de personnaliser les ROM pour les smartphones Xiaomi, et leurs défenseurs ont présenté Xiaomi comme étant « entièrement axé sur le partage de code open source ». Avance rapide d'un an et leurs codes sources sont retardés pour des raisons injustifiables, alors que leurs sources du noyau auraient dû être distribuées à consommateurs dès le départ, sans attendre qu'ils les poursuivent à coups de fourches et sans leur cracher au visage des absurdités des retards. Et cela ne prend même pas en compte le travail de ceux qui les ont précédés, et le proverbial merde, Xiaomi (et tous les autres OEM qui ne suivent pas la GPLv2) les affrontent à chaque fois qu'ils publient un nouveau appareil.

Je tiens à préciser une dernière chose pour les lecteurs qui ne connaissent pas cette distinction: la GPL est une licence et non un contrat. Certaines juridictions voient des distinctions clés entre ces deux éléments, dans la mesure où les contrats sont exécutoires par droit des contrats et les licences relèvent droits d'auteur. Il est donc toujours possible de rompre la durée d'une licence. Les distributeurs qui n’acceptent pas les termes et conditions de GPL ne peuvent pas copier et distribuer de logiciels GPL en vertu de la loi. Puisqu'ils ont choisi de distribuer le logiciel, ils se rendent coupables de contrefaçon aux yeux de la Loi.

Que quelqu’un soit ou non en désaccord avec la vision de GNU d’un logiciel libre démocratique, ouvert et inclusif, ne prend pas les décisions de Xiaomi, et leur violation répétée des conditions dans lesquelles ils ont adhéré, encore moins faux. Ils profitent d’Android à une vitesse qu'aucun rival n'a vue et ils ne suivent pas les règles qui ont fait d'Android ce qu'il est aujourd'hui, les règles qui ont permis aux OEM et aux développeurs individuels de favoriser la croissance et le progrès au sein de l'écosystème du système d'exploitation. Les règles que des millions de personnes ont respectueusement respectées pour créer leur propre carrière réussie, leurs propres entreprises prospères, et notre passe-temps préféré chez XDA.

D’un point de vue pratique, aborder cette question devant un tribunal n’est pas la chose la plus simple. Le gouvernement chinois est conscient du vol de brevets, du piratage et des violations du droit d'auteur de toutes sortes qui se produisent dans le pays, mais il n'est pas disposé à faire quoi que ce soit à ce sujet. De nombreux analystes et universitaires attribuent cette situation à plagiat latent que la Chine connaît depuis des années, certains suggérant que cela pourrait être un partie intégrante de la philosophie confucéenne sur lequel repose en grande partie la culture chinoise. Mais que les universitaires, les analystes ou les hommes d’affaires frustrés aient raison ou non, le problème de la violation des droits d’auteur en Chine touche tout le spectre des produits, et Android n’est pas différent.

Xiaomi est sous les projecteurs comme l'un des équipementiers les plus importants d'aujourd'hui, avec une reconnaissance de marque qui grandit de jour en jour et une possible incursion prochainement sur le marché américain. Bien que leurs violations ne signifient pas nécessairement grand-chose pour le consommateur Android occasionnel, elles ont un impact grave non seulement sur les développeurs, mais aussi sur l'écosystème dans son ensemble. Comme le suggère le projet GNU, cette pratique particulière, spécialement dans ce cas particulier, nuit à la progression de notre logiciel bien-aimé.

Et c’est aussi une question de respect et d’humilité. Je vous laisse avec la citation d'un révolutionnaire visionnaire qui a reconnu que son impact sur le monde était dû au travail antérieur de ceux qui l'ont précédé. Espérons que Xiaomi adoptera un jour cette philosophie, respectera les conditions et aidera Android à prospérer comme lui seul peut le faire.