GPLv2 e sua violação pela Xiaomi

Descubra como a Xiaomi está infringindo os termos da GPL e como suas decisões de fazê-lo afetam a comunidade Android e o futuro do sistema operacional.

A Xiaomi anunciou seu Mi Note Pro com especificações espetaculares, que apresenta o o que há de mais recente em processadores Snapdragon da Qualcomm junto com uma grande tela de 2K e 4 GB de RAM por um preço matador. Dito isto, há algo que não é tão bom nas ofertas da Xiaomi que é uma preocupação para muitos desenvolvedores, especialmente muitos. encontrado aqui no XDA: As repetidas violações da licença GPLv2 da Xiaomi para o kernel Linux que o Android (e, portanto, os dispositivos da Xiaomi), é construído em.

Xiaomi é não é a única empresa que violou a GPL no entanto, e no passado, muitos OEMs, como Rockchip e Micromax, também o fizeram, com muitos continuando com seu comportamento fora da lei até hoje. Nós falei um pouco sobre isso no XDA, e por que não? XDA é principalmente uma comunidade de desenvolvedores e somos conhecidos por fornecer a milhares de usuários avançados modificações de software que se enquadram na GPL, mas nossa comunidade segue

nossa Política GPL e, portanto, não vemos muita apropriação duvidosa aqui.

Então, o que a Xiaomi está fazendo de errado, exatamente? E é ilegal, imoral ou simplesmente impróprio? Como pode haver alguns leitores, usuários ou até mesmo desenvolvedores que não estão atualizados sobre esses assuntos, vamos dar uma olhada rápida no que significa GPL.

A Licença Pública Geral GNU (GPL) é uma licença de software livre que garante aos desenvolvedores, OEMs, usuários ou qualquer tipo de organização que funde os três para ter acesso ilimitado aos fundamentos e funcionalidades do software que se enquadra embaixo dele. Podem utilizar, estudar, compartilhar e copiar ou modificar o referido software, por se tratar de software livre. Os desenvolvedores GNU do Projeto GNU definem software livre assim:

“Software livre” significa software que respeita a liberdade e a comunidade dos usuários. Grosso modo, significa que os usuários têm a liberdade de executar, copiar, distribuir, estudar, alterar e melhorar o software. Assim, “software livre” é uma questão de liberdade, não de preço. Para entender o conceito, você deve pensar em “grátis” como “liberdade de expressão”, e não como “cerveja grátis”.

Portanto, embora o software livre (liberdade de expressão) possa acabar sendo gratuito (cerveja grátis), na verdade trata-se de promover um ambiente de desenvolvimento que se concentra no progresso da ciência da computação e da engenharia de software por meio do melhoria coletiva, compartilhamento e aprendizagem do código de qualquer software livre.

O Projeto GNU tem uma visão muito nobre sobre software e faz campanha porque acredita que todo usuário e criador merece essa liberdade. Não só permite que o público controle o programa e o que ele faz, mas também o software proprietário faz o oposto, controlando o usuário através do controle do programa pelo desenvolvedor, o que resultaria em um instrumento de poder injusto. Com as liberdades essenciais do software livre (que consiste em executar o programa como você deseja, estudar como ele funciona, redistribuí-lo quando quiser e distribuir suas próprias modificações), o software a engenharia torna-se mais como uma ciência pura que permite ter documentos em vez de patentes, permitindo que cada programador dê uma olhada na teoria de código de alguém, suas metodologias e seus estilo de programação preferido para aprofundar sua própria compreensão de como funciona e reunir insights para seu desenvolvimento pessoal. Além disso, permite que ele pegue o software e modifique-o.

A palavra “proprietário” usada para descrever software não-livre não implica apenas que o funcionamento interno do código seja legalmente alheio a outras partes; também implica que o proprietário do software que você usa (seja um aplicativo que você baixa ou um sistema operacional que você executa) é o criador e, portanto, o proprietário decide se você pode copiá-lo ou compartilhá-lo. Essas obstruções não-livres levam a que menos pessoas utilizem o programa e aprendam com ele, e à incapacidade dos utilizadores de modificar, adaptar ou corrigir o programa. Deixando de lado os fundamentos mais éticos sobre a coesão social e as suas ideologias restritivas, este dano material tem um impacto notável na futuro da ciência da computação e dos consumidores, especialmente considerando que a ciência da computação e seus subprodutos estão interligados com a vida dos usuários - e com seu futuro - mais do que nunca hoje.

