Nuovi dettagli su Google Fuchsia: sarà il successore di Android?

Nuovi dettagli su Google Fuchsia: sarà il successore di Android?

Emergono interessanti novità sul sistema operativo Google Fuchsia, la cui gestazione era già stata annunciata l'anno scorso pur con enormi dubbi e perplessità. Oggi si sa qualcosa in più e ci prendiamo la libertà di fare qualche ipotesi a fronte delle nuove rivelazioni

di Alessandro Bordin pubblicato il nel canale Telefonia
GoogleAndroid
 

Il parco circolante di terminali Android, a livello mondiale, si conta in miliardi di pezzi. Questo sistema operativo, nelle diverse versioni, vanta una diffusione che non ha precedenti nel mondo della tecnologia, tanto che ha qsuperato Microsoft Windows nella classifica del sistema operativo più utilizzato per accedere ad Internet. Stiamo parlando di sistemi operativi, non di browser, motivo per cui viene incluso tutto ciò che permette di navigare, dal PC allo smartphone passando per i tablet. In altre parole: Android - che si usa sugli smartphone - ha superato Windows - presente su oltre il 90% dei PC portatili e non -  come strumento per andare sul Web.

Ci si pensa poco, ma Android è nato prima delle app, prima dell'approccio completamente touch, prima del ciclone iOS che ha cambiato molte delle carte in tavola.

Problema: esistono al mondo svariati modelli di smartphone che adottano differenti versioni di Android, molte delle quali non più aggiornabili per una lunghissima serie di motivi a cui faremo accenno fra poco. Secondo problema: Android è nato prima di iOS (5 novembre 2007 il primo,  9 gennaio 2009 il secondo), ma è innegabilmente il secondo ad aver dato una svolta al modo di interagire con i nostri smartphone. La conseguenza è stata un adattamento di Android, nel tempo, ad assumere via via la forma di un sistema operativo mobile che rispondesse sempre più alle soluzioni più gradite dal pubblico. Ci si pensa poco, ma Android è nato prima delle app, prima dell'approccio completamente touch, prima del ciclone iOS che ha cambiato molte delle carte in tavola. Sia chiaro, il risultato è stato notevole e pienamente convincente, ma se Google avesse messo le basi al proprio sistema operativo mobile dopo aver avuto ben chiaro come si sarebbe evoluto il mercato, avrebbe fatto le stesse scelte su cui poggiava il neonato Android? Molto probabilmente no.


Google Fuchsia. Questo il logo finora apparso

Nell'agosto dell'anno scorso, in questa notizia, abbiamo parlato per la prima volta di Google Fuchsia (indica sia un colore, sia un tipo di fiore), un misterioso sistema operativo su cui si è speculato molto, e su cui speculeremo anche noi oggi in questo articolo, giusto per essere chiari, traendo spunto da alcuni leak ai quali Arstechnica ha avuto accesso. Secondo le prime ipotesi dell'epoca, Fuchsia poteva essere inteso come qualcosa che potesse far confluire Chrome OS e Android in un unico sistema operativo. Un'altra ipotesi vedeva Fuchsia come OS destinato a dispositivi come il router OnHub di Google o altri prodotti di terze parti in quell'universo chiamato IoT. Insomma, qualcosa sì di interessante, ma non certo come potrebbe esserlo un potenziale successore di Android.

Addio Kernel Linux e GPL

Già l'anno scorso si sapeva e giungono ora ulteriori conferme: Fuchsia non sarà basato su kernel Linux e non adotterà licenza GPL. Utilizzerà un nuovo microkernel denominato Magenta, a sua volta derivato da Little Kernel (LK). Partiamo dalla licenza: non adottare quella GPL non sottointende per nulla sbattere la porta in faccia a quel grosso margine di libertà che è uno degli elementi più importanti su cui appoggia il successo di Android. Fuchsia adotterà licenza BSD a 3 clausole (quella originale a 4 clausole includeva l'obbligo di dichiarare lo sviluppo ad opera dell'Università di Berkeley, rendendola di fatto un messaggio pubblicitario e contemporaneamente incompatibile con la GPL, N.d.R.), oltre alla licenza MIT (di fatto software libero) e a quella Apache 2.0. Facile intuire che ci saranno sempre e comunque molti margini di utilizzo di Fuchsia per le terze parti, semplicemente sono adeguamenti più giuridici che altro per il passaggio ad un kernel differente.

Perché? Lo scopo è avere più cose sotto controllo: si pensi ad esempio che Google Pixel utilizza ancora oggi il kernel Linux 3.18 del 2014, e in un mondo che corre molto veloce Google sente il peso di dover attendere tempistiche altrui per aggiornamenti e adeguamenti vari. L'interfaccia e le applicazioni sono scritte utilizzando Google Flutter SDK, un progetto che produce effettivamente codice cross-platform che può essere eseguito su Android e iOS. Le applicazioni di Flutter sono scritte in Dart (riconosciuto come standard dall'Ecma) il cui sviluppo lo si deve alla stessa Google.  Il render grafico sarà a carico di Escher, che può sfruttare API OpenGL o Vulkan.

Leak sull'interfaccia standard di Fuchsia, Armadillo UI

L'interfaccia si mostra in questi giorni nella sua veste più grezza, ma che inizia a destare qualche "sospetto" sul fatto che Fuchsia potrebbe non essere destinato solo a IoT e router. Non a caso gli screenshot sono presi da smartphone e tablet e tutto sembra muoversi verso questa direzione. Non è un caso inoltre che Magenta, già l'anno scorso, era dato come kernel in grado di soddisfare le esigenze di smartphone e computer moderni, dotati di processori potenti e grandi quantitativi di RAM, con periferiche arbitrarie per il calcolo computazionale. Alla faccia dei router e dell'IoT. E' possibile scaricare il sorgente e compilare l'interfaccia di Fuchsia con un APK Android e installarlo su un dispositivo Android.

Ecco gli screenshot trapelati in rete più o meno volontariamente, non lo sapremo mai. La schermata home prevede la foto del profilo, l'icona della batteria, la posizione geografica, l'immancabile barra Google e una generale "pulizia" degli elementi grafici. Si tratta di test, nulla funziona veramente, ma scorrendo le immagini di vede chiaramente come il progetto stia prendendo una direzione fortemente "mobile" e poco IoT, come a tracciare la linea verso cui tendere per un futuro e ipotetico sistema operativo mobile a tutti gli effetti.

Compatibiltià app Android in Fuchsia?

Questa è la parte potenzialmente più difficile, forse più che mettere in piedi un sistema operativo da zero o quasi. Ma Google ci ha sicuramente pensato: la funzionalità "cross platform" della Flutter SDK ben si presta ad un piano di transizione. Se in qualche modo Google riuscisse a convincere gli sviluppatori a scrivere app in Flutter, creerebbe un ecosistema app in grado di girare su iOS, Android e, ovviamente, Fuchsia. Google ha già dimostrato di poter eseguire codice per Android su sistemi operativi differenti come Chrome OS, motivo per cui è facile supporre (ma tutto da dimsotrare) che Google possa aver pensato ad un espediente per garantire piena compatibilità delle app puramente Android anche su Fuchsia. Ma, ripetiamo, siamo sempre nel campo delle ipotesi e delle speculazioni.

Ma sarà vero?

Partiamo da una considerazione importante: tutte le aziende più importanti in campo IT, siano essere Google, Apple, Microsoft, IBM e altre ancora, danno inizio a progetti che potrebbero non vedere mai la luce del sole. Anzi, questa cosa succede molto spesso. Sono più i progetti abbandonati di quelli che si concretizzano in qualcosa di effettivamente realizzabile. Fuchsia potrebbe non nasce mai? Certo, è una possibilità. Sulla realizzabilità del progetto però ci viene incontro uno sviluppatore del progetto, Travis Geiselbrecht, che nel canale Fuchsia IRC scrive: "non è un giochino, non è un progetto fermo al 20% del suo sviluppo, non è certo un progetto morto di cui dobbiamo dimenticarci."

Ora ricordiamoci le premesse di questo articolo e guardiamo idealmente Google Fuchsia da maggiore distanza, per coglierne tutte le implicazioni: si vede un kernel sviluppato da Google con una SDK tutta nuova sviluppata anche questa da Google, che sfrutta un linguaggio di programmazione, Dart, ideato sempre da Google. Questo significa avere molto più controllo sul tutto, dagli aggiornamenti fino alle compatibilità. Insomma, non ci viene da escludere a priori che Fuchsia possa essere un giorno il successore di Android, da qualche parte verso l'anno 2020. Molto resta da fare, tutto può succedere (come arenarsi definitivamente per motivi imprevedibili), ma il tutto avrebbe un senso. E che senso.

27 Commenti
Gli autori dei commenti, e non la redazione, sono responsabili dei contenuti da loro inseriti - info
Uncle Scrooge09 Maggio 2017, 12:12 #1
Secondo problema: Android è nato prima di iOS (5 novembre 2007 il primo, 9 gennaio 2007 il secondo).

Articolo scritto da Benjamin Button
Mith8909 Maggio 2017, 14:59 #2
ragionando da profano un'idea potrebbe essere questa: avere un "cuore" del sistema operativo uguale per tutti, non personalizzabile da Samsung e co., affiancato da una interfaccia grafica liberamente modificabile. Un cosa interessante sarebbe se l'interfaccia fosse poi liberamente sostituibile con quella standard google, in modo che nel momento che quella del brand del telefono non viene più aggiornata si può comunque aggiornare il telefono (kernel + GUI) con le ROM ufficiali google

dico boiate?
matrix8309 Maggio 2017, 15:10 #3
Originariamente inviato da: Mith89
ragionando da profano un'idea potrebbe essere questa: avere un "cuore" del sistema operativo uguale per tutti, non personalizzabile da Samsung e co., affiancato da una interfaccia grafica liberamente modificabile. Un cosa interessante sarebbe se l'interfaccia fosse poi liberamente sostituibile con quella standard google, in modo che nel momento che quella del brand del telefono non viene più aggiornata si può comunque aggiornare il telefono (kernel + GUI) con le ROM ufficiali google

dico boiate?


Più o meno, perchè si può fare gia adesso con Android quello che dici. Il problema è che molti driver di hardware incluso in alcuni telefoni non sono open source o comunque non disponibili al pubblico. Molte volte bisogna ricorrere a blob estratti as-is. In altri casi i produttori non prevedono o rendono difficile il flash di rom fuori dalle ufficiali (bisogna passare da recovery non ufficiali quando è possibile).
Alessandro Bordin09 Maggio 2017, 15:24 #4
Originariamente inviato da: Uncle Scrooge
Secondo problema: Android è nato prima di iOS (5 novembre 2007 il primo, 9 gennaio 2007 il secondo).

Articolo scritto da Benjamin Button


No, l'ho scritto io ma il secondo doveva essere 2009, è partito un 2007
Grazie della segnalazione, ho corretto.
Erotavlas_turbo09 Maggio 2017, 18:55 #5
Originariamente inviato da: matrix83
Più o meno, perchè si può fare gia adesso con Android quello che dici. Il problema è che molti driver di hardware incluso in alcuni telefoni non sono open source o comunque non disponibili al pubblico. Molte volte bisogna ricorrere a blob estratti as-is. In altri casi i produttori non prevedono o rendono difficile il flash di rom fuori dalle ufficiali (bisogna passare da recovery non ufficiali quando è possibile).


Vero, ma passare a un kernel con licenza diversa dalla GPL non risolverebbe questo problema.
Ovvero AOSP è la sola versione open source di android che richiede i componenti closed source binari esterni per funzionare.
Le versioni "reali" (quelle fornite dai produttori) di android sono comunque closed source e non presentano questo problema.
Passando a un kernel come fuchsia i componenti closed source binari sarebbero comunque necessari e non verrebbero integrati nel kernel (a meno che i produttori non rilasciassero il sorgente).
Dal punto di vista delle licenze, non tecnico, il vantaggio di abbandonare linux a favore di fuchsia è solo di google.
pabloski09 Maggio 2017, 19:22 #6
Originariamente inviato da: Erotavlas_turbo
Vero, ma passare a un kernel con licenza diversa dalla GPL non risolverebbe questo problema.


Potrebbe o non potrebbe. Quello che rende e' possibile, e' utilizzare un modello di sviluppo che mantenga la retrocompatibilita' delle api in-kernel o, nel caso in questione, un microkernel con un'interfaccia per i driver retrocompatibile.

In questo caso puoi usare lo stesso driver con diverse versioni del kernel. Come avviene con Windows in pratica, che puoi usare driver per 7 con 10.

Originariamente inviato da: Erotavlas_turbo
Le versioni "reali" (quelle fornite dai produttori) di android sono comunque closed source e non presentano questo problema.


