Replicant (операційна система)

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку
Replicant
Replicant logo
Розробник Денис Каріклі, Йонас Кюльмяля, Філ Бергамо, Павло Коціалковські[1]
Родина ОС Android (Linux)
Робочий стан Поточна
Вихідна модель Відкрите програмне забезпечення
Початковий випуск Середина 2010; 14 років тому (2010)
Репозиторій https://git.replicant.us/
Менеджер пакетів APK
Тип ядра Монолітне ядро (Linux)
Користувацький
простір
Bionic C library[2][3], mksh shell[4], утиліти рідного ядра, деякі утиліти з NetBSD[5]
Ліцензія Apache License 2.0, GNU GPLv2, and various other licenses
www.replicant.us
Replicant 6.0 на Samsung Galaxy Note II.
Приклад інформації про телефон у Replicant, включаючи короткий опис апаратного забезпечення

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

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

Історія[ред. | ред. код]

Проект Replicant розпочався у середині 2010 року зі спроби об'єднати різні ініціативи, які намагалися створити повністю вільну версію Android для пристрою HTC Dream. Початкова команда складалася з Бредлі М. Куна[en] (англ. Bradley M. Kuhn), Аарона Вільямсона (англ. Aaron Williamson), Граціано Сорбайолі (англ. Graziano Sorbaioli) та Дениса «GNUtoo» Каріклі (англ. Denis ‘GNUtoo’ Carikli)[13][14][15][16]. Проект швидко призвів до написання коду для заміни невільних компонентів, необхідних для роботи HTC Dream. Перший компонент, який було замінено, дозволив аудіо працювати без пропрієтарної бібліотеки. Replicant спочатку надавав власний репозиторій додатків FOSS, який пізніше був замінений на F-Droid[17][18][неякісне джерело][19][неякісне джерело]. У червні 2022 року команда Replicant оголосила, що F-Droid було видалено[20].

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

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

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

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

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

Релізи[ред. | ред. код]

У наведеній нижче таблиці перераховано основні релізи Replicant:

Версія Дата випуску На основі Примітки
Old version, no longer supported: 2.2[32] 26 квітня 2011 року Android 2.2 «Froyo»
Old version, no longer supported: 4.0[33] 15 листопада 2012 року Android 4.0 «Ice Cream Sandwich» Випущено п'ять оновлень; останнє, 0005, було випущене 29 вересня 2013 року[34].
Older version, yet still supported: 4.2[35] 19 січня 2014 року CyanogenMod 10.1/ Android 4.2.2 «Jelly Bean» Випущено чотири оновлення; останнє, 0004, було випущене 1 вересня 2015 року[36].
Current stable version: 6.0[37] 7 травня 2017 року LineageOS 13.0/ Android 6.0.1 «Marshmallow» Випущено три оновлення; останнє, 0003, було випущене 10 грудня 2017 року. Було випущено двох кандидатів на реліз для 0004. RC2 було випущено 22 липня 2020 року[20].
Future release: 10[38] N/A LineageOS 17.1/ Android 10 Замінено графічний драйвер для підвищення продуктивності.
Легенда:
Стара версія
Стара версія, все ще підтримується
Остання версія
Остання бета-версія
Майбутній реліз

Безпека[ред. | ред. код]

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

Розвиток[ред. | ред. код]

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

Апаратна підтримка[ред. | ред. код]

Сумісні пристрої[ред. | ред. код]

Сфера застосування проекту Replicant поступово розширилася підтримкою пристроїв Nexus One, Nexus S та Galaxy S. Нижче приведено перелік пристроїв, що підтримуються станом на січень 2014 року, при цьому для роботи Wi-Fi і Bluetooth необхідні пропрієтарні прошивки[8] У 2017 році з появою версії 6.0 кількість сумісних пристроїв подвоїлася[49].

