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