GPLv2 и ее нарушение со стороны Xiaomi

Узнайте, как Xiaomi нарушает условия GPL и как их решения влияют на сообщество Android и будущее ОС.

Xiaomi анонсировала свой Mi Note Pro с впечатляющими характеристиками, который оснащен новейшие процессоры Qualcomm Snapdragon наряду с большим дисплеем 2K и 4 ГБ оперативной памяти по потрясающей цене. При этом есть что-то не очень хорошее в предложениях Xiaomi, что беспокоит многих разработчиков, особенно многих найдено здесь на XDA: неоднократные нарушения Xiaomi лицензии GPLv2 для ядра Linux, которое Android (и, следовательно, устройства Xiaomi), является построен на.

Сяоми это не единственная компания, нарушившая GPL тем не менее, и в прошлом многие OEM-производители, такие как Rockchip и Micromax, тоже поступали так, и многие из них продолжают свое незаконное поведение и по сей день. Мы немного говорил об этом на XDA, а почему бы и нет? XDA — это прежде всего сообщество разработчиков, и мы известны тем, что предоставляем тысячам опытных пользователей модификации программного обеспечения, подпадающие под лицензию GPL, но наше сообщество следует

наша политика GPL и поэтому мы не видим здесь особого теневого присвоения.

Так что же именно Xiaomi делает не так? И является ли это незаконным, аморальным или просто неправильным? Поскольку могут быть некоторые читатели, пользователи или даже разработчики, которые не в курсе этих вопросов, давайте кратко рассмотрим, что означает GPL.

Стандартная общественная лицензия GNU (GPL) — это лицензия на бесплатное программное обеспечение, которая гарантирует разработчикам, OEM-производителям, пользователям и любым другим лицам организация, которая объединяет все три, чтобы иметь неограниченный доступ к основам и функциональности программного обеспечения, которое попадает под ним. Они могут использовать, изучать, делиться, копировать или модифицировать указанное программное обеспечение, поскольку оно является свободным. Разработчики GNU проекта GNU Project определяют свободное программное обеспечение следующим образом:

«Свободное программное обеспечение» означает программное обеспечение, которое уважает свободу и сообщество пользователей. Грубо говоря, это означает, что пользователи имеют свободу запускать, копировать, распространять, изучать, изменять и улучшать программное обеспечение.. Таким образом, «свободное программное обеспечение» — это вопрос свободы, а не цены. Чтобы понять эту концепцию, вам следует думать о «свободе» как о «свободе слова», а не как о «бесплатном пиве».

Таким образом, хотя бесплатное программное обеспечение (свобода слова) в конечном итоге может оказаться бесплатным (бесплатное пиво), на самом деле речь идет о поощрении среда разработки, которая фокусируется на прогрессе в области информатики и разработки программного обеспечения посредством коллективное совершенствование, обмен информацией и обучение кода любого свободного программного обеспечения.

У проекта GNU очень благородный взгляд на программное обеспечение, и они проводят кампанию, потому что верят, что каждый пользователь и создатель заслуживает этой свободы. Это не только позволяет публике контролировать программу и то, что она делает, но и является проприетарным программным обеспечением. делает противоположное, контролируя пользователя посредством контроля над программой со стороны разработчика, что приведет к в инструмент несправедливой власти. Обладая основными свободами свободного программного обеспечения (которые позволяют запускать программу так, как вы хотите, изучать, как она работает, распространять ее, когда захотите, и распространять свои собственные модификации), программное обеспечение инженерия становится больше похожей на чистую науку, которая позволяет иметь статьи, а не патенты, позволяя каждому программисту получить представление о чьей-то теории кода, их методологиях и их предпочтительный стиль программирования чтобы углубить собственное понимание того, как это работает, и собрать идеи для своего личного развития. Более того, это позволяет ему получить это программное обеспечение и модифицировать его.

Слово «собственное», используемое для описания несвободного программного обеспечения, не просто подразумевает, что внутренняя работа кода юридически запрещена для других сторон; это также подразумевает, что владелец используемого вами программного обеспечения (будь то приложение, которое вы загружаете, или операционная система, которую вы запускаете) является его создателем, и, таким образом, владелец решает, можете ли вы скопировать его или поделиться им. Такие несвободные препятствия приводят к тому, что меньше людей используют программу и учатся на ее основе, а также к неспособности пользователей изменять, адаптировать или исправлять программу. Если оставить в стороне более этические основания, касающиеся социальной сплоченности и сдерживающих ее идеологий, этот материальный вред действительно оказывает заметное влияние на общество. будущее информатики и потребителей, особенно с учетом того, что информатика и ее побочные продукты переплетаются с жизнью пользователей и их будущим. - более чем когда-либо сегодня.

