Meego Italian Day 2011
Maemo: il primo sistema linux-based open source per dispositivi mobili.
Presentazione e posizionamento nel panorama informatico open-source e dei sistemi operativi per dispositivi mobili di Maemo, nato nel 2004 per volere di Nokia Corporation. Inoltre la sua importanza per il mobile middleware, i suoi pregi ed i suoi difetti, la sua origine ed il piano de “i cinque passi” sino ad oggi.
Francesco Baldassarri è studente di Ingegneria Informatica presso l’Università di Bologna. Le sue principali aree di interesse sono il software open-source, i protocolli di rete e la mobile handsets technology. In particolare ha focalizzato la sua attenzione sul sistema operativo per dispositivi mobili linux-based Maemo diventandone un membro attivo della community degli sviluppatori. Attualmente sta cooperando con il DEIS (Dipartimento di Elettronica, Informatica e Sistemistica dell’Università di Bologna) sul progetto di Delay-/Disruption- Tolerant Networking.
Maggior
Meego Italian Day 2011 - Francesco Baldassarri (1)
1. il primo sistema linux-basedopen source per dispositivi mobili. Francesco Baldassarri – MeeGoItalianDay 2011
2. Maemo: cosa? Quando? Maemo è riconosciuta essere la prima piattaforma per sistemi embedded basata su kernel linux Maemo OS viene rilasciato nel lontano 2005 come progetto di Nokia (iPhone OS 2007, Android 2008) Basato su Debian GNU/Linux Architettura supportata: processori ARM (chipset TI OMAP) Programmato in C e C++ Ultimo rilascio di versione stabile: 25 Ottobre 2010(Maemo 5 codenameFremantle PR1.3)
3. Maemo: perché? Potenza: Maemo è un sistema operativo completo, full-featured e open-source Solida architettura software grazie a Linux Disegnato direttamente per i dispositivi MID cercando di ottenere le prestazioni di un sistema multimediale completo come quello del pc di casa Ottimizzato per la migliore esperienza internet: per la prima volta applicazioni per vivere il web2.0 su un sistema basato su Linux Concezione totalmente “open” per avere il miglior processo di innovazione: perfetta sinergia tra talenti e risorse da parte di una entusiastica community di volontari (programmatori, testers, utenti, designers)
4. Maemo: componenti built-in D-BUS X WindowSystem-based GUI (graphicaluser interface) Matchbox window manager GTK+ toolkit Hildonuser interface widgets and API Busybox (GNU Core Utilities per sistemi embedded) ESD come sound server primario Gstreamer Mozilla-based browser: MicroB Macromedia Flash >6 BlueZ Telepathy, GUPnP, etc…
6. Maemo: qualche numero Numero di downloads da extras-repository di Maemo 5- 70 093 763 downloads (aggiornato al: 13/03/2011 20:05 ) Garage ufficiale (garage.maemo.org)- 54 446 sviluppatori, testers e debuggers registrati- 1 714 progetti attivi Forum ufficiale (talk.maemo.org)- membri attivi: 51 992- topic: 62 009 composti da 948 103 posts- utenti online contemporaneamente: 2 726 (05-26-10 at 03:31 PM)
9. Come Maemo si approccia all’Open Source? L’Open Source è la soluzione ideale:- Closed Source per la personalizzazione- Architettura ibrida che permette di mixare e coniugare FLOSS e software proprietari Conformazione sincronizzata e sviluppo collaborativo Contributo, integrazione e partnership con i progetti Open Source chiave e leader Community indipendente capace di contribuire all’innovazione attraverso gli usuali strumenti di sviluppo Open Source e permettendo diversi approcci di lavoro anche molto diversi
10. Maemo: un ambiente collaborativo Massima libertà per il successo del FLOSS- Codice disponibile già in fase alpha- Rilasci veloci (giornalieri e settimanali)- Stabilizzazione della piattaforma- Miglioramento delle applicazioni- SDK per l’emulazione su PC
17. Maemo: la rivoluzione (3) Ma non è tutto: un semplice smartphone può lanciare una macchina virtuale (tramite chroot) che ci permette di lanciare un sottosistema come Debian (due, o più, sistemi operativi nello stesso device, contemporantemente)
19. Maemo: il software repository e il SSU Package Manager: dpkg (Debian package management system) Update method: APT (Advanced Packaging Tool ) e Flashing Presenza di un repository solido con struttura in stile Debian/Ubuntu con cui la community può “lavorare” (non solo un Market o un AppStore) Facile aggiornamento di sistema (sia minor che major releases), upgrade di distribuzione (al contrario di Symbian, Android, etc…) non si crea frammentazione nel versioning
20. Maemo: le risorse di sviluppo Maemo SDK - crea un ambiente di sviluppo sandboxed su un sistema desktop GNU/Linux in gran parte costruito sul toolkit di cross-compilazione Scratchbox Maemo.org - questo sito possiede molti differenti repositories destinati ad essere utilizzati con gli strumenti standard di installazione per i pacchetti Debian/Ubuntu - la documentazione presente sul sito include tutorial, API references, manuali e linee guida per lo sviluppo (grafica, etc…) per fornire una panoramica efficace degli strumenti e delle metodologie necessarie nello sviluppo di applicazioni e dei services della piattaforma Forum Nokia contiene servizi di consulenza da parte di sviluppatori professionisti
21. Maemo: i cinque passi ? Nokia N900 2009 Nokia N810 Nokia N810 WiMAXEdition Nokia N800 2008 Nokia 770 2007 2005
45. Da Maemo a MeeGo… Il 15 Febbraio 2010 Nokia annuncia la partnership con Intel Corporation e pubblica la notizia della chiusura del progetto Maemo per evolvere ulteriormente la filosofia di quest’ultimo (dal semplice smartphone ad un ecosistema e ad una filosofia molto più amplia e ancor più open source) Fusione del progetto Moblin e Maemo che sfocia nella nascita di MeeGo Da “semplice” OS solo per smartphone con kernel monolitico ad intera distribuzione polivalente con kernel modulare che supporti moltissimi hardware
46. Maemo vs. Android RELEASES: Android ha creato una frammentazione nel mercato. Frequenti rilasci di codice obbligano a dover aggiornare il proprio dispositivo con grande difficoltà da parte del produttore. RELEASES: come piattaforma totalmente open-sourceMeeGo aiuterà a ridurre la frammentazione di mercato. Più facili aggiornamenti di versione tramite package manager ed RPM update method. LICENZA: Android è rilasciato sotto licenza Apache, BSD e Open Source, nel rispetto dell’EULA di Google Inc. LICENZA: MeeGo è TOTALMENTE open-source. Nessuna EULA da accettare.
47. Maemo vs. Android (2) ARCHITETTURA: Android usa DalvikVirtualMachine; ogni applicazione “gira” su una propria istanza della macchina virtuale. Questo provoca scelte obbligate nel linguaggio di programmazione da utilizzare per sviluppare le applicazioni (.jar). ARCHITETTURA: MeeGo non usa una macchina virtuale. Ogni applicazione è un processo (del resto come per Maemo). TECNOLOGIA USATA:per la maggior parte proprietaria. TECNOLOGIA USATA:per la maggior parte condivisa con la community FLOSS.
48. Maemo vs. Android (3) SVILUPPO APPLICAZIONI: solo Java/J2Me. SVILUPPO APPLICAZIONI: C, C++, C++Qt-based e qualsiasi linguaggio dopo aver installato i componenti necessari (per esempio IcedTea7 per eseguire applicazioni sviluppate in Java). TECNOLOGIA USATA:è un progetto fork di Linux. TECNOLOGIA USATA:è una completa distribuzione Linux. GESTIONE APPLICAZIONI: su Android non c’è un vero task manager, le istanze attive della macchina virtuale rimangono attive in background. GESTIONE APPLICAZIONI: c’è un performante sistema di multitasking che permette il passaggio da una applicazione attiva all’altra (come su Maemo).
50. Maemo vs. Android (4) SVILUPPO DEL SISTEMA: MeeGo è una distribuzione estremamente aperta per quanto riguarda lo sviluppo (“alla luce del sole”), in cui è coinvolta la community tramite un bugtracker ed il suggerimento di soluzioni e porzioni di codice. SVILUPPO DEL SISTEMA: Android è un progetto open source, ma il suo sviluppo rimane segreto fino al rilascio della versione.