Logo tr.androidermagazine.com
Logo tr.androidermagazine.com

Çatal 'çatal' nedir?

İçindekiler:

Anonim

Geçtiğimiz birkaç gün muhtemelen "çatal" kelimesini sayabileceğinizden daha fazla duymuşsunuzdur. Facebook bunu yaptı (olmasa da), Amazon bunu yaptı, Chrome ekibi tüm web’de böyle bir şey yaptı. Herkes kimin kimin bahsettiğinden bahsederken, kimse tam olarak ne demenin ne olduğunu ve neden bu kadar çok insanın bir sorunu olduğunu açıklamaya zahmet etmiyor.

Forking veya paramparça etme, geliştiricileri kodla birbiriyle paylaşmayan ayrı gruplara bölme eğiliminde olduğundan, 20 yıl kadar önce kötü bir itibar aldı. Gnu-Emacs / XEmacs'ın bölünmesi gibi şeylerin yaşandığı günlerde, bu önemliydi, çünkü bu büyük, açık kaynaklı projeler üzerinde çalışabilecek kadar fazla insan yoktu ve iki dal veya çatalın eklenmesi daha uzun sürüyordu. Her iki taraf için de özellikler ve ele alma sorunları. Bazı durumlarda bu hala olur, eminim, ama çoğu zaman, ayrı bir vizyona sahip olanların geride bıraktığı boşluğu doldurabilen ve onu takip etmek için kod koyan birçok geliştirici var. Ancak bazı insanlar asla unutamaz ve çatal çatallara bağlı stigma bozulur. Bütün bunları söyledikten sonra, kötü çatalların olmamış gibi davranamayız. Kararlarımızı vermeden önce sadece eylemin kendisini incelememiz gerekiyor.

Dışarıda birkaçınızın bunun ne anlama geldiğini biliyorum ve sadece tüm gürültüyü görmezden gelmeye çalışıyorsunuz, ama çoğu için kafa karıştırıcı. Bunu düzeltmeye çalışalım.

Yazılım çatalı nedir ve Android'i nasıl etkiler?

Android'i düşünün bir sürü kod. İki porsiyon vardır - AOSP'nin ne olduğu açık kaynak kodlu bölümler ve Google'ın kendisine ait olduğu tescilli bölümler. Birisi Google Android'i alıp değişiklik yapmak isterse, üs olarak kullanmak için kodu indirecek ve onunla kendi projesini oluşturacaktır. Samsung bunu yapar, HTC bunu yapar ve en sevdiğiniz ROM geliştiricisi bunu yapabilir. Ne zaman birisi mevcut kodu alırsa ve ona dayalı bağımsız (önemli bir ayrım) projesi başlatırsa, bir çatal oluşturdular. Pek çok geliştirici kodu kontrol edecek, bölümlerini düzenleyecektir, sonra değişikliklerini tümüyle tersine gönderecek, bu bir çatal değildir.

Amazon, Kindle Fire hattı için işletim sistemi kurması için Android'i zorladığında birkaç kaşını kaldırdı. Ancak, işlerin açık kaynak tarafında, Motorola'nın Cliq ya da HTC'nin Hero ile yaptıklarından ya da Samsung'un Galaxy serisi cihazlar için şimdi yaptıklarından farklı değildi. Bu, kaç tane büyük açık kaynaklı projenin çalıştığıdır. Her satıcı (belki Amazon hariç) aynı temelle çalışır, büyük olasılıkla hataları bildirir ve nihai üründe kendi kararlarını almak için giderken ters yönde düzeltmeler gönderir.

Facebook Android'i çatallamadı. Android niyet sistemini kullandı (uygulamaların birbirleriyle çalışabilmeleri ve Android'de paylaşabilmeleri için) ve ek olarak yedek bir ev içeren büyük bir uygulama geliştirdi. Sanal alanlarının içinde istedikleri veya yapmaları gereken her şeyi yapabilirler ve Android'in amaçlarını kullandıkları sürece, sistemin geri kalanıyla iletişim kurabilirler. Teknik olmak istiyorsanız, HTC, ilk önce daha iyi uyumluluk için yapılan bazı değişikliklerden bahseden, HTC First'teki Facebook Home ile daha iyi çalışmasını Android için zorlamış olabilir. Telefon çaldığında ne yaptıkları hakkında daha fazla bilgi edeceğiz.