Подвоха нет. Но есть вещи, которые раздражают OEM-производителей. Люди, которые пытаются модифицировать свободное программное обеспечение, лицензированное под лицензией GPL, должны соблюдать некоторые правила.

Прежде всего, условия должны быть доступны каждому, кто получает копию произведения под лицензией GPL, и любому кто придерживается условий GPL, имеет разрешение делиться, изучать и изменять произведение, а также его производные. В отличие от других лицензий, GPL делает разрешить свободное (свободу слова) программное обеспечение не быть бесплатным (бесплатное пиво), в отличие от других лицензий, которые явно запрещают коммерческое распространение.

Лицензиат или дистрибьютор GPL не может налагать дополнительные ограничения на права, предоставляемые GPL. распространение программного обеспечения под лицензией GPL без явного раскрытия его характера или при условии неразглашения контракты. Все патенты, используемые в программном обеспечении GPL, доступны для неограниченного использования тем, кто соответствует условиям GPL.

GPL также требует, чтобы программы, распространяемые в виде предварительно скомпилированных двоичных файлов, сопровождались копией исходного кода и заявление об отказе от ответственности, информирующее пользователя или разработчика о том, что программное обеспечение распространяется под лицензией GPL или свободно для изучения, распространения или изменения под лицензией GPL. И одна из самых важных частей: GPL требует от дистрибьюторов предоставить всем получателям лицензию вместе с программой, а также сделать исходный код доступным через какой-либо носитель для тех, кто его запрашивает, а также четкие инструкции о том, как получить исходный код.

Android распространяется под лицензией Апач 2.0 лицензия, а не GPL. Apache является более «разрешительной» лицензией и не предъявляет тех же требований, что GPL. От вас не требуется распространять исходный код защищенной работы и производной работы. не обязательно содержит лицензию Apache, как более вирусная GPL, если вы включаете их лицензия.

Таким образом, в то время как GPL способствует росту свободного программного обеспечения, Apache более либертарен в своем подходе к тому, как развиваются условия будущих производных. А OEM-производители могут, например, взять лицензионное программное обеспечение Apache, добавить свои оболочки, раздуть и все такое, а затем закрыть его и оставить исходный код закрытым. Именно это и делают Xiaomi и многие OEM-производители. Но ядро ​​Linux, на котором базируется Android, нет лицензирован под Apache, для Linux есть лицензия GPLv2 программного обеспечения и из-за этого «вирусного» или «заразного» свойства GPLv2, ядра Android на базе Linux, которое использует код Linux GPLv2. имеет оставаться под лицензией GPLv2.

Xiaomi не опубликовала исходные коды ядра своего подразделения Android. Поскольку их ядро ​​основано на ядре Android, которое основано на ядре Linux, это GPLv2, условия GPLv2 распространяются на Xiaomi. Если бы они использовали собственное ядро, то у них было бы полное право не распространять свой исходный код, и у них не было бы никаких обязательств делать это. Но модифицируя и распространяя программное обеспечение GPL, они должны соблюдать условия GPL, в данном случае GPLv2.

Пользователи и разработчики по праву заслуживают доступа к исходным кодам ядра, а для XDA отсутствие такого доступа важная часть модифицированного исходного кода ядра Android от Xiaomi означает, что настройка и доработка устройств Xiaomi принимает удар. А для сообщества, посвятившего себя изучению мира Android и превращению его в лучшее, что только возможно, не имея возможности модифицировать программное обеспечение телефонов с самого начала. самый быстрорастущий OEM в мире это важное дело.

Были петиции с требованием заставить Xiaomi соблюдать GPLv2 и своевременно опубликовать исходники, но пока им удалось добиться лишь наших обещаний. И эти обещания до сих пор не выполнены. Хьюго Барра, вице-президент Xiaomi, пообещал в октябре 2014 года, что мы увидим исходные коды ядра для Mi3 в «в ближайшие несколько недель», но этого не произошло. Более того, в декабре прошлого года они заявили, что их исходники будут обнародованы не в 2014 году. но в 2015 году.