Não há pegadinha. Mas há coisas que incomodam os OEMs. As pessoas que tentam modificar software livre licenciado sob GPL devem cumprir algumas regras.

Primeiro de tudo, os termos devem estar disponíveis para qualquer pessoa que receba uma cópia do trabalho licenciado pela GPL, e qualquer pessoa quem adere aos termos da GPL tem permissão para compartilhar, estudar e modificar o trabalho, bem como seu derivados. Ao contrário de outras licenças, a GPL faz permitir que software livre (liberdade de expressão) não seja gratuito (cerveja grátis), ao contrário de outras licenças que proíbem explicitamente a distribuição comercial.

Um licenciado ou distribuidor da GPL não pode impor restrições adicionais aos direitos concedidos pela GPL - proibindo a distribuição de software GPL sem a divulgação explícita de sua natureza, ou sob sigilo contratos. Todas as patentes utilizadas no software GPL estão disponíveis para uso ilimitado para aqueles que cumprem os termos da GPL.

A GPL também exige que os programas distribuídos como binários pré-compilados sejam acompanhados de uma cópia do código-fonte e uma isenção de responsabilidade informando ao usuário ou desenvolvedor que o software é licenciado pela GPL ou livre para ser estudado, compartilhado ou modificado sob a GPL. E uma das partes mais importantes, a GPL exige que os distribuidores forneçam a todos os destinatários uma licença junto com o programa, bem como tornar o código-fonte acessível através de algum meio para aqueles que o solicitarem, juntamente com instruções claras sobre como obter o código-fonte.

O Android está licenciado sob Apache 2.0 licença, e não GPL. Apache é uma licença mais “permissiva” e não apresenta os mesmos requisitos da GPL. Não exige que você distribua o código-fonte de um trabalho coberto e o trabalho derivado não carrega necessariamente a licença Apache, como a GPL mais viral, contanto que você inclua sua licença.

Assim, enquanto a GPL promove o crescimento do software livre, o Apache é mais libertário em sua abordagem de como os termos de derivações futuras se desenvolvem. E os OEMs podem, por exemplo, pegar software licenciado Apache, adicionar suas skins, inchaço e o que quer que seja, e então fechá-lo e manter a fonte fechada. É isso que a Xiaomi e muitos OEMs fazem. Mas o kernel Linux no qual o Android baseia suas bases é não licenciado sob Apache, para Linux é GPLv2 software e devido a esta propriedade “viral” ou “infecciosa” da GPLv2, o kernel do Android baseado em Linux que usa o código GPLv2 do Linux tem permanecer GPLv2.

A Xiaomi não divulgou os códigos-fonte do Kernel de sua filial Android. Como o Kernel deles é baseado no Kernel do Android, que é baseado no Kernel do Linux, que é GPLv2, os termos da GPLv2 são levados até a Xiaomi. Se eles tivessem usado seu próprio Kernel, teriam todo o direito de não distribuir sua fonte e também não teriam obrigação de fazê-lo. Mas ao modificar e distribuir software GPL, eles têm que cumprir os termos da GPL, neste caso a GPLv2.

Usuários e desenvolvedores merecem acesso aos códigos-fonte do Kernel e, para o XDA, a falta de tal parte importante da fonte modificada do kernel Android da Xiaomi significa que ajustes e ajustes em dispositivos Xiaomi leva um golpe. E para uma comunidade dedicada a explorar o mundo do Android e transformá-lo no melhor que pode ser, ficar de fora da modificação do software dos telefones desde o OEM que mais cresce no mundo é um assunto importante.

Houve petições para fazer com que a Xiaomi cumprisse a GPLv2 e divulgasse as suas fontes no devido tempo, mas até agora só conseguiram fazer-nos promessas. E essas promessas ainda não foram cumpridas. Hugo Barra, vice-presidente da Xiaomi, prometeu em outubro de 2014 que veríamos fontes de kernel para o Mi3 em “nas próximas semanas”, mas isso nunca aconteceu. Além disso, em dezembro do ano passado, eles disseram que suas fontes não seriam divulgadas em 2014, mas em 2015.

