Home Ostalo Sistem Je li Android zaista samo Linux?

Je li Android zaista samo Linux?

162
0
SHARE

Je li Android Linux? Pitanje za koje se čini da bi trebalo imati jednostavan odgovor poput “da” ili “ne”, no koje se svejedno godinama provlači i tema je debate zajednica korisnika Androida i Linuxa. Problem je u tome što nema univerzalno prihvaćene definicije šta čini neki softver Linuxom, te ljudi koriste pojam “Linux” za razne stvari (koje su, svakako, međusobno povezane). Zato ćemo u ovom tekstu objasniti šta je ustvari Linux (odnosno na šta ljudi mogu misliti kada spominju Linux), te ćemo proći neke od najčešćih argumenata koji se koriste u raspravama da li je Android Linux. Pa, počnimo.

Šta je Linux?

Kada neko kaže riječ “Linux”, to se može odnositi na:

  • Linux kernel. U pitanju je mali, no esencijalni dio operativnog sistema. Kernel je zaslužan za povezivanje sa hardverom uređaja pružajući tako razne servise ostatku sistema i obavljajući zadatke poput upravljanja procesorom i memorijom uređaja. Linux kernel, kao i svaki drugi kernel, može funkcionirati samo unutar većeg operativnog sistema, te je nemoguće imati operativni sistem sastavljen samo od Linux kernela. Dakle, kako je Android operativni sistem, nakon svega rečenog jasno je da se ne može reći da je Android isto što i Linux kernel.
  • Distribucija Linuxa. To je operativni sistem koji sadrži Linux kernel i dodatni softver poput alatki, biblioteka i grafičkog interfejsa, te dodatne unaprijed instalirane aplikacije poput web preglednika, uređivača teksta, muzičkog plejera i slično. Čak iako je dodatni softver dizajniran da radi isključivo na Linux kernelu, on nije dio Linux kernela. Kako svako može uzeti Linux kernel, dodati vlastiti softver i tako napraviti kompletan operativni sistem, jasno je da postoji mnogo Linux distribucija.
  • GNU/Linux. Većina Linux distribucija je kombinacija Linux kernela i GNU softvera, što je dovelo do potpuno nove diskusije – da li se svaka Linux distribucija treba zvati GNU/Linux. No, ostavit ćemo tu diskusiju po strani jer nije tema ovog teksta, te ćemo spominjati čisto Linux distribucije. Sve što trebate znati jeste da postoji iznimna povezanost između Linux kernela i GNU softvera.

Iako pojam “Android” nije umotan u konfuziju kao pojam “Linux”, svejedno postoje dvije različite “grane” Android operativnog sistema.

Prva je Android Open Source Project (AOSP), što je ustvari projekat u kojem Google objavljuje izvorni kod Androida. Iako je moguće sastaviti funkcionalan operativni sistem od ovog koda, tom operativnom sistemu nedostajat će funkcionalnosti koje mnogi korisnici očekuju od Androida, odnosno funkcije poput Google mobilnih servisa (GMS) – kolekcije Google-ovih aplikacija i API-ova koji su za mnoge korisnike fundamentalan dio Android iskustva. AOSP je otvorenog koda, no ne pruža iskustvo koje korisnici očekuju.

Operativni sistem na vašem Android telefonu je baziran na AOSP Androidu, no sa nekim modifikacijama proizvođača i dodatkom koda koji dodaje funkcionalnost Androidu i čini ga prepoznatljivim među korisnicima.

Većina argumenata protiv klasifikacije Androida kao Linux odnosi se na obje interpretacije Androida, no postoji nekoliko varijacija odgovora u zavisnosti od toga da li Android definišete kao AOSP ili operativni sistem koji dolazi instaliran na vašem telefonu/tabletu.

Zašto Android jeste Linux

Postoji samo jedan argument koji ide u prilog klasifikaciji Androida kao Linuxa: svaki telefon ili tablet koji radi na Androidu sadrži Linux kernel. Čak možete provjeriti i na kojoj verziji kernela radi vaš uređaj u Postavkama -> O uređaju -> Informacije o softveru.

Međutim, Android nije samo Linux kernel već čitav funkcionalan operativni sistem koji sadrži mnoge dodatne biblioteke, grafički interfejs, aplikacije i mnogo toga. Tako da, kada pitamo “je li Android Linux”, zapravo postavljamo pitanje “je li Android distribucija Linuxa”.

Kako je nemoguće procijeniti koliko Linux distribucija postoji, jako je teško sastaviti listu pravila koje čine neki operativni sistem Linux distribucijom. Pored prisustva Linux kernela, definicija Linux distribucije je poprilično otvorena za interpretaciju, te ćemo u nastavku diskutovati o nekoliko najčešćih argumenata koji protiv činjenice da je Android distribucija Linuxa.

Zašto Android nije Linux

Ne koristi standardni Linux kernel

Kako bi kreirali operativni sistem koji zadovoljava jedinstvene potrebe mobilnih uređaja, tim ljudi koji radi na Androidu napravio je određeni broj izmjena Linux kernela uključujući dodatne, specijalizirane biblioteke, API-ove i alatke koje su ili izvučene iz BSD-ja (verzija UNIX-a) ili razvijene “od nule” specijalno za Android.

