Replicant (işletim sistemi)

Replicant, tüm tescilli Android bileşenlerini özgür yazılım eşdeğerleriyle değiştirmeyi amaçlayan Android mobil platformuna dayalı özgür bir işletim sistemidir (OS). Birkaç farklı model akıllı telefon ve tablet bilgisayar için kullanılabilir durumdadır. Android ile aynı programlama dillerinde yazılmıştır (dolaylı olarak çatallanmıştır). Değişiklikler çoğunlukla C dilindedir; değişiklikler çoğunlukla işletim sisteminin Linux çekirdeği ve onu kullanan sürücüler gibi alt düzey kısımlarındadır.

Replicant ismi, Blade Runner filmindeki kurgusal replika androidlerden alınmıştır. Replicant, Free Software Foundation ve kısmen NLnet tarafından desteklenir ve sponsor olunur.

Replicant projesi, 2010 yılının ortalarında, HTC Dream cihazı için tamamen özgür bir Android türevi üretmeye çalışan çeşitli girişimleri birleştirme çabasıyla başladı. Orijinal ekip Bradley M. Kuhn, Aaron Williamson, Graziano Sorbaioli ve Denis 'GNUtoo' Carikli'den oluşuyordu. Proje, HTC Dream'i işlevsel hale getirmek için gerekli olan özgür olmayan parçalar için hızlı bir şekilde değişim kodunun yazılmasına yol açtı. Değiştirilecek ilk bileşen, sesin özel bir kitaplık olmadan çalışmasına izin verdi. Replicant başlangıçta kendi FOSS uygulama deposunu sağladı ve daha sonra F-Droid ile değiştirildi.

Modem ile iletişimi sağlayan Radio Interface Layer yazılımının yerini ücretsiz kod alarak telefon kısmını kullanılabilir hale getirdi. GPS kullanan bir kitaplık daha sonra orijinal olarak başka bir telefon için yazılmış olan ücretsiz koddan uyarlandı ve HTC Dream'in GPS'in Replicant ile çalışmasına izin verdi.

Replicant'ın ilk sürümleri Android Açık Kaynak Projesi kodunu temel alırken, 2.2 (Nisan 2011) ve sonraki sürümleri daha fazla cihazı desteklemeyi kolaylaştırmak için CyanogenMod'u temel olarak kullandı. 1 Şubat 2017 tarihli bir blog gönderisinde, Replicant projesi, CyanogenMod projesi durdurulduğu için Replicant'ın gelecekteki sürümlerinin LineageOS'a dayanacağı söylendi.

Geliştirme devam ettikçe, orijinal Replicant ekibinin birçok üyesi projeden emekli oldu ve Denis "GNUtoo" Carikli orijinal ekipten hala aktif olarak proje üzerinde çalışan tek üye haline geldi. Nisan 2011'de, Paul Kocialkowski projeye katılmaya karar verdi ve işletim sistemini Nexus S ve Galaxy S cihazlarına başarıyla taşıdıktan sonra yavaş yavaş ana Replicant geliştiricisi oldu.

Ancak 2014'te Replicant geride kaldığı için eleştirildi. "CyanogenMod 4.4.4'e kadar çıkarken, Replicant hala Android 4.2'de takılı kalıyor. CM hemen hemen her şeyde çalışır, ancak Replicant yalnızca iki ila dört yıllık birkaç cihaz tarafından desteklenir. Ayrıca, Replicant tescilli sürücüleri değiştirmeyi amaçlarken, aslında herhangi bir aygıt için eksiksiz bir sürücü yığınına sahip değildir." Mozilla gibi diğerlerinin akıllı telefon işletim sistemleri çabaları sonuç alamayınca Replicant varlığını devam ettirdi.

Mart 2014'te, Replicant geliştiricileri, çok çeşitli Samsung Galaxy ürünlerinde bulunan ve temel bant işlemcisinin cihazın depolama alanını okumasına ve yazmasına bazen normal kullanıcı ayrıcalıklarıyla ve bazen cihaz modeline bağlı olarak kök kullanıcı olarak izin veren bir güvenlik açığı buldu ve kapattı. Replicant'ın baş geliştiricisi Paul Kocialkowski bunun bir arka kapı olduğunu iddia etti, ancak buna Azimuth Security'de kıdemli bir güvenlik araştırmacısı olan Dan Rosenberg, "bu fonksiyonu uzaktan çalıştırma yeteneği için neredeyse hiçbir kanıt olmadığını" söyledi. Apple donanımının işletim sistemi yazılımını içermeyen benzer istismarlara dair bazı kanıtlar var ve "ayrıntılı yöntemler, Apple'ın "belleniminden (firmware)" veya genellikle üretici tarafından cihaza programlanmış kalıcı yazılımdan doğrudan yararlanıyor." Ubuntu'nun kurucusu daha önce benzer endişeleri dile getirmişti.

3 Ocak 2013'te proje, Replicant 4.0 SDK'yı Android SDK'nın tamamen özgür bir alternatifi olarak yayınladı. Replicant SDK, Google'ın bir mülkiyet sözleşmesi kapsamında eklentiler ve ikili dosyalar için lisansı güncellemesine yanıt olarak yayınlandı. Replicant'ın SDK'sı, 28 Nisan 2017'de Debian tarafından paketlenen ücretsiz SDK lehine durduruldu.