Por que a Xiaomi não divulgou as fontes do seu dispositivo Mi3 no devido tempo? Hugo Barra disse em dezembro que não o fizeram para evitar vazamento de informações sobre seus próximos dispositivos. Ele afirma:

“O código-fonte do kernel para esses dispositivos contém uma quantidade significativa de código-fonte que será usado em dois modelos futuros. Se lançarmos o código-fonte do kernel em seu estado atual, estaremos revelando mais do que gostaríamos sobre dispositivos futuros. Vamos mudar isso daqui para frente, mas neste momento é uma restrição com a qual temos que conviver. Esperamos que você entenda esta posição e sentimos muito pela frustração que possamos ter causado!”

Isso justifica suas ações? Claro que não. Eles são um fabricante bilionário em uma indústria bilionária e sabiam muito bem que seu código funcionava sob os termos da GPLv2 e que tinham que cumpri-lo. Em 2013 um anúncio foi feito exibindo com orgulho o código aberto do Xiaomi Kernel. Eles fizeram um grande alarido sobre os desenvolvedores serem capazes de personalizar ROMs para smartphones Xiaomi, e seus apologistas elogiaram a Xiaomi como sendo “tudo sobre compartilhamento de código de código aberto”. Avançamos um ano e seus códigos-fonte são atrasados ​​por razões injustificáveis, quando suas fontes do Kernel deveriam ter sido distribuídas para consumidores desde o início, sem esperar que os consumidores os persigam com forcados e sem cuspir na cara deles com absurdos atrasos. E isso nem leva em conta o trabalho daqueles que os precederam, e o proverbial porcaria que a Xiaomi (e todos os outros OEMs que não seguem a GPLv2) os enfrenta toda vez que lançam um novo dispositivo.

Quero especificar uma última coisa para os leitores que não estão familiarizados com a distinção: GPL é uma licença e não um contrato. Algumas jurisdições vêem distinções importantes entre estes dois, uma vez que os contratos são executáveis ​​por lei de contrato e as licenças são abrangidas direito autoral. Portanto, quebrar o prazo de uma licença ainda é judiciável. Os distribuidores que não aceitam os termos e condições da GPL não podem copiar e distribuir software GPL nos termos da lei. Por terem optado por distribuir o software, são culpados de infração aos olhos da lei.

Quer alguém discorde da visão do GNU de software livre democrático, aberto e inclusivo, ou não, não toma as decisões da Xiaomi, e sua reiterada violação dos termos que eles aderiram, menos ainda errado. Eles estão lucrando com o Android a uma velocidade que nenhum rival viu e eles não seguem as regras que fizeram do Android o que é hoje, as regras que permitiram aos OEMs e aos desenvolvedores individuais fomentar o crescimento e o progresso dentro do ecossistema do sistema operacional. As regras que milhões de pessoas respeitaram respeitosamente para criarem as suas próprias carreiras de sucesso, suas próprias empresas de sucesso, e nosso hobby favorito no XDA.

De uma perspectiva prática, tratar disto num tribunal não é a coisa mais fácil. O governo da China tem conhecimento do roubo de patentes, pirataria e violações de direitos autorais de todos os tipos e tipos que acontecem no país, mas não está disposto a fazer nada a respeito. Muitos analistas e acadêmicos culpam isso plágio latente que a China tem visto há anos, alguns sugerindo que poderia ser um parte integrante da filosofia confucionista em que a cultura chinesa se baseia em grande parte. Mas, quer os académicos, os analistas ou os empresários frustrados estejam certos ou não, o problema da violação dos direitos de autor na China abrange todo o espectro de produtos, e o Android não é diferente.

A Xiaomi está em destaque como um dos OEMs mais importantes da atualidade, com um reconhecimento de marca que cresce a cada dia e uma possível incursão no mercado americano em breve. Embora suas infrações não signifiquem necessariamente muito para o consumidor casual do Android, elas têm um impacto severo não apenas nos desenvolvedores, mas no ecossistema como um todo. Como sugere o Projeto GNU, esta prática específica, especialmente neste caso específico, prejudica o progresso do nosso querido software.

E isso também é uma questão de respeito e humildade. Deixo-vos com uma citação de um revolucionário visionário que reconheceu que o seu impacto no mundo se deu graças ao trabalho anterior daqueles que o precederam. Esperemos que a Xiaomi adote essa filosofia um dia, cumpra os termos e ajude o Android a prosperar como só ele pode.