Почему Xiaomi не опубликовала в свое время исходники своего устройства Mi3? В декабре Хьюго Барра заявил, что они сделали это не для того, чтобы предотвратить утечку информации о своих будущих устройствах. Он утверждает:

«Исходный код ядра этих устройств содержит значительный объем исходного кода, который будет использоваться в двух будущих моделях. Если мы выпустим исходный код ядра в его текущем состоянии, мы раскроем о будущих устройствах больше, чем хотелось бы. Мы изменим это в будущем, но сейчас это ограничение, с которым нам приходится жить. Мы надеемся, что вы понимаете эту позицию, и нам очень жаль, что мы, возможно, вызвали разочарование!»

Оправдывает ли это их действия? Конечно, нет. Они являются производителем-миллиардером в индустрии-миллиардере, и они очень хорошо знали, что их код работает под условиями GPLv2 и что они должны соблюдать ее. В 2013 было сделано объявление с гордостью щеголяя тем, что Xiaomi Kernel становится открытым исходным кодом. Они придавали большое значение тому, чтобы разработчики могли настраивать ПЗУ для смартфонов Xiaomi, а ее апологеты рекламировали Xiaomi как компанию, которая «всецело ориентирована на совместное использование кода с открытым исходным кодом». Перенесемся на год вперед, и их исходные коды задерживаются по неоправданным причинам, тогда как их исходные коды ядра должны были быть распространены потребителей с самого начала, не дожидаясь, пока потребители будут гоняться за ними вилами, и не плюя им в лицо абсурдом задержки. И это даже не учитывает труд тех, кто был до них, и пресловутую чушь Xiaomi (и любой другой OEM-производитель, который не следует GPLv2) бросает им вызов каждый раз, когда они выпускают новый устройство.

Я хочу уточнить еще одну вещь для тех читателей, которые не знакомы с этим различием: GPL — это лицензия, а не контракт. В некоторых юрисдикциях между этими двумя странами существуют ключевые различия, поскольку исполнение контрактов осуществляется Договорное право и лицензии подпадают под Авторские права. Таким образом, нарушение срока действия лицензии по-прежнему имеет место. Дистрибьюторы, не принимающие условия GPL, не могут копировать и распространять программное обеспечение GPL в соответствии с законом. Поскольку они решили распространять программное обеспечение, они виновны в нарушении закона.

Независимо от того, не согласен ли кто-нибудь с видением GNU демократического, открытого и инклюзивного свободного программного обеспечения, или нет, не принимает решений Xiaomi, и их неоднократное нарушение условий, на которые они согласились, тем более неправильный. Они зарабатывают на Android на скорости, которую не видел ни один соперник и они не следуют правилам, которые сделали Android тем, чем он является сегодня, правилам, которые позволили OEM-производителям и отдельным разработчикам стимулировать рост и прогресс в экосистеме ОС. Правила, которые миллионы людей уважительно соблюдали, чтобы построить успешную карьеру. свои успешные компании, и наше любимое хобби на XDA.

С практической точки зрения решить этот вопрос в суде – не самое простое дело. Правительство Китая знает о краже патентов, пиратстве и нарушениях авторских прав всех видов и видов, которые происходят в стране, но не желает ничего с этим делать. Многие аналитики и ученые винят в этом скрытый плагиат что Китай наблюдал в течение многих лет, некоторые предполагают, что это может быть неотъемлемая часть конфуцианской философии на которых во многом основана китайская культура. Но правы ли ученые, аналитики или разочарованные бизнесмены, проблема нарушения авторских прав в Китае затрагивает весь спектр продуктов, и Android не является исключением.

Xiaomi находится в центре внимания как один из самых важных OEM-производителей сегодня, узнаваемость бренда которого растет с каждым днем, и возможное вторжение на американский рынок в ближайшее время. Хотя их нарушения не обязательно имеют большое значение для обычного потребителя Android, они оказывают серьезное влияние не только на разработчиков, но и на экосистему в целом. Как предполагает Проект GNU, эта конкретная практика, особенно в данном конкретном случае, вредит развитию нашего любимого программного обеспечения.

И это тоже вопрос уважения и смирения. Я оставлю вам цитату дальновидного революционера, который признал, что его влияние на мир было таким благодаря предыдущей работе тех, кто был до него. Будем надеяться, что однажды Xiaomi примет эту философию, соблюдает условия и поможет Android процветать, как только она может.