Geçtiğimiz haftalarda, iOS ile Android telefonlar için hazırlanan bir infografikle karşılaştım. Grafikte telefonların ne sıklıkta güncellendiği ve işletim sisteminin güncel sürümüne ulaşıp ulaşmadıkları yani fragmentation durumları gösterilmişti.
İnfografik, Apple’ın 3 yıl önce çıkardığı modelin bile hâlâ güncel olduğu, ancak 3 yıl önceki Android telefonların bu güncelliğe kavuşamadığı gibi çarpıtılmış bir sonuca varıyordu. Peki, böyle bir sonuç neden çarpıtılmış?
Mobil işletim sistemleri, bilgisayarda kullandıklarımızdan farklı olarak, donanıma özel olarak hazırlanıyor. Apple cephesinde, donanımı da yazılımı da üreten aynı olduğu için (hatta yazılım donanıma özel hazırlandığı için), geriye yönelik desteğin daha çok olduğu su götürmez bir gerçek. Android tarafında ise, genel kullanım için hazırlanan bir mobil işletim sisteminin donanım üreticileri tarafından adapte edilmesi söz konusu oluyor. Üreticiler de nedense piyasadaki ürünlerinin güncelliğini korumak konusunda hevesli olmuyorlar.
Android hani açık kaynak kodluydu?
Konuya teknik açıdan bakarsak, zaten Android işletim sistemiyle sunulan bir telefona güncelleme sunmak, o kadar da zor bir işlem değil. Bu konuda üreticilerin kulaklarını çekmek lazım, tembel tenekeler… Peki, bu güncellemeler nasıl hazırlanıyor, önce onu öğrenelim.
Bildiğiniz üzere Android, Linux işletim sistemi çekirdeğini kullanıyor. Google, yeni bir Android sürümü çıkarırken, genellikle çekirdek sürümünü de güncelliyor. Buraya kadar her şey şahane, işin sıkıntılı kısmı bundan sonra başlıyor. Donanım sürücüleri diye bildiğimiz şeyler, aslında sistemin donanım ile “konuşabilmesi” için hazırlanmış çekirdek modülleri. Bu modüller de, çekirdek sürümüne özel olarak hazırlanıyor (kaynak kodundan derleniyor).
Açık kaynak kodun ne anlama geldiğini bilen insanların Android’li telefonlardan beklentileri genellikle böyle oluyor: “Android açık kaynak kodlu, yeni sürümü derleyip telefonda çalıştırırız, olur biter.” Bitmiyor işte, hatta başlayamıyor bile… Çünkü, ne yazık ki, telefonlarımızdaki donanımların sürücüleri açık kaynak kodlu değil. Bu nedenle, üreticinin yeni Android sürümünü derlemesini ve kullanıma sunmasını beklemek zorunda kalıyoruz.
Android’deki fragmentation sorunu
Android cephesinin belki de en büyük sorununu bu oluşturuyor. Yaşanan tecrübeler, açık kaynağın, hem yazılım hem de donanım tarafında teknolojinin gelişimine büyük katkılar sağladığını gösterirken; kaynak kodlarını açmayan üreticiler, Apple gibi büyük bir rakibin yanında müşterilerini daha fazla hayal kırıklığına uğratmaktan öteye geçemiyorlar.
Android işletim sistemli mobil cihaz üreticilerinin de, 3 yıl boyunca yazılım yükseltme seçeneği sunduğu, fragmentation sorununun azaldığı günleri görmek dileğiyle…