Tag Archives: open source

Lo stile Linux: Libertà e spirito di comunità!

14 Giu

Avete mai pensato di provare a passare ad un OS gratuito e libero dalle costrizioni delle compagnie software? Siete mai siete mai stati incuriositi da Linux e attratti dalla sua diversità? Io lo sono sempre stato, ma non ho mai avuto l’occasione di dedicare del tempo all’immersione nell’universo dell’Open Source (anche se sarebbe più opportuno usare il termine Free Software), fino ad ora.

Il Software Libero (Fonte: tis.bz.it)

Il Software Libero (Fonte: tis.bz.it)

Innanzitutto vorrei spiegare la differenza tra i termini appena menzionati. Il termine Free Software (Software Libero) denota il software creato con in mente la comunità e la progressione della conoscenza umana. Infatti il Free Software deve rispettare le quattro libertà fondamentali:

  • 0) La libertà di eseguire il programma per qualsiasi motivo.
  • 1) La libertà di studiare il programma e di modificarlo.
  • 2)La libertà di ridistribuire copie così che si possa aiutare il proprio vicino.
  • 3)La libertà di ridistribuire copie della tua versione modificata così che l’intera comunità possa beneficiare dei tuoi cambiamenti.

(Fonte: lezioni al corso di Rivoluzione Digitale)

Le libertà 1 e 3 impongono che il software debba essere a sorgente aperto, ossia con il codice di programmazione visibile. Vi potete rendere conto che il Free Software non è necessariamente gratis, ma solo libero.

Open Source (Sorgente Aperto), invece, è un termine creato a scopo di marketing dalle imprese per distanziarsi dal radicalismo del Free Software e attrarre i consumatori che cercano delle soluzioni “economicamente sostenibili”. Il software denominato con questo termine è effettivamente a sorgente aperto, ma non rispetta necessariamente le quattro libertà e quindi è possibile, ad esempio, che sia vietato modificare o ridistribuire il codice.

(Fonte: /CHKDSK)

(Fonte: /CHKDSK)

Dopo questo excursus posso parlare della mia esperienza con Linux: Ho provato ad installare su una macchina virtuale Linux Mint, la distribuzione basata su kernel Linux più utilizzata al mondo. Inaspettatamente non ci sono stati problemi con i driver e l’installazione è stata veloce.

Al primo avvio mi sono accorto con piacere che l’interfaccia MATE è molto simile a quella di Windows, fatto forse voluto per minimizzare i traumi dal cambiamento. I tasti per la chiusura delle finestre, ad esempio, sono nell’angolo superiore destro, invece che a sinistra come si trova solitamente nei sistemi basati su UNIX, come Mac OSX.

Il desktop di Mint (Fonte: arstechnica)

Il desktop di Mint (Fonte: arstechnica)

Dopo poco tempo dal primo avvio si incontrano tuttavia i primi problemi, il principale dei quali è: come posso utilizzare i programmi di cui ho bisogno? Molti programmi sono disponibili anche in versione Linux, ma spesso capita di dover ricorrere a un programma disponibile solo per Windows. Allora basta installare Wine, il cui acronimo significa Wine Is Not an Emulator (Wine non è un emulatore). In effetti lo si potrebbe definire un simulatore: imita i file di sistema di Windows per permettere di utilizzarne i programmi. Wine è ancora esperimentale (lo è da più di 15 anni) e non sempre funziona, ma può essere di grande aiuto.

Programma di conversione per Windows su Wine

Programma di conversione per Windows su Wine

Linux Mint si è dimostrato reattivo e leggero, dunque viene da chiedersi: Perché sono ancora pochi coloro che utilizzano le distribuzioni Linux sui propri pc? Secondo me è perché il timore dei cambiamenti resta comunque forte tra chi non sa utilizzare bene il computer. Inoltre si stanno diffondendo sempre maggiormente i tablet Android tra chi faceva un uso basico dei pc: navigare su internet, controllare la posta, giocare a qualche gioco. In questo caso si può decretare la vittoria di Linux, che è alla base di Android.

E’ tuttavia una vittoria amara: Android induce ben poco chi lo utilizza allo spirito di comunità proprio di Linux. Questo spirito si basa sul dare il proprio contributo secondo le proprie possibilità, ad esempio segnalare i bug trovati o aiutare a rimuoverli, e induce a mantenere il software libero dai vincoli pecuniari. E’ vero che chi ha conoscenze basiche di informatica difficilmente si preoccuperà dell’esistenza di una comunità, ma in questo caso si orienterà sui tablet, più facili da utilizzare, ed è questo il fattore che differenzia chi utilizza Linux sui computer e chi utilizza Android (almeno la maggior parte).