Kako se čitava argumentacija koja tvrdi da Android jeste Linux distribucija svodi na to da Android sadrži Linux kernelu u sebi, pomislili biste da ovaj argument pobija prvi i da je rasprava gotova i odgovor jasan. No, nije neuobičajeno da Linux distribucija ima izmijenjen Linux kernel. Kako je isti razvijen pod GNU licencom, besplatno je i dozvoljeno modificirati njegov izvorni kod, te mnoge Linux distribucije to i rade. Na pitanje koliko je Android tim zapravo izmijenio Linux kernel, navodi se da promjene koje je Android tim izvršio “nisu toliko velike, te su unutar granica promjena koje programeri inače prave”.

Android ne uključuje GNU softver i biblioteke

Ukoliko se slažete da je GNU softver karakteristika koja definira distribuciju Linuxa, onda nema teoretske šanse da je Android distribucija Linuxa. Android sadrži jako malo GNU softvera, i još bitnije, Android tim razvio je prilagođenu C biblioteku po imenu Bionic umjesto korištenja GNU C biblioteke. Čak i ako se ne slažete da Linux distribucija mora sadržavati GNU softver, i dalje nema sumnje da odsustvo GNU čini Android mnogo drugačijim od zajednice Linux distribucija.

Nemoguće je pokretati Linux aplikacije na Androidu, i obrnuto

Ako ste odabrali nekoliko različitih Linux distribucija, šanse da je Linux kernel jedina zajednička tačka među njima je jako velika. Štaviše, Android i Linux imaju jako malo zajedničkog softvera da je nemoguće pokretati standardne Linux aplikacije na Androdu. Ista stvar važi obrnuto: Android aplikacije zahtijevaju biblioteke specifične za Android te runtime, ali i mnogo drugog softvera koji pronalazimo samo u Android operativnom sistemu, tako da je Android aplikacije moguće pokretati samo na Android operativnom sistemu.

Android je produkt Google-a

Google možda jeste učinio izvorni kod baze Androida dostupnim kroz AOSP, no sve nove verzije se razvijaju privatno unutar Google-a. Također, oficijelna web stranica AOSP-a jasno naglašava činjenicu da su vođe projekta uposlenici Google-a koji, također, posjeduje prava na Android logo i ime što znači da se morate konsultovati sa Google-om ukoliko želite vaš rad objaviti po Android imenom.

Sa druge strane, iako neke Linux distribucije imaju jaku vezu sa nekom kompanijom poput Canonical ili Ubuntu, neobično je da Linux distribucija bude razvijana u tajnosti i potpuno od strane jedne organizacije.

Androidov status “otvorenog koda” je diskutabilan

Iako Fondacija besplatnog softvera preporučuje uklanjanje vlasničkog i zaštićenog softvera iz Linux distribucija, ne postoji striktno pravilo koje kaže da Linux distribucije ne smiju sadržavati zaštićeni softver. Štaviše, mnoge Linux distribucije sadrže binarne drivere proizvođača (također poznate kao binarni blob-ovi), te se postavlja pitanje koliko je zapravo otvoren kod Androida u odnosu na “tipične” Linux distribucije?

Mnogi će se složiti da je AOSP daleko od idealnog projekta otvorenog koda, no kod AOSP-a je dostupan široj javnosti za uređivanje i distribuciju. Međutim, dok AOSP baza dođe do krajnjeg korisnika dogode se mnoge modifikacije – bilo da se odlučite za Nexus/Pixel uređaj ili uređaj nekog drugog proizvođača.

Iako ovo ne diskvalificira Android od toga da bude označen kao distribucija Linuxa, svejedno sadrži mnoge vlasničke aplikacije poput ranije spomenutih Google mobilnih servisa te aplikacija proizvođača poput Samsungovog TouchWiz korisničkog interfejsa. Iako mnoge Linux distribucije sadrže vlasnički kod, za većinu ljudi termin “Linux” ima jaku asocijaciju sa softverom otvorenog koda.

Modifikacija Androida nije moguća – po zadanom

Linux distribuciju je poprilično lako modificirati na samom početku, no sa Androidom nije tako. Osjetljive particije su po zadanim vrijednostima na Androidu zaključane. Iako se iste mogu otključati čineći Android mnogo lakšim za modifikaciju, ali i i čineći ga ranjivijim u procesu root-ovanja uređaja.

Zaključak

Dakle, vratimo se na početak i pitanje: Da li je Android distribucija Linuxa?

Ultimativno, sve zavisi od vaše definicije Linux distribucije. Ukoliko se vodite onim da Linux distribucija mora sadržavati GNU softver, odgovor je definitivno ne. Ukoliko na distribuciju Linuxa gledate kao na operativni sistem koji sadrži Linux kernel i ispunjava jedan ili više dodatnih kriterija, odgovor je opet ne. Iako svaki Android uređaj sadrži Linux kernel, Android uglavnom ne zadovoljava ostale karakteristike i kriterije koji se dovode u vezu sa Linux distribucijama. No, ako je vaša definicija distribucije Linuxa jednostavno operativni sistem koji je baziran na Linux kernelu, onda da, Android je distribucija Linuxa. Iako mnogo drugačija i specijalizirana distribucija, svejedno je distribucija.

Dakle, kao što je rečeno, sve je do vaše definicije Linux distribucije.

(androidauthority)