Replicant — це вільна операційна система (ОС) на базі мобільної платформи Android, яка має на меті замінити всі пропрієтарні компоненти Android на вільні програмні аналоги. ОС доступна для кількох смартфонів і планшетних комп'ютерів. Написана на тих же мовах програмування, що й Android (від якого вона опосередковано розгалужена). Зміни були внесені переважно з використанням мови C; зміни в основному стосуються низькорівневих частин операційної системи, таких як ядро Linux і драйвери, які його використовують.

Назва Replicant пов'язане з вигаданими андроїдами-реплікантами у фільмі «Той, що біжить по лезу». Replicant спонсорується та підтримується Free Software Foundation та частково .

Історія Проект Replicant розпочався у середині 2010 року зі спроби об'єднати різні ініціативи, які намагалися створити повністю вільну версію Android для пристрою HTC Dream. Початкова команда складалася з (), Аарона Вільямсона (), Граціано Сорбайолі () та Дениса «GNUtoo» Каріклі (). Проект швидко призвів до написання коду для заміни невільних компонентів, необхідних для роботи HTC Dream. Перший компонент, який було замінено, дозволив аудіо працювати без пропрієтарної бібліотеки. Replicant спочатку надавав власний репозиторій додатків FOSS, який пізніше був замінений на F-Droid . У червні 2022 року команда Replicant оголосила, що F-Droid було видалено.

Програмне забезпечення, яке відповідає за , було замінено вільним кодом, що дозволило зробити частину телефонії придатною для використання. Бібліотека для роботи з GPS була адаптована з вільного коду, який спочатку був написаний для іншого телефону, і дозволила HTC Dream працювати з GPS із Replicant.

Ранні версії Replicant базувалися на коді Android Open Source Project, тоді як версії 2.2 (квітень 2011) і пізніші використовували CyanogenMod як основу, щоб полегшити підтримку більшої кількості пристроїв. У блозі від 1 лютого 2017 року представники проекту Replicant заявили, що майбутні версії Replicant базуватимуться на LineageOS, оскільки проект CyanogenMod було припинено.

В процесі розробки багато членів оригінальної команди Replicant пішли з проекту, і Денис «GNUtoo» Каріклі залишився єдиним членом оригінальної команди, який все ще активно працював над проектом. У квітні 2011 року Пол Кочалковскі () вирішив долучитися до проекту і поступово став головним розробником Replicant, після успішного перенесення його на пристрої Nexus S і Galaxy S.

Однак, у 2014 році, Replicant критикували за відставання. «У той час як CyanogenMod працює з версією 4.4.4, Replicant все ще застряг на Android 4.2. CyanogenMod працює майже на будь-якому присторої, а Replicant підтримується лише кількома пристроями віком від двох до чотирьох років. Крім того, хоча Replicant має на меті замінити пропрієтарні драйвери, насправді він не має повного набору драйверів для всіх пристроїв». Коли зусилля інших розробників операційних систем для смартфонів, таких як Mozilla, не принесли успіху, Replicant продовжив роботу.

Replicant спонсорується та підтримується Фондом вільного програмного забезпечення, який також розміщує вихідний код Replicant .

Релізи У наведеній нижче таблиці перераховано основні релізи Replicant: Версія Дата випуску На основі Примітки 26 квітня 2011 року Android 2.2 «Froyo» 15 листопада 2012 року Android 4.0 «Ice Cream Sandwich» Випущено п'ять оновлень; останнє, 0005, було випущене 29 вересня 2013 року. 19 січня 2014 року CyanogenMod 10.1/ Android 4.2.2 «Jelly Bean» Випущено чотири оновлення; останнє, 0004, було випущене 1 вересня 2015 року. 7 травня 2017 року LineageOS 13.0/ Android 6.0.1 «Marshmallow» Випущено три оновлення; останнє, 0003, було випущене 10 грудня 2017 року. Було випущено двох кандидатів на реліз для 0004. RC2 було випущено 22 липня 2020 року. N/A LineageOS 17.1/ Android 10 Замінено графічний драйвер для підвищення продуктивності.

Безпека

У березні 2014 року розробники Replicant знайшли та закрили вразливість, в широкому спектрі пристроїв Samsung Galaxy, яка дозволяла процесору базової смуги читати та записувати пам'ять пристрою, іноді зі звичайними привілеями користувача, а іноді як користувач root залежно від моделі пристрою. Провідний розробник Replicant Пол Коціалковскі () стверджував, що це був бекдор, але це твердження було оспорене Деном Розенбергом (), старшим дослідником безпеки в Azimuth Security, який сказав, що «фактично немає доказів, що цю функцію можна виконувати дистанційно». Існують деякі докази подібних зломів пристроїв Apple, які не стосуються програмного забезпечення операційної системи, а «описані методи безпосередньо використовують „прошивку“ Apple або вбудоване програмне забезпечення, запрограмоване на пристрої, як правило, виробником». Засновник Ubuntu раніше висловлював подібне занепокоєння.

Розвиток 3 січня 2013 року проект випустив Replicant SDK 4.0 як повністю вільну заміну Android SDK . Replicant SDK було випущено у відповідь на зміну ліцензії компанією Google для доповнень та бінарних файлів на пропрієтарні умови. Розробку SDK Replicant було припинено 28 квітня 2017 року на користь безкоштовного SDK від Debian.

Апаратна підтримка

Сумісні пристрої Сфера застосування проекту Replicant поступово розширилася підтримкою пристроїв Nexus One, Nexus S та Galaxy S. Нижче приведено перелік пристроїв, що підтримуються станом на січень 2014 року, при цьому для роботи Wi-Fi і Bluetooth необхідні пропрієтарні прошивки У 2017 році з появою версії 6.0 кількість сумісних пристроїв подвоїлася. ПристрійКлас пристроюКодове ім'яВерсія Replicant2D графіка3D графікаЗвукТелефоніяМобільні даніNFCGPSДатчикиКамераWi-FiBluetoothNexus SСмартфонcrespo4.2 вільний простір користувача Samsung Galaxy SСмартфонgalaxysmtd4.2 Samsung Galaxy S2Смартфонgalaxys26.0 (fast) Samsung Galaxy Note (original)Смартфонn70004.2 (slow) Galaxy NexusСмартфонmaguro4.2 Samsung Galaxy Tab 2 (7.0)Планшетp31004.2 (fast) Samsung Galaxy Tab 2 (10.1)Планшетp51004.2 (slow) Samsung Galaxy S3Смартфонi93006.0 (задня) / власницька (передня) Samsung Galaxy Note 2Смартфонn71006.0 (задня) / власницька (передня) Goldelico OpenPhoenux GTA04Смартфонgta044.2

Вимоги до пристрою

Пристрій має офіційно підтримуватися LineageOS/CyanogenMod (кращий варіант) або через сторонні репозиторії Повинен існувати спосіб прошити програмний пакет (через завантажувач або відновлення) за допомогою вільної програми Ядро не повинно бути підписане (завантажувач не повинен перевіряти підпис ядра) Вихідні коди ядра мають бути опубліковані Тип мережі має бути GSM, CDMA наразі не підтримується

Див. також

Примітки

Посилання