GetInv

Non è dunque ancora arrivato il momento della grande diffusione di Linux sui computer, e secondo me difficilmente arriverà.

 

Cristian Ricardo Quadro

Annunci

RTOS: real time operative system

9 Giu

 Gli RTOS, i sistemi operativi real-time, sono SO  in grado di fornire delle risposte in un tempo determinato. Hanno particolare rilevanza in ambito industriale e hanno la peculiarità di essere deterministici e prevedibili. Si dividono principalmente in due categorie, gli hard e i soft,  in base alla fattibilità di schedulazione di diverse tipologie di task, cioè a seconda della loro capacità di ottimizzare dei processi che qualora non rispettassero dei tempi precisi di esecuzione potrebbero provocare dei danni al sistema.

                                                           

Vxworks e Windows CE due RTOS

I  RTOS sono particolarmente importanti nello sviluppo dei sistemi embedded, cioè apparecchiature elettroniche sviluppate specificatamente per un determinato scopo; ad esempio il computer che gestisce il risciacquo dei piatti in una lavastoviglie o la copia e la stampa su una fotocopiatrice.  Un sistema real time garantisce infatti la realizzazione di sistemi complessi altrimenti irrealizzabili tramite la sola parte hardware. Nel corso del tempo le aziende hanno quindi gradualmente concentrato  quasi la totalità degli sforzi per sviluppare degli RTOS specifici per problemi come il multicolore adottato da varie piattaforme di computing.

Vi sono sistemi operativi real-time  sia open source che closed source e l’uso di uno o dell’altro comporta diverse conseguenze: i primi garantiscono, sopprimi garantisconorattutto per un’azienda , dei vantaggi economici  di spesa contenuta; i secondi, invece, un costante supporto dell’azienda proprietaria dello RTOS alla risoluzione dei problemi . la scelta open source crea sicuramente un’indipendenza da parte dell’azienda verso la produttrice dell’OS e quindi una maggiore libertà di sviluppo; la scelta closed source una sinergia tra due fabbriche che determina una maggiore efficienza del prodotto.

Dal punto di vista economico lo sviluppo di un RTOS può essere costoso; invece da quello pratico un sistema operativo real time  richiede da parte del processore un numero notevole di cicli e causa un sovraccarico del processore. Un thread può sicuramente occupare della memoria aggiuntiva e, se non provvisto di un sistema di priorizzazione, il RTOS può far aspettare un insieme di istruzioni alta priorità svolgendone uno meno importante.

Il  RTOS è un esempio di come un sistema operativo sia determinante non solo per l’utilizzo di software ma anche per il miglioramento dell’hardware e dell’elettronica in generale. Bisognerebbe tuttavia considerane il limite: l’efficienza in tempi precisi e un sistema deterministico richiedono notevoli finanziamenti; inoltre i problemi di sovraccarico del processore possono determinare non solo il danneggiamento di un computer ma comprometterne tutto il contenuto, causando ulteriori e più gravi problemi.

Ariel Belga Fedeli

Fonti:http://robotics.fau.edu/wp-content/uploads/2010/10/Tom-Presentation.pdf , http://it.wikipedia.org/w/index.php?search=&button=&title=Speciale%3ARicerca , http://www.elettronicanews.it/articoli/0,1254,40_ART_4329,00.html

Open source vs closed source

29 Mag

Nel campo dei sistemi operativi, e dei software in generale, si sono venute a creare nel corso del tempo due diverse linee di pensiero:  i sostenitori del open source e quelli del closed. La differenza è nel codice sorgente, cioè l’algoritmo, scritto in linguaggio di programmazione, alla base del software, che può essere o meno  visibile e quindi modificabile da parte dell’utente. Questo ha diverse implicazioni sia etiche  sia pratiche.


open source e closed source

Da una parte i pro-open-source sostengono che il sorgente aperto favorisca lo scambio di idee e la cultura. Come afferma Stallman, il codice sorgente è come una ricetta, che passata da una casalinga all’amica, questa vi aggiunge degli ingredienti secondo i propri gusti e la arricchisce, così il codice sorgente può migliorare nelle mani di un abile programmatore ed adattarsi alle varie esigenze.

Dall’altra i pro-closed-source pensano soprattutto alla comodità: se, ad esempio, un sistema operativo non funziona, l’utente non deve cercare di risolvere decifrando un lunghissimo codice, basta che aspetti che la casa produttrice lo corregga.Non bisogna essere dei programmatori o diventarlo per adattare tutto alle nostre esigenze basta aspettare che qualcuno lo faccia per noi.

