[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [RiminiLUG-General] MeeGo: resoconto sulla conferenza di Bologna



On Mon, Mar 21, 2011 at 11:00:13AM +0100, Ivan tarozzi wrote:
> On 20/03/2011 15:58, Massimo Gengarelli wrote:
> [cut]
> >E' un "quel che succederà", e a giudicare dai vari joke che sono
> >comparsi nel web dal 10 febbraio (circa, non ricordo di preciso la
> >data) ad oggi, sembra essere una paura collettiva.
> 
> Continuo a non capire (faccio finta dai...) O è un "quel che
> succederà" (in un futuro certo) o è una paura collettiva.  In ogni
> caso oggi il framework (Qt) *non è*  è proprietà di Microsoft e
> (ripeto) spero che anche se questo dovesse accadere si possano
> trovare strade alternative per mantenere vivo il progetto.

E' un mix di entrambi.. il fatto è che bisogna guardarla un po' alla
larga e un po' molto in maniera sospetta per poter percepire un minimo
di pericolo. Io ti pongo ora il *mio* personalissimo punto di vista,
che può facilmente non essere condiviso, ma bisogna partire da un
presupposto fondamentale: Microsoft ha le mani in pasta in diversi
progetti opensource.
Prendiamo il progetto Mono e valutiamolo sotto tre differenti punti di
vista che non necessariamente vanno in conflitto l'uno con l'altro:
 a) punto di vista del "developer". Mono è *spettacolare*, è un
 framework molto più che completo, ha un set di librerie vastissimo e
 non è neanche troppo complesso creare dei binding dal C al C#. C# di
 suo è un gran bel linguaggio, nato non troppo tempo fa (7 o 8 anni fa
 mi pare), ha raggiunto da poco la versione 3.0 che include
 "chiccherie" come le funzioni anonime, i "monads" e una valanga di
 altre cose che molti altri linguaggi (e.g. C++) non hanno e
 probabilmente non avranno mai. Io personalmente mi diverto tantissimo
 ad usare questo linguaggio fintanto che *ignoro* volutamente tutto
 quello che c'è dietro. La cosa divertente è che *in modo illegale*
 Mono fa anche il porting della libreria System.Windows.Forms, che è
 sotto brevetto Microsoft negli USA. Microsoft lo sa benissimo, ma ha
 recentemente dichiarato che non prenderà provvedimenti contro Mono e
 i suoi sviluppatori[1].

 b) punto di vista del "developer estremista". Mono è *il male*,
 prendere qualcosa che è di proprietà di Microsoft e portarla in quel
 modo su Linux significa solo che stiamo dando un pretesto a Microsoft
 di poter dare una bella botta all'opensource più avanti, e che
 comunque stiamo "annettendo" Microsoft in sempre più progetti. Paura,
 paura.

 c) punto di vista di "Microsoft", che è quello che più ci interessa:
 grazie a Mono posso mostrare la superiorità di un framework
 proprietario rispetto a quelli open, questa dimostrazione di forza
 può essere portata avanti se mi dimostro anche "clemente" e gli
 permetto di portare tutte le librerie su GNU/Linux; come resoconto ho
 una marea di software in più per Windows (le applicazioni scritte in
 .NET girano su una macchina virtuale, un po' come avviene in Java,
 quindi non c'è problema di compilazione "per architettura") e in
 generale un buon tornaconto economico e d'immagine.


Ora prendi il punto c), fai 2+2 e prova ad immaginare il perché
Microsoft potrebbe voler "affossare" Qt e tutti i derivati.
Microsoft ha *tutti* gli interessi per portare avanti Mono e
"distruggere" la concorrenza, che in questo caso è Qt.
Nokia dal canto suo ha dimostrato più volte che fondamentalmente della
comunità open non gliene frega più di tanto.