Пристрій Клас пристрою Кодове ім'я Версія Replicant 2D графіка 3D графіка Звук Телефонія Мобільні дані NFC GPS Датчики Камера Wi-Fi Bluetooth
Nexus S Смартфон crespo 4.2 Так Ні Так Так Так власницька[50]
вільний простір користувача
Ні Так Так власницька власницька
Samsung Galaxy S Смартфон galaxysmtd 4.2 Так Ні Так Так Так Н/Д Ні Так Так власницька власницька
Samsung Galaxy S2 Смартфон galaxys2 6.0 Так (fast) Ні Так Так Так Ні Ні Так Так власницька власницька
Samsung Galaxy Note (original) Смартфон n7000 4.2 Так (slow) Ні Так Так Так Ні Ні Так Ні власницька власницька
Galaxy Nexus Смартфон maguro 4.2 Так Ні Так Так Так Так Ні Так Ні власницька власницька
Samsung Galaxy Tab 2 (7.0) Планшет p3100 4.2 Так (fast) Ні Так Так Так Н/Д Ні Так Ні власницька власницька
Samsung Galaxy Tab 2 (10.1) Планшет p5100 4.2 Так (slow) Ні Так Так Так Н/Д Ні Так Ні власницька власницька
Samsung Galaxy S3 Смартфон i9300 6.0 Так Ні Так Так Так Так Ні Так Так (задня) / власницька (передня) власницька власницька
Samsung Galaxy Note 2 Смартфон n7100 6.0 Так Ні Так Так Так Так Ні Так Так (задня) / власницька (передня) власницька власницька
Goldelico OpenPhoenux GTA04 Смартфон gta04 4.2 Так Ні Так В процесі розробки В процесі розробки Н/Д Так В процесі розробки В процесі розробки власницька власницька

Вимоги до пристрою[ред. | ред. код]

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

Див. також[ред. | ред. код]