L’open source favorisce lo sviluppo di una comunità e di un relativo prestigio associato a ciascuno: se ad esempio riusciamo a risolvere un problema in cui nessuno era riuscito a districarsi, sicuramente saremmo presi in considerazione maggiormente di una persona meno esperta e quindi più ascoltato. Tutto ciò può essere positivo per il miglioramento di un sistema operativo, ma siamo sicuri che sia eticamente giusto?

Tutti hanno il diritto di essere ascoltati, non per quello che dicono, ma perché, essendo tutti gli uomini uguali, ogni cosa è di per sé  indifferentemente importante ad un’altra; sta a noi, poi, valutarla per noi stessi . Certamente l’esperto di programmazione saprà molte più cose  riguardo come migliorare un software, ma un dilettante non può prendere comunque parte ad una discussione? Se quest’ultima è intesa più pienamente come raggiungimento della conoscenza la risposta è implicita.

Il closed source è  comodo, ma fino a che punto? Non dobbiamo metterci davanti a infinite righe di codice , spulciandole una a una, e dannarci per trovare una soluzione, ma generalmente dobbiamo aspettare molto prima che qualcuno si accorga del problema e lo risolva. Inoltre il sorgente chiuso non favorisce la diffusione della conoscenza. Questa è, tra le altre accezioni, comodità:  il sapere qualcosa ci torna utile.

Ariel Belga Fedeli

Fonti:http://bit.ly/Y9UdIM,  http://www.boccaperta.com/gnu-linux-scelta-etica/

L’epopea di Android nella scalata dei Mobile OS

1 Mag

Si potrebbe affermare che Android sia riuscito a contrastare il dominio indiscusso di Apple nel campo degli smartphone, che negli anni fino al 2007, anno dell’arrivo del primo iPhone, era stato in una fase stagnante e priva di innovazioni. Una fase in cui Nokia, forte del suo 50% di market share (quota di mercato) nel campo degli smartphone, si era seduta sui proverbiali allori. Ma come è riuscito Android a diventare il sistema operativo per smartphone più utilizzato al mondo? E quale futuro lo attende?

Cominciamo dalle origini. L’azienda Android, Inc. fu fondata in California nel 2003. A quei tempi non esisteva ancora il famoso “melafonino”, quindi l’ambizioso (e segreto) progetto di un sistema operativo per cellulari fu concepito per rivaleggiare i sistemi di Nokia e Microsoft, rispettivamente Symbian e Windows Mobile. Nel 2005 l’azienda, a corto di liquidi, venne acquisita da Google, che finanziò il progetto. Ciò accrebbe inoltre l’interesse verso l’OS nascituro e le aspettative per una entrata di Google nel campo dei cellulari.

Nel 22 Novembre 2007, infine, venne svelato l’Open Handset Alliance, un consorzio di compagnie di tecnologia, tra le quali Google, HTC e Samsung, dedicato alla diffusione di standard Open (accessibili a tutti) tra gli smartphone. Nello stesso giorno fu presentato il primo smartphone con Android, l’HTC Dream.

HTC Dream (Fonte: Wikipedia)

HTC Dream (Fonte: Wikipedia)

I cellulari con Android ebbero una lenta diffusione fino al 2010, quando Samsung introdusse sul mercato la linea Galaxy, che con il passare del tempo divenne sinonimo di Android nell’immaginario collettivo. In quello stesso anno il market share degli smartphone Android crebbe fino al 33%, e al giorno d’oggi circa il 75% degli smartphone nel mondo utilizza Android.

Il market share degli smartphone dal 2009 al 2013 (fonte: Business Insider)

Il market share degli smartphone dal 2009 al 2013 (Fonte: Business Insider)

Il punto di forza di Android, che gli ha permesso una vastissima diffusione, è non solo il fatto di essere patrocinato da Google, ma soprattutto l’essere Open Source. Ciò lo ha reso facilmente modificabile e adattabile ai dispositivi mobili da parte non solo dei produttori di cellulari, ma anche degli utenti e delle comunità di sviluppatori stesse (ad esempio xda developers). La sua adattabilità, inoltre, ha portato alla diffusione sui Tablet, ambito nel quale compete con l’iPad, un altro prodotto di casa Apple. Tuttavia, dal maggiore pregio di Android deriva la sua maggiore debolezza: la frammentazione.