Her durumda, kod yazmak her zaman kötü bir şey değildir ve birisi bahsettiğinde duyduğunuz tüm olumsuzlukları hak etmemektedir. Endüstri analisti Stephen O'Grady bunu şöyle özetliyor:

Bununla birlikte, müşteri açısından, çatalların veya varyantların evrensel olarak kötü olmadığını belirtmekte fayda var. Çeşitli Android versiyonları, onlardan sorumlu satıcılar için talihsiz tasarım kararlarını temsil edebilse de, uygulamalar versiyondan eşdeğerlik varsayımıyla cihazdan cihaza uyumlu durumların büyük çoğunluğundadır.

Cihazdan cihaza uyumlu uygulamaların olması Android'in tasarlanmasının nedenidir. Forking kodu bunu yapmaz. Ama başka şeyler yapar.

Android forking diğer tarafı

Çin'de, Android çalışan bir taşıyıcıdan telefon satın alabilirsiniz, ancak Google hizmeti yoktur? Tıpkı Kindle Fire gibi, Google’ın Android kodundan üretildi (bazen değiştirilmedi), ancak Google uyumlu olduğu ve Gmail veya Google Play gibi şeylerin de dahil olduğu test edilmedi. Bu uygulamalar ve çalıştırmaları gereken çeşitli sistem dosyaları açık kaynaklı değildir ve Google’dan izin almadan bunları dahil edemezsiniz.

Bu uygulamalar olmadan "farklı" (sadece "daha kötü", sadece farklı) söyleyemeyeceğim, kullanıcı deneyimi olmadan, sadece Verizon veya AT&T'den satın aldığınız bir Android telefon gibi görünüp hissedebilirler. Amazon'un yaptığı gibi onlar da farklı görünebilir ve hissedebilirler. Ancak bunların hiçbiri, Google’ın Android kodunu kaldırmadıkları için - Google’ı “sertifikalı” bir cihaz yapmamak bilinçli bir karardı. Google, Android'i bir uygulama platformu ve bir dizi uygulama çerçevesi olarak sunar. Google’ın servis uygulamalarını dahil etmemek bir uygulama platformundan daha azını yapmaz. Elbette, Google’ın Android ve Android tabanlı tüm cihazların Google’ın hizmetlerini kullanmasını tercih edeceğini düşünüyoruz, ancak bir satıcının yapması gerektiğini söyleyen hızlı ve zor bir kural yok.

Google’ın uygulamaları olmadan cihaz yapmak, Android ile iletişim kurmakla ilgisi yok. Cihazları daha az arzu edilebilir hale getirebilir veya bir gün nihai Android telefon Google'ın uygulamaları olmadan oluşturulabilir, ancak herhangi bir kod yazmadan gerçekleşebilir. İki şeyi birbirine karıştırmaktan hepimiz suçluyuz, ama yapmamalıyız.

Forking sadece bir şeydir

OEM'lerin Android'i dağıtması ve koduyla kendi projelerinde çalışması iyi değil. OEM'lerin Android'i dağıtması ve koduyla kendi projelerinde çalışması fena değil. Bu sadece hepsinin yaptığı bir şey.

Nexus fanclub bir yana, Samsung ya da HTC'nin kodu koyarak ve üzerine kurarak Android'i mahvettiğini söyleyemezsin. Her şeyi uyumlu tutarken özellikler geliştirdiler, böylece geliştirici kurallarına göre "Android" için oluşturulan uygulamalar gayet iyi çalışacak. Ve sürekli insanların satın almak istedikleri cihazları da sağlarlar. Bence bu tam olarak Google'ın Android için düşündüğü şeydi. Sonunda birinin biraz daha ileri gideceğini ve tamamen "Android" uyumlu olmayan bir şey yaratacağını biliyorlardı, ama sorun değil. Bu cihazların kullanıcıları hala İnternet’te ve Google’ın mobil web uygulamaları oldukça iyi.

Umarım, şimdi insanların Android kurmaktan bahsettiklerinde ne anlama geldiklerini biraz daha biliyorsunuz.