(Punto di vista prettamente personale, e spero di non venire lapidato:
Gtk# è nettamente più avanti rispetto a Qt)


Però dai, mi rendo conto che bisogna essere paranoici, quindi
aspettiamo :P



> Quindi il problema, dici, non è Android in se ma come viene usato
> dai vari produttori?
> Rimane a tuo parere un problema legato ai vincoli di "Android
> Market" e alle apps proprietarie di Google (che sono i punti che più
> frequentemente gli svilupaptori criticano, da quel che si legge in
> rete - premesso che io gli AppStore in genere mi stanno proprio
> antipatici)

Se non ci fosse il Market, e se potessi aggiornare il mio telefonino
semplicemente aprendo il terminale e scrivendo "yum update" (o apt-get
update), sono sicuro che me lo godrei 100 volte di più. 
Io sono d'accordissimo con te: il concetto di AppStore è bruttissimo,
è limitante e soprattutto mi "nasconde" la reale bravura del
programmatore, mostrandomi solo la sua capacità di vendere.
Tuttavia, non mi sembra che Google abbia rimosso applicazioni solo
perché erano "concorrenza", come invece ha fatto più volte Steve
Jobs. Recentemente sono state rimosse dal Market di Android alcune
applicazioni che permettevano di fare ricerche più o meno legali su
Rapidshare, TPB eccetera.. han fatto bene? Han fatto male? Diciamo che
si son parati il culo. Quelle applicazioni sono comunque scaricabili e
installabili "a parte", basta andare sul sito del developer e
scaricarsi il pacchetto. C'è comunque una vasta libertà di scelta su
ciò che si vuole installare. 
E no, non s'invalida affatto la garanzia installando un pacchetto che
non proviene dal Market (altra cavolata detta durante le conferenze).

Poi, giusto per essere chiari, "rootare" il telefono a me non ha mai
dato problemi con la garanzia. Ho avuto sia l'HTC Tattoo, che l'Acer
Liquid (che ho tutt'ora). Entrambi li ho "rootati" (per purissimo
spirito di hacking, in realtà non me ne faccio niente di root sul
telefono :D) ed entrambi li ho dovuti portare in garanzia. Zero
problemi. Addirittura Acer non mi ha neanche ripristinato l'OS con uno
loro di default.
Però probabilmente dipende dai manufacturer.



> Vorrei capire meglio questo passaggio (ripeto, non ho mai usato
> Android): Se io ho un mio device (uno smartphone o un tablet, per
> esempio) ed esce una versione nuova di Android, non riesco ad
> installare questa versione autonomamente? 
 
In linea teorica potresti riuscirci, anche se è un processo talmente
tanto lungo e complicato che di solito si attendono delle "ROM"
prefabbricate. La realtà è che molto spesso anche gli hacker più bravi
si trovano di fronte a problemi di compatibilità che devono essere
risolti dal manufacturer stesso.




> O lo posso fare ma è solo un problema di garanzia? E se non posso,
> quali sono i problemi pratici? I driver? Parti proprietarie senza le
> quali Android-vanilla è inutilizzabile su quel device?

Sfatiamo questo mito: Android-vanilla *non* ha parti proprietarie. Non
ha neanche un kernel! Quello che viene chiamato Android è - di fatto -
il set di librerie Java che permettono di dialogare con quello che sta
sotto l'usermode, la Dalvik VM e le varie brodaglie che stanno fra la
VM e il sistema operativo (ad esempio JIT); oltre a questo, sul sito
di Android è possibile scaricare sia l'SDK che la NDK (Native
Development Kit), che non è altro che un set di cross-compilatori,
librerie e tool vari per poter scrivere codice in C e compilarlo
direttamente per il cellulare.
Io ho usato l'SDK e devo ammettere che la versione 2.1 era piena di
bug e documentata non troppo bene. Spero che nel frattempo sia
migliorata. L'NDK invece non l'ho mai utilizzata perché preferisco
www.emdebian.org per avere il mio bel set di cross-compilatori
(all'inizio me li ero fatti a mano, sempre per puro spirito
d'iniziativa, poi dopo quello per armel ho preferito prendere quelli
già fatti :D).

E' il manufacturer poi che ti deve fornire un kernel, un bootloader e
- soprattutto - i driver che permettono al tuo dispositivo di
comunicare in modo corretto con la Dalvik VM, ed è qui che spesso ci
si blocca.