Di cosa si tratta la frammentazione? Si tratta del fatto che ogni terminale Android è diverso da tutti gli altri, per processore, risoluzione dello schermo, o versione del sistema. Tali differenze possono verificarsi persino tra due cellulari dello stesso modello, e portano a due conseguenze:

  1. Gli sviluppatori sono spesso costretti a scegliere il loro target (l’utenza a cui è destinato il programma) tra le versioni del sistema più diffuse, trascurando il fatto che queste siano le più recenti o meno. I programmi risultanti mancano allora delle più recenti tecnologie, non supportate dalle versioni datate.
  2. L’interfaccia Android è diversa per i cellulari di ogni produttore, il che porta alla confusione tra i consumatori, che sono portati a preferire un’interfaccia semplice da utilizzare.
La interfaccia Android può variare in modo sconcertante (Fonte: Apple Insider)

La interfaccia Android può variare in modo sconcertante (Fonte: Apple Insider)

Il primo problema è proprio di ogni sistema operativo commerciale. Ad esempio, anche sui computer, nei quali domina Windows, è sempre stato presente il problema della compatibilità dei vecchi programmi con le nuove versioni del sistema, e viceversa. Il secondo problema, invece, non si presenta nei computer, essendo Windows un sistema chiuso e controllato da Microsoft per avere la stessa interfaccia su tutti i PC, e non si era neppure presentato alle origini di Android.

L’interfaccia Android delle origini era scarna e rudimentale, ma il suo livello di pulizia è aumentato sensibilmente negli anni. I produttori di cellulari, tuttavia, decisero di non aspettare Google, e poco tempo dopo la nascita di Android, sfruttandone l’aspetto Open Source, crearono le loro interfacce, sovrapposte a quella standard.

L'evoluzione dell'interfaccia standard da Android (Fonte: Google, modificata da me)

L’evoluzione dell’interfaccia standard di Android (Fonte: Google, modificata da me)

Le interfacce personalizzate furono fondamentali per distinguere i cellulari tra di loro, ma, oltre alla confusione già menzionata, portarono al problema degli aggiornamenti degli smartphone. Google presenta ogni anno una nuova versione Android, che viene prontamente resa disponibile nei suoi cellulari (la linea Nexus). Negli smartphone delle altre case, tuttavia, si ha il ritardo causato dall’adattamento dell’interfaccia personalizzata al nuovo sistema, che perciò viene rilasciato parecchi mesi dopo il rilascio di Google, persino per i terminali di fascia alta (i più costosi).

Inoltre non vengono rilasciati aggiornamenti per i terminali usciti già da qualche anno (di solito due), e nei modelli di fascia bassa si verificano persino casi in cui non viene rilasciato neanche un aggiornamento. Ciò porta all’obsolescenza programmata dei terminali, attuata dai produttori per spingere i consumatori a comprare nuovi smartphone.

LG è forse il peggiore produttore in termini di aggiornamenti, alcuni dei quali sono rilasciati più di un anno dopo il rilascio Google (Fonte: Ars Technica)

LG è forse il peggiore produttore in termini di aggiornamenti, alcuni dei quali sono rilasciati più di un anno dopo il rilascio Google (Fonte: Ars Technica)

Personalmente possiedo un Samsung Galaxy S, uscito tre anni fa, ed aggiornato da Samsung solo fino alla versione 2.3.3. E’ stato grazie alla comunità xda che sono riuscito a portarlo fino alla 4.2.2, la versione più recente disponibile. Sono tuttavia richieste conoscenze da power user per aggirare i blocchi dei produttori, e l’installazione può essere rischiosa (rischi di brick).

E’ necessario che siano i produttori stessi ad avvicinarsi ai consumatori, prendendo coscienza delle loro necessità e del fatto che questo modello di mercato orientato al lucro immediato non è quello vincente. Menzione d’onore va a Sony, che negli ultimi due anni ha fatto sforzi per aggiornare tutti i suoi terminali per almeno due anni (la stessa politica di Google) e per rilasciare il codice sorgente degli aggiornamenti, permettendo agli sviluppatori di usufruire dei driver necessari a fare versioni personalizzate di Android.

Sony eletto "OEM dell'anno" da xda davelopers (Fonte screenshot: Sony)

Sony eletto “OEM dell’anno” da xda developers (Fonte screenshot: Sony)

Fortunatamente il livello di pulizia dell’interfaccia standard delle ultime versioni di Android ha permesso ai produttori di creare le loro interfacce con solo lievi modifiche rispetto a quella standard, risultando in un livello contenuto di frammentazione. Mano a mano che le interfacce diventeranno più simili, a mio avviso, il marchio Android diventerà sempre più forte, e la sua diffusione sempre maggiore.

Ma la minaccia Windows Phone è dietro l’angolo…

Cristian Ricardo Quadro

Fonti