Примітки[ред. | ред. код]

  1. а б People - Replicant (англ.). Redmine.replicant.us. Процитовано 30 вересня 2013.
  2. Replicant. replicant.us (англ.).
  3. android/platform/bionic/ (англ.).
  4. android/platform/external/mksh/ (англ.).
  5. android/platform/system/core/toolbox/.
  6. а б в г McAllister, Neil (26 липня 2013). FSF passes collection plate for free Android clone Replicant. The Register (англ.). Процитовано 23 січня 2014.
  7. Amazon's Fire OS Burned by Google, says EC. Is It Really a Rival? (англ.). 2 вересня 2019. Архів оригіналу за 23 квітня 2021. Процитовано 1 липня 2020.
  8. а б Replicant Status. redmine.replicant.us (англ.). Процитовано 28 березня 2015.
  9. Replicant Developer's Guide. Replicant Wiki (англ.). Процитовано 18 січня 2016.
  10. Sharwood, Simon (23 січня 2017). Stallman's Free Software Foundation says we need a free phone OS. The Register (англ.). Процитовано 12 лютого 2018.
  11. NLnet; Graphics acceleration on Replicant. nlnet.nl (англ.). Процитовано 14 грудня 2019.
  12. NLnet; Finish porting Replicant to a newer Android version. nlnet.nl (англ.). Процитовано 14 грудня 2019.
  13. Replicant: distribution Android 100% libre (англ.). LinuxFr.org. 20 вересня 2010. Процитовано 30 вересня 2013.
  14. Byfield, Bruce. Replicant: The Struggle for Free Mobile » Linux Magazine. Linux Magazine (амер.). Процитовано 8 листопада 2019.
  15. Musings on Software Freedom for Mobile Devices - Bradley M. Kuhn ( Brad ) ( bkuhn ). ebb.org (англ.). Процитовано 8 листопада 2019.
  16. FSF launches fundraising program for Replicant, the fully free Android-based mobile OS. SD Times (амер.). 25 липня 2013. Процитовано 8 листопада 2019.
  17. Puttergill, Rowan (3 жовтня 2011). Replicant: Making Android truly free. Memeburn (англ.). Burn Media.
  18. Currie, Andrew (24 серпня 2011). F-Droid, the Android app store for freedom beards. Open attitude. (Blog) (англ.). Архів оригіналу за 26 серпня 2011. Процитовано 30 вересня 2013.
  19. а б Par aKa (10 жовтня 2011). Le projet Replicant ou Android totalement libre présenté par PaulK (англ.). Framablog. Процитовано 30 вересня 2013.
  20. а б GNUtoo (3 червня 2022). New Replicant 6.0 0004 release and Replicant 11 status. | Replicant (амер.). Процитовано 3 серпня 2022.
  21. а б Constantin, Lucian (13 березня 2014). Flaw gives backdoor access to some Samsung Galaxy devices. Computerworld (англ.). Процитовано 11 листопада 2019.
  22. Manuel Jose (July 2013). A Fully Free Android based Mobile OS? FSF is Aiming for the Skies with Replicant Project (англ.). techdrivein.com. Процитовано 2 січня 2014.
  23. Rohan Pearce (10 березня 2012). Replicant developer interview - Building a truly free Android (англ.). techworld.com. Архів оригіналу за 14 березня 2012. Процитовано 2 січня 2014.
  24. Daniel Fuller (10 серпня 2016). Replicant FOSS Android Project Hits Marshmallow (англ.). androidheadlines.com. Процитовано 12 лютого 2018.
  25. Replicant 6.0 development updates. Replicant blog (blog) (англ.). February 2017. Процитовано 20 лютого 2017.
  26. Replicant developer interview - Building a truly free Android - Interview - Techworld.com (англ.). Features.techworld.com. Процитовано 30 вересня 2013.
  27. Klint Finley (30 жовтня 2013). The Quest to Build a Truly Free Version of Android (англ.). wired.com. Процитовано 12 лютого 2018.
  28. Ron Amadeo (29 липня 2014). The great Ars experiment—free and open source software on a smartphone?! (англ.). arstechnica.com. Процитовано 12 лютого 2018.
  29. Klint Finley (9 грудня 2015). Mozilla Is Giving Up on Its OS for Smartphones (англ.). wired.com. Процитовано 12 лютого 2018.
  30. Kocialkowski, Paul (1 липня 2015). Replicant source code hosting and RMLL 2015. Replicant blog (англ.). Replicant.
  31. John Gold (17 січня 2017). Free Software Foundation shakes up its list of priority projects (англ.). networkworld.com. Архів оригіналу за 18 січня 2017. Процитовано 12 лютого 2018.
  32. Replicant 2.2 SDK Available. Replicant (англ.). 26 квітня 2011. Процитовано 20 листопада 2017.
  33. Kocialkowski, Paul (16 листопада 2012). Replicant 4.0 0001 images release. Replicant (англ.). Процитовано 20 листопада 2017.
  34. Kocialkowski, Paul (1 жовтня 2013). Replicant 4.0 0005 images release. Replicant (англ.). Процитовано 20 листопада 2017.
  35. Kocialkowski, Paul (22 січня 2014). Replicant 4.2 kicks out!. Replicant (англ.). Процитовано 20 листопада 2017.
  36. Kocialkowski, Paul (2 вересня 2015). Replicant 4.2 0004 images release. Replicant (англ.). Процитовано 20 листопада 2017.
  37. Wiedmeyer, Wolfgang (13 травня 2017). Replicant 6.0 released. Replicant (англ.). Процитовано 20 листопада 2017.
  38. RE: Question about replicant 9. Replicant (англ.). 25 червня 2020. Процитовано 27 червня 2020.
  39. а б Kocialkowski, Paul (12 березня 2014). Replicant developers find and close Samsung Galaxy backdoor. FSF's blog (англ.). Free Software Foundation. Процитовано 19 вересня 2014.
  40. Paul Kocialkowski. Samsung Galaxy Back-door. Replicant Wiki (англ.). Процитовано 5 липня 2014.
  41. Replicant Developers Find Backdoor In Android Samsung Galaxy Devices - Phoronix. www.phoronix.com (англ.). Процитовано 4 листопада 2019.
  42. Technoethical S3 phone with Replicant - Technoethical. tehnoetic.com (англ.). Процитовано 8 листопада 2019.
  43. Goodin, Dan (14 березня 2016). "Virtually no evidence" for claim of remote backdoor in Samsung phones. Ars Technica (англ.). Condé Nast. Процитовано 4 вересня 2016.
  44. Jack Crosbie (23 березня 2017). Wikileaks: The CIA Has Been Spying on Apple Users for Years (англ.). inverse.com. Процитовано 12 лютого 2018.
  45. Lucian Constantin (18 березня 2014). Proprietary firmware poses a security threat, Ubuntu founder says (англ.). pcworld.com. Процитовано 12 лютого 2018.
  46. Replicant 4.0 SDK release | Replicant project (англ.). Replicant.us. 3 січня 2013. Архів оригіналу за 8 вересня 2013. Процитовано 30 вересня 2013.
  47. What's up with the Android SDK? - Paul Kocialkowski's coding blog (англ.). Code.paulk.fr. 5 січня 2013. Процитовано 30 вересня 2013.
  48. There won't be a Replicant 6.0 SDK because there is already something better (англ.). Replicant.us. 28 квітня 2017. Процитовано 6 травня 2017.
  49. New Replicant 6.0 Update Doubles the Number of Supported Devices. xda-developers (амер.). 18 вересня 2017. Процитовано 4 листопада 2019.
  50. Nexus S (I902x) (англ.). free userspace, proprietary loaded firmware
  51. TargetsEvaluation - Replicant (англ.).

Посилання[ред. | ред. код]