GPLv2 та її порушення Xiaomi

Дізнайтеся, як Xiaomi порушує умови GPL і як їхні рішення вплинуть на спільноту Android і майбутнє ОС.

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

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

Так що саме Xiaomi робить не так? І чи це незаконно, аморально чи просто некоректно? Оскільки деякі читачі, користувачі чи навіть розробники можуть бути не в курсі цих питань, давайте швидко розглянемо, що означає GPL.

Загальна публічна ліцензія GNU (GPL) — це ліцензія на безкоштовне програмне забезпечення, яка гарантує розробникам, виробникам комплектного обладнання, користувачам чи іншим організація, яка об’єднує ці три, щоб отримати необмежений доступ до основ і функціональних можливостей програмного забезпечення, яке падає під ним. Вони можуть використовувати, вивчати, ділитися, копіювати чи змінювати вказане програмне забезпечення, оскільки воно є безкоштовним. Розробники GNU проекту GNU визначають вільне програмне забезпечення так:

«Безкоштовне програмне забезпечення» означає програмне забезпечення, яке поважає свободу та спільноту користувачів. Приблизно це означає користувачі мають свободу запускати, копіювати, поширювати, вивчати, змінювати та покращувати програмне забезпечення. Таким чином, «вільне програмне забезпечення» є питанням свободи, а не ціни. Щоб зрозуміти цю концепцію, ви повинні думати про «безкоштовне» як про «свободу слова», а не як про «безкоштовне пиво».

Отже, незважаючи на те, що безкоштовне (свобода слова) програмне забезпечення може зрештою стати безкоштовним (безкоштовним пивом), воно насправді стосується сприяння середовище розробника, яке зосереджується на прогресі інформатики та розробки програмного забезпечення через колективне вдосконалення, обмін та навчання будь-якого коду безкоштовного програмного забезпечення.

Проект GNU має дуже благородний погляд на програмне забезпечення, і вони проводять кампанію, оскільки вважають, що кожен користувач і творець заслуговує на цю свободу. Це не тільки дозволяє громадськості контролювати програму та те, що вона робить, але й власне програмне забезпечення робить протилежне, контролюючи користувача через контроль розробника програми, що призвело б в знаряддя несправедливої ​​влади. Завдяки основним свободам вільного програмного забезпечення (це запускати програму так, як ви хочете, вивчати, як вона працює, перерозповсюджувати її, коли ви хочете, і розповсюджувати власні модифікації), програмне забезпечення інженерія стає більше схожою на чисту науку, яка дозволяє мати документи, а не патенти, дозволяючи кожному програмісту поглибити чиюсь теорію коду, їхні методології та їхні бажаний стиль програмування покращити власне розуміння того, як це працює, і зібрати ідеї для свого особистого розвитку. Крім того, це дозволяє йому захопити це програмне забезпечення та змінити його.

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

Немає жодної заковики. Але є речі, які дратують OEM-виробників. Люди, які намагаються змінити вільне програмне забезпечення, ліцензоване згідно з GPL, повинні дотримуватися деяких правил.

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

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

GPL також вимагає, щоб програми, які розповсюджуються як попередньо скомпільовані двійкові файли, супроводжувалися копією вихідного коду та застереження, яке інформує користувача чи розробника про те, що програмне забезпечення має ліцензію GPL або вільне для вивчення, спільного використання чи модифікації відповідно до GPL. І одна з найважливіших частин, GPL вимагає від дистриб’юторів надавати всім одержувачам ліцензію разом із програмою, а також зробити вихідний код доступним через певне середовище для тих, хто його запитуєпоряд із чіткими вказівками щодо отримання вихідного коду.

Android має ліцензію Apache 2.0 ліцензія, а не GPL. Apache є більш «дозвільною» ліцензією та не має тих самих вимог, що й GPL. Вам не потрібно розповсюджувати вихідний код закритої роботи та похідну роботу не обов’язково має ліцензію Apache, як більш вірусна GPL, якщо ви включаєте їх ліцензія.

Тож хоча GPL сприяє зростанню вільного програмного забезпечення, Apache є більш лібертаріанським у своєму підході до того, як розвиватимуться умови майбутніх похідних програм. А OEM-виробники можуть, наприклад, взяти ліцензійне програмне забезпечення Apache, додати свої скіни, роздути та інше, а потім закрити його та залишити джерело закритим. Що й роблять Xiaomi та багато OEM-виробників. Але ядро ​​Linux, на якому базується Android, є ні під ліцензією Apache, для Linux є GPLv2 програмного забезпечення та через цю «вірусну» або «інфекційну» властивість GPLv2, ядра Android на базі Linux, яке використовує код GPLv2 Linux має залишатися 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 з відкритим кодом. Вони зробили велику угоду про те, щоб розробники могли налаштовувати ПЗУ для смартфонів Xiaomi, а її апологети рекламували Xiaomi як «все про обмін кодом з відкритим кодом». Перемотайте рік вперед, і їхні вихідні коди затримуються через невиправдані причини, коли їхні вихідні коди ядра повинні були бути розповсюджені споживачі з самого початку, не чекаючи, поки споживачі погнаться за ними вилами і не плюють їм в обличчя абсурдом затримки. І це навіть не бере до уваги роботу тих, хто пішов до них, і прислів’я лайно Xiaomi (і будь-який інший OEM, який не дотримується GPLv2) бореться з ними кожного разу, коли вони випускають новий пристрій.

Наостанок я хочу сказати для тих читачів, які не знайомі з відмінністю: GPL — це ліцензія, а не контракт. Деякі юрисдикції бачать ключові відмінності між цими двома, оскільки контракти підлягають виконанню договірне право і ліцензії підпадають під авторське право. Тож порушення терміну дії ліцензії все ще підлягає судовому розгляду. Розповсюджувачі, які не приймають положення та умови GPL, не можуть копіювати та поширювати програмне забезпечення GPL відповідно до законодавства. Оскільки вони вирішили поширювати програмне забезпечення, вони є винними в порушенні закону.

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

З практичної точки зору звернутися до суду з цим питанням не найпростіше. Уряд Китаю усвідомлює про крадіжку патентів, піратство та всілякі порушення авторських прав, які відбуваються в країні, але не бажає нічого з цим робити. Багато аналітиків і вчених звинувачують у цьому прихований плагіат що Китай бачив роками, деякі припускають, що це може бути невід'ємна частина конфуціанської філософії на якому багато в чому ґрунтується китайська культура. Але незалежно від того, мають рацію науковці, аналітики чи розчаровані бізнесмени, проблема порушення авторських прав у Китаї охоплює весь спектр продуктів, і Android нічим не відрізняється.

Xiaomi перебуває в центрі уваги як один із найважливіших OEM-виробників сучасності, з впізнаваністю бренду, яка зростає з кожним днем, і можливим незабаром вторгненням на американський ринок. Хоча їхні порушення не обов’язково мають велике значення для звичайного споживача Android, вони мають серйозний вплив не лише на розробників, а й на екосистему в цілому. Як передбачає проект GNU, ця конкретна практика, особливо в цьому конкретному випадку, шкодить прогресу нашого улюбленого програмного забезпечення.

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