Ma anche qui, qual è la differenza con MeeGo/Maemo? Nessuna.
MeeGo ha delle parti proprietarie nel kernel? Sì, i device
drivers. Come Android.

MeeGo permette l'installazione di applicazioni di terze parti
proprietarie? Sì. Come Android. Il brutto di Android è che quelle
stesse applicazioni proprietarie sono di Google (che è promotrice
stessa dell'intero progetto).


> Questa è anche una mia preoccupazione... ma la pizza te la pago lo stesso :)

YAY! \o/

> Provocazione a parte, il fatto ad esempio che per diventare root
> invalido la garanzia (da quello che ho letto) non è un grosso
> vincolo, visto che quell'oggetto è MIO, pagato con alcune centinaia
> di euro?

Come ho già detto sopra: *io* personalmente non ho avuto alcun
problema con HTC e con Acer. Il telefonino che ho in tasca in questo
momento continuo a percepirlo come MIO, lo formatto quando voglio, ci
metto la ROM che preferisco, ci programmo per svacco installandoci ciò
che produco e (non dirlo troppo in giro) ci faccio anche test di
sicurezza (si chiamano così, vero?) sulle chiavi WEP che trovo in giro
a Rimini e a Bologna.
Mi manca (molto) la possibilità di aggiornarlo con la facilità di un
apt-get update, ma visto che non c'è neanche su MeeGo, direi che non
mi sento troppo indietro.. anzi.



> Altra mia ignoranza: ma su Android posso usare programmi in c? mi
> risultava che l'unico modo per eseguire un programma fosse
> attraverso la sua Java VM...

Ne ho già parlato anche prima, ora smollo l'URL (come quello di
Simoncelli):

http://developer.android.com/sdk/ndk/index.html
            ^^^^^^^^^^
    da notare che non è un sito di fanboy hacker,
    è rilasciato proprio da Android :P

In particolare, per i più pigri, cito alcuni punti:

"The Android NDK is a companion tool to the Android SDK that lets you
build performance-critical portions of your apps in native code. It
provides headers and libraries that allow you to build activities,
handle user input, use hardware sensors, access application resources,
and more, when programming in C or C++. If you write native code, your
applications are still packaged into an .apk file and they still run
inside of a virtual machine on the device. The fundamental Android
application model does not change."

E' ovvio che rimani confinato alla macchina virtuale, come ti ho
spiegato prima è Dalvik che è responsabile di comunicare con tutto il
layer sottostante, però hai la libertà di non dover passare dal
Java. E ti assicuro (non sono di parte, giuro) che a livello di
prestazioni il mio Android 1GHz batte di gran lunga il Nokia N900. E
l'ho pagato pure 300 euro di meno! :D



> Mi spiace un po' che il thread sia diventato un botta-risposta tra
> noi; evidentemente non è argomento di interesse diffuso... a me
> comunque le tue risposte sono servite, poi magari sul discorso
> Android ne parliamo sull'altro thread, ammesso che interessi a
> qualcuno.

Per me possiamo pure "splittare" sull'altro thread, forse qui abbiamo
messo un po' di paura e scaldato troppo l'aria :P


> In caso contrario evito di "perdere" tempo a scrivere in ML e magari
> me ne parli a 4 occhi quando ci sarà l'occasione di pagarti quella
> pizza che hai vinto ;)


Volentieri,  cerca di vincere una birra nel frattempo ;)

Ah, scusa se mi dilungo sempre troppo: io ci provo a stare nei 160
caratteri di un SMS ma poi mi vengono in mente alcune parentesi che
non posso proprio ignorare :P




[1]:
http://it.wikipedia.org/wiki/Mono_(progetto)#Mono_e_i_brevetti_della_Microsoft
http://punto-informatico.it/2664363/PI/News/microsoft-non-fara-guerra-linux.aspx


-- 
      Massimo Gengarelli <gengarel@xxxxxxxxxxx>
We are Microsoft. What you're experiencing is not a problem;
it is an undocumented feature.

Attachment: pgpYiI_XpFGqd.pgp
Description: PGP signature