Beh no, il kernel e' sempre GPL e non puoi utilizzarlo senza rispettarne la licenza. Questo non e' un problema per chi realizza applicazione user, ma lo e' per chi realizza i driver. Infatti il driver puo' essere fornito come blob binario, collegato al kernel tramite un pezzo di codice staticamente linkato al kernel ( Nvidia fa cosi' ad esempio ).

Nel caso di Android viene fornito in gpl ( spesso ma non sempre ) la parte kernel di un driver, mentre la parte specifica per Android e' solo binaria. Ad esempio i driver grafici sono fatti cosi'. Certo la domanda che sorge e' oltretutto semplice, ovvero perche' diavolo non forniscono driver opensource, che tanto non e' che dentro ci sono i segreti di Atlantide.


Originariamente inviato da: Erotavlas_turbo
Passando a un kernel come fuchsia i componenti closed source binari sarebbero comunque necessari e non verrebbero integrati nel kernel (a meno che i produttori non rilasciassero il sorgente).


Ma il modello di sviluppo cambierebbe totalmente, grazie al fatto che e' un microkernel. E cambiando la licenza, si potrebbero aggiungere componenti senza dover rilasciare il tutto come opensource.

Originariamente inviato da: Erotavlas_turbo
Dal punto di vista delle licenze, non tecnico, il vantaggio di abbandonare linux a favore di fuchsia è solo di google.


A me viene il dubbio che Google ci possa guadagnare qualcosa. Google ha aggiunto poco e niente al kernel, mentre si e' avvalso di una valanga di tecnologie implementate per Linux da altri.

Se ci guadagnano qualcosa, e' in termini di non dover avere a che fare con la comunita' Linux e poter avere il totale controllo sull'evoluzione del progetto. Pero' il problema e' nato principalmente da loro. Se seguissero le regole e manutenessero il codice come si deve, invece di lasciare in giro solo schifezza, magari la loro roba verrebbe accettata per l'inclusione nel main line.
Erotavlas_turbo09 Maggio 2017, 22:43 #7
Originariamente inviato da: pabloski
Potrebbe o non potrebbe. Quello che rende e' possibile, e' utilizzare un modello di sviluppo che mantenga la retrocompatibilita' delle api in-kernel o, nel caso in questione, un microkernel con un'interfaccia per i driver retrocompatibile.

In questo caso puoi usare lo stesso driver con diverse versioni del kernel. Come avviene con Windows in pratica, che puoi usare driver per 7 con 10.

Il problema di avere driver aggiornati per una diversa versione del kernel, soprattutto se questi sono closed source, non è un problema degli sviluppatori del kernel, ma degli sviluppatori dei driver stessi.

Wikipedia
Defining a useful ABI and keeping it stable is less the responsibility of the Linux kernel developers or of the developers of the GNU C Library, and more the task for Linux distributions and Independent software vendor (ISVs) who wish to sell and provide support for their proprietary software as binaries only for such a single Linux ABI, as opposed to supporting multiple Linux ABIs.


Originariamente inviato da: pabloski
Beh no, il kernel e' sempre GPL e non puoi utilizzarlo senza rispettarne la licenza. Questo non e' un problema per chi realizza applicazione user, ma lo e' per chi realizza i driver. Infatti il driver puo' essere fornito come blob binario, collegato al kernel tramite un pezzo di codice staticamente linkato al kernel ( Nvidia fa cosi' ad esempio ).


Mi sono perso forse qualche novità? Ovvero, non ho mai visto i produttori di dispositivi con android a bordo rilasciare il codice sorgente dei loro SO.
Quindi tutti i produttori di dispositivi android (samsung, LG, htc, etc.) violano la licenza GPL e i moduli closed source collegati al kernel linux sono illegali.
Lo stesso per nvidia come hai fatto notare tu.

Originariamente inviato da: pabloski
Nel caso di Android viene fornito in gpl ( spesso ma non sempre ) la parte kernel di un driver, mentre la parte specifica per Android e' solo binaria. Ad esempio i driver grafici sono fatti cosi'. Certo la domanda che sorge e' oltretutto semplice, ovvero perche' diavolo non forniscono driver opensource, che tanto non e' che dentro ci sono i segreti di Atlantide.

Sono d'accordo. Mi potresti fornire dei riferimenti per driver GPL lato kernel?

Originariamente inviato da: pabloski
Ma il modello di sviluppo cambierebbe totalmente, grazie al fatto che e' un microkernel. E cambiando la licenza, si potrebbero aggiungere componenti senza dover rilasciare il tutto come opensource.


Essendo microkernel cambierebbe lo sviluppo dei servizi rispetto ai moduli di un kernel monolitico, senza dubbio.
La licenza MIT (fuchsia) consente di inglobare i driver binary e non rilasciare il codice sorgente. Cosa cambia rispetto ad adesso? Anche per linux ci sono i driver binary e non viene rilasciato il codice sorgente (violando la licenza GPL).

Originariamente inviato da: pabloski
A me viene il dubbio che Google ci possa guadagnare qualcosa. Google ha aggiunto poco e niente al kernel, mentre si e' avvalso di una valanga di tecnologie implementate per Linux da altri.

Se ci guadagnano qualcosa, e' in termini di non dover avere a che fare con la comunita' Linux e poter avere il totale controllo sull'evoluzione del progetto. Pero' il problema e' nato principalmente da loro. Se seguissero le regole e manutenessero il codice come si deve, invece di lasciare in giro solo schifezza, magari la loro roba verrebbe accettata per l'inclusione nel main line.


Esatto questo è il guadagno. Aver sfruttato linux e la sua comunità per diffondere android (con la violazione della licenza GPL da parte dei produttori di dispositivi) e adesso passare a un progetto fatto in casa.
woddy6810 Maggio 2017, 02:22 #8
A me viene il dubbio che Google ci possa guadagnare qualcosa. Google ha aggiunto poco e niente al kernel, mentre si e' avvalso di una valanga di tecnologie implementate per Linux da altri.

Non è proprio così, Google è una delle aziende più attive sul kernel Linux, addirittura Linus T. ha elogiato Google per la qualità delle sue patch.
Erotavlas_turbo10 Maggio 2017, 08:55 #9
Originariamente inviato da: woddy68
Non è proprio così, Google è una delle aziende più attive sul kernel Linux, addirittura Linus T. ha elogiato Google per la qualità delle sue patch.


Mi potresti riportare le fonti della tua affermazione?
[LIST]
[*] Linux foundation report 2016-2015 (kernel 3.19 a 4.7) google non è nelle prime 10 posizioni fonte1 fonte2.
[*] Linux foundation report 2015-2014 (kernel 3.11 a 3.18) google non è nelle prime 10 posizioni fonte1.
[*] Linux foundation report 2013-2012 (kernel 3.3 a 3.10) google è in decima posizione con circa 2.5% di contributo fonte1 fonte2.
[/LIST]

Addirittura un elogio a google, fonte?
Bromden10 Maggio 2017, 10:27 #10
Io un piccolo sospetto per questo "eventuale" (quanto ipotetico) cambio di piattaforma ce l'avrei. Le ragioni possono essere tante, e alcune di queste sono state anche citate sia nell'articolo che nei commenti qui sopra; ma io dico, tutto ciò non ha impedito a questo os di imporsi ad un livello tale che nemmeno Google stessa avrebbe inizialmente osato immaginare. E allora quale sarebbe la vera motivazione che potrebbe spingere Mountain View a questo cambio di piattaforma? Secondo me, Google sta temendo la concorrenza. Non quella riconosciuta e conclamata (Apple e Microsoft, per intenderci; con questi sapeva sin dall'inizio di doverci fare i conti), ma quella emergente e con reali possibilità di successo. Sto parlando di Tizen, con alle spalle il colosso coreano Samsung (che guardacaso è anche il campione in casa Android). Perchè Tizen dovrebbe rappresentare un pericolo? Innanzitutto è su base Linux (come e forse più di Android) e poi perchè in ambito IoT e soprattutto Wereables, sta già facendo le scarpe ad Android (nella sua variante Wear). Basti vedere questo grafico:

Link ad immagine (click per visualizzarla)

Senza contare che a livello smartphone sono già alla terza o quarta generazione ma che però restano volutamente confinati nei mercati emergenti, India in primis, per non fare concorrenza ai vari Galaxy & co. Ma che in qualsiasi momento potrebbero far switchare i loro top gamma con Tizen.
Questo pericolo Google l'ha ben presente e in tal caso, contribuire ad una piattaforma che è in comune con la concorrenza non gli va sicuramente giù. Aggiungo che però questo salto potrebbe avere più pericoli che vantaggi. Vedremo come si svilupperà la cosa...

Devi effettuare il login per poter commentare
Se non sei ancora registrato, puoi farlo attraverso questo form.
Se sei già registrato e loggato nel sito, puoi inserire il tuo commento.
Si tenga presente quanto letto nel regolamento, nel rispetto del "quieto vivere".

La discussione è consultabile anche qui, sul forum.
 
^