Salta al contenuto principale

linux

Intervista a Linus Torvalds

Alcuni anni fa Linus Torvalds, principale autore del kernel Linux, aveva accettato una nostra intervista. I temi discussi sono tutt’ora rilevanti e sempre interessanti per gli appassionati del software libero e open source, quindi abbiamo deciso di ripubblicarla online.

Era il 25 agosto 1991 quando Linus Torvalds comunicò di aver cominciato a lavorare su un sistema operativo open source: il sistema era basato sui programmi del progetto GNU e su un kernel di sua concezione chiamato Linux (il nome originale doveva essere Freax, ma il suo amico Ari Lemmke chiamò “linux” la cartella che conteneva il codice sul server FTP). Finalmente, il progetto GNU aveva un kernel a disposizione, e quindi il primo sistema operativo FOSS era pronto (anche se ancora non stabile). Linux stesso era nato da un controversia di Torvalds con il professor Tanebaum, docente della sua università, che aveva realizzato il kernel Minix. Questo aveva, secondo il padre di Linux, due fondamentali pecche: la prima è di essere realizzato con una struttura a microkernel (molto più complicato di un kernel monolitico), e di non essere liberamente modificabile. Il tempo ha dato ragione a Linus Torvalds: infatti Minix non ha avuto successo, a differenza di Linux, perché non era veramente open source, ed anche perché non solo Minix ma anche Hurd (entrambe microkernel) sono risultati troppo complessi per poter essere realmente funzionali.
Oggi Linus Torvalds è uno dei personaggi più influenti del mondo del Free Open Source Software, assieme a Richard Stallman (l’ideatore del progetto GNU e padre della filosofia free software). A differenza di Stallman, però, il padre del pinguino ha sempre mantenuto un profilo di basso livello, cercando di farsi trascinare il meno possibile nelle varie dispute della comunità. In questa intervista Torvalds ci rivela il suo pensiero e scopriamo che, forse, il principale motivo per cui riesce a rimanere super partes è l’essere estremamente razionale, capace quindi di mettere da parte i moralismi in favore di ciò che, semplicemente, funziona. Possiamo dire che se Stallman è il pastore spirituale della comunità FOSS, sempre pronto a tirare le orecchie a chi non segue le tavole dei comandamenti, Torvalds è un regista che dirige il film che la comunità sta realizzando.

LM – Ciao Linus, tutti noi sappiamo che sei il creatore del kernel Linux e di Git. Però sappiamo poco della tua vita personale. Puoi dirci qualcosa al riguardo?
Linus Torvalds – Non so da dove cominciare… ho avuto a che fare con i computer sin dall’inizio della mia adolescenza: mio nonno (da parte di mia madre) era professore di statistica all’università di Helsinki, ed aveva uno dei primi computer per uso domestico (un Commodore VIC-20) che portava a casa per fare dei calcoli, a volte, quando avevo 11 o 12 anni. Io lo aiutavo a scrivere alcuni dei programmi (senza capire nulla della matematica che c’era dietro), e poi sono finito a scrivere giochi ed altri programmi presi da riviste d’informatica e manuali dell’epoca. Ed in certi casi scrivendo i miei stessi programmi.

I computer sono ancora il mio hobby, oltre che il mio lavoro. Al di là di quello, io leggo molto (ma per la maggior parte cose che si possono dimenticare senza problemi, come fantascienza e fantasy) e faccio scuba diving (immersioni subacquee – n.d.r.) ogni volta che posso.

Vivo a Portland, Oregon, in questi giorni (sono nato e cresciuto a Helsinki, Finlandia), sono sposato ed ho tre figlie adolescenti. E… no, nessuna di loro è molto interessata ai computer, se non come utente.

LM – Tu hai detto “Il software è come il sesso: è meglio quando è libero e gratuito”. Quindi qual’è la tua idea di software libero ed open source, ed in che modo questa è differente dall’idea di Richard Stallman?
Eh. Io non uso nemmeno più il termine “free software”, perché penso che sia un punto di partenza sbagliato.

Sia per l’ambiguità presente in lingua inglese tra “free” inteso come “libero” e “free” come “gratuito”, sia perché anche quando capisci la differenza dei due significati (che poi non è così difficile da comprendere) la parola “free” è talmente piena di carico emotivo (soprattutto negli Stati Uniti, “Land of the Free, rah, rah, USA USA USA!”) che chiunque la fa significare qualsiasi cosa voglia. Richard Stallman, in particolare, vuole definirla in un modo molto specifico ed usarla per un discorso sulla morale.

Io penso che la morale sia qualcosa di privato, e chiunque la utilizzi per fare una discussione qualunque stia sbagliando. Io posso avere le mie personali ragioni per preferire l’open source, ma sono le mie motivazioni personali, e non hanno nulla a che vedere con i motivi per i quali suggerisco agli altri di adottare l’open source.

Quindi io (ed anche altre persone) uso il termine “open source software”, e non mi disturbo a fare alcun stupido ragionamento moralistico. L’open source tende a essere semplicemente migliore dal punto vista tecnico, ed è molto più divertente partecipare al processo creativo quando questo è “open” e tutti possono collaborare. Open source significa che non c’è una singola entità che controlla, e nessuno può nascondere quello che sta facendo. Significa anche che le persone e le aziende possono competere a livelli differenti oltre al semplice software. E mi sembra interessante notare come delle persone si siano messe insieme per rendere Linux stesso migliore, ma poi altre persone prendono il risultato e lo utilizzano per fare delle altre cose interessanti che non hanno nulla a che vedere con Linux di per se, se non il fatto che avevano bisogno di un sistema operativo.

Quindi l’open source è un’ottima strada per i tecnici, affinchè possano lavorare insieme senza dover essere legati a un particolare ambito o a una azienda. Questo lo rende molto più interessante. Ma fornisce la possibilità di fare comunque cose interessanti, anche se il tuo obiettivo primario non è il software open source stesso.

LM – Che cosa ne pensi del progetto GNU HURD? Bisogna dire che HURD viene sviluppato dal 1990 e non è ancora stabile. Forse questo dimostra che i microkernel sono troppo complessi e il gioco non vale la candela?
Io penso che i microkernels siano fondamentalmente una idea sbagliata, perché pongono la complessità del progetto nel punto sbagliato (la comunicazione tra diverse entità) e ti limitano troppo dal punto di vista tecnico, mettendo da parte quel tipo di condivisione che è invece standard nei sistemi operativi tradizionali. Poi ci sono stati altri problemi con Hurd, e mentre una volta era un progetto interessante penso che ormai non sia più di rilievo da un bel po’ di tempo.

Detto questo, una delle belle cose dell’open source è che non deve necessariamente essere di rilievo: per persone che si divertono semplicemente a giocare con le cose, penso che Hurd possa essere ancora interessante.

LM – Sembra che tu non sia soddisfatto degli ultimi contributi degli sviluppatori al codice di Linux (hai detto che potresti “tornare a imprecare”)…
Questa non è certo una discussione nuova, c’è sempre stata questa tensione tra “persone che pensano sia più bello scrivere nuovo codice” e “hei, dobbiamo sistemare le cose per rilasciare la nuova versione”. Penso che al momento abbiamo trovato il giusto bilanciamento tra i due, ed il nostro ciclo di rilascio di circa 3 mesi, con una finestra di due settimane per il merge di tutti i nuovi contributi, e con poi circa 6-8 settimane per darsi una calmata funzioni piuttosto bene.

Però io finisco ancora per dover ogni tanto ricordare alle persone di darsi una calmata: capita nella maggior parte dei rilasci di una nuova versione, non è una novità, e penso che sia quasi naturale. In alcune versioni di più rispetto a altre, ma è una normale fluttuazione statistica.

LM – Quindi cosa vorresti vedere in un prossimo rilascio del kernel?
Beh, c’è un gran numero di cose su cui le persone stanno lavorando, ma alla fin fine le funzionalità di base del kernel si sono stabilizzate.

Per me personalmente, le modifiche più interessanti stanno nei miglioramenti del core, ma sono spesso molto piccole e difficili da notare: in un progetto che è vecchio più di 20 anni, il codice del core è abbastanza stabile, ed i miglioramenti sono dettagli che non importano a nessuno al di fuori del progetto stesso (a parte il fatto che rendono il kernel più efficiente e rendono più facili altri miglioramenti del codice).

Per quanto riguarda le nuove caratteristiche, la maggior parte di esse riguarda supporto per nuovo hardware. La maggior parte del lavoro fatto nel kernel è per supportare nuovo hardware e nuove architetture. Finchè i “ragazzi dell’hardware” continueranno a produrre versioni nuove e migliorate del loro hardware, noi “ragazzi del sistema operativo” avremo del lavoro da fare. Quindi non avremo mai veramente “finito”.

A volte – ma non così spesso – introduciamo anche nuove interfacce, specialmente con nuovi modelli d’uso (per esempio quando l’hardware diventa talmente piccolo ed economico da poter essere usato in modi completamente nuovi).

LM – Parlando del mondo mobile, al momento Android è il sistema operativo mobile open source più famoso. Vorremmo sapere che cosa pensi del sistema di Google ed anche dei concorrenti (per esempio Mer o Ubuntu Phone).
Ehi, io ero abituato a odiare i telefonini, perché per me erano semplicemente un altro modo per essere infastidito in qualsiasi posto io fossi. Ma con la nascita di Android per me non è più un telefonino, è un dispositivo mobile per leggere le email, ed ora lo porto sempre con me. Quindi io amo Android. E quando altri concorrenti saranno pronti, sarò felice di provarli. Una delle belle cose nell’avere a che fare con Linux è vedere come persone diverse usino Linux in modi che non erano assolutamente nei miei piani originali. Amo vedere nuovi dispositivi come questi.

LM – Sappiamo che hai utilizzato diversi ambienti desktop,passando da KDE a GNOME e poi XFCE. Quindi la domanda è: che cosa cerchi in un DE?
Quello che io cerco, più che altro, è essere lasciato in pace, ed avere la possibilità di adattare il DE in modo che le poche cose di cui ho bisogno siano a posto. Ed io non voglio che questa personalizzazione sia qualcosa su cui devo pensare più di tanto, per questo mi lamento se le poche cose che mi servono sono difficili da fare.

Per esempio, io voglio dei font più piccoli di quanto la gente normalmente desidera, perché sono abituato a avere un sacco di linee di codice (ed email) sullo schermo. Quindi i grandi font (soprattutto in cose “secondarie” come icone e barre del titolo delle finestre) che stanno prendendosi troppo spazio inutilmente, sono qualcosa di cui mi voglio liberare. Voglio che il mio lavoro sia fatto, le mie poche finestre aperte, ed il DE non dovrebbe intralciarmi. “Veloce, pronto, e leggero” è spesso più importante per me di “carino”.

E voglio che quelle poche cose che faccio siano facili da realizzare. Se non posso aprire un nuovo terminale con un singolo click del mouse su una icona che sia sempre visibile, allora c’è qualcosa di strano. Il fatto che io, a volte, abbia addirittura dovuto discutere con qualcuno su questa cosa è un po’ triste.

LM – Tornando al kernel Linux, oggi la maggior parte dei server di internet e dei dispositivi di ridotte dimensioni (dai telefoni ai router e le stampanti…) funzionano grazie a questo kernel. Forse, senza Linux queste tecnologie non esisterebbero nemmeno. Come ci si sente sapendo che miliardi di persone nel mondo utilizzano tecnologie e strumenti basati su un progetto software che tu hai creato?
Non ci penso molto, in realtà, ma penso al fatto che quello che io costruisco è importante per le persone, ed è importante per me.

Perché, certo, a me piace semplicemente programmare e giocherellare con la tecnologia, ma allo stesso tempo non voglio giocare tanto per il piacere di farlo: voglio lavorare su qualcosa che abbia un impatto sul resto del mondo. E quindi il fatto che Linux sia riuscito a avere un grande impatto, è una gran bella sensazione.

Rimac: la supercar con GNU/Linux

Chi è appassionato di automobili conosce già Rimac, ma per il resto del pubblico il nome potrebbe risultare nuovo. In effetti si tratta di una azienda decisamente moderna, fondata nel 2009 in Croazia. Rimac ha rilasciato nel 2019 il suo secondo grande progetto la Rimac C_Two: si tratta di una automobile elettrica capace di raggiungere la velocità di 415km/h, con una accelerazione da 0 a 100 km/h in appena 1,97 secondi. Per fare un confronto, la Bugatti Veyron (a combustione) arriva a 407 km/h, con una accelerazione da 0 a 100 in 2,5 secondi. Mentre la Tesla Model S, l’auto elettrica più famosa ma non progettata per le corse, arriva al massimo a 250km/h, anche se può accelerare da 0 a 100 in 2,6 secondi (quindi paragonabile alla Veyron). Ma non solo: il vero punto di forza della Rimac non è la grande velocità, ma l’alto livello di automazione. Presentata nell’estate del 2019, e in consegna ai clienti che l’hanno prenotata nei primi mesi del 2020, è la prima auto a guida autonoma di livello 4.

Per capire di cosa si tratti, ricordiamo che questo è lo standard dei sei differenti livelli di guida autonoma delle automobili:
Livello 0: Sono presenti sistemi automatici che intervengono in casi specifici (es: ABS in caso di frenata), ma nessun computer gestisce la guida per lunghi periodi di tempo
Livello 1 (hands on): I sistemi di guida automatica possono controllare l’andamento della macchina, ma solo se anche il guidatore la gestisce. Esempio: cruise control o parcheggio assistito.
Livello 2 (hands off): I computer sono in grado di guidare la macchina, ma solo per brevi periodi di tempo, quindi una persona deve sempre avere le mani sullo sterzo. Se si tolgono le mani dal volante per più di qualche minuto, la guida autonoma deve essere interrotta.
Livello 3 (eyes off): La macchina può guidare da sola in quasi ogni situazione, senza che il guidatore presti attenzione alla strada. Però la macchina può richiedere all’uomo, in situazioni complicate, di riprendere il controllo manuale.
Livello 4 (mind off): Non c’è alcun bisogno dell’intervento umano per garantire la sicurezza del viaggio: l’uomo può anche dormire durante il viaggio. In caso di problemi, la macchina riesce a parcheggiarsi da sola in luoghi dedicati al soccorso (es: piazzole o corsia di emergenza).
Livello 5: Non è mai richiesto alcun intervento dell’uomo, e non è previsto che una persona guidi l’auto. Per esempio, un servizio di taxi senza autista in cui la macchina raccoglie e trasporta i clienti senza che vi sia un pilota, oppure un veicolo per il trasporto di merci senza impiego di personale.

Per capirci, le macchine come la Tesla Model S al momento si trovano al livello 3. Raggiungendo il livello 4, la Rimac C Two è effettivamente la prima auto in grado di guidare da sola a essere consegnata nelle mani di clienti (150 persone hanno pagato i quasi 1,8 milioni di euro richiesti per questa hypercar in tre settimane dall’annuncio dell’apertura delle prenotazioni).

Ci si potrebbe chiedere: che importanza ha la Rimac C_Two per il mercato globale? A un prezzo che sfiora i due milioni di euro di sicuro nessun cliente comune se la può permettere. Ma la realtà è che la Rimac potrebbe cambiare il mercato automobilistico molto più della Tesla. Se Tesla infatti punta proprio a vendere veicoli, Rimac punta a vendere tecnologia. Le tecnologie che Rimac ha implementato nella sua lussuosa automobile a tiratura limitata verranno infatti presto cedute in licenza a altri produttori di automobili, diffondendole. Non avendo accordi di esclusiva con altri produttori, questo permetterà l’abbassamento dei prezzi dei vari sistemi di guida autonoma, perché Fiat, Mercedes, Peugeot, Toyota, e altri marchi potranno integrare le soluzioni inventate da Rimac senza dover spendere un capitale enorme per reinventare la ruota.

Ne abbiamo parlato con Tomislav Lugarić, ICU Software Manager di Rimac Automobili. Le tecnologie di Rimac sono infatti basate sull’open source: i computer di bordo utilizzano una distro Linux embedded e le librerie Qt.

Linux Magazine – Schermi e computer sono presenti nelle automobili da decenni, ma fino a pochi anni fa venivano usati più che altro per sistemi di intrattenimento. Oggi, invece, sono sempre più usati per visualizzare statistiche e permettere all’utente di modificare parametri relativi al motore, la distribuzione della coppia, lo stile di guida. Cosa si può fare con gli schermi presenti nella Rimac C Two?
Tomislav Lugarić – In effetti, la transizione dalle classiche manopole analogiche, interruttori, e rotelle verso il mondo digitale ha ridefinito completamente il modo in cui interagiamo con le automobili.
Nell’hypercar Rimac C Two il nostro obiettivo era di trovare il compromesso perfetto tra le classiche interazioni tattili e meccaniche, e i vantaggi che gli schermi digitali ci offrono. Ci sono ben 6 schermi all’interno della macchina. Il cruscotto digitale, davanti al guidatore, è dedicato a fornire solo i dati relativi alla guida. Questo display ha diverse configurazioni, che cambiano a seconda dell’attuale modalità dell’auto. Per esempio, quando si è in modalità di navigazione la maggioranza dello spazio sullo schermo è dedicato a una mappa 3D, con cose come la velocità e altri indicatori posizionati ai lati. In modalità sportiva cose come la velocità, la coppia, l’accelerazione e i tempi del giro di pista vengono presentate al pilota. C’è un certo numero di widget aggiuntivi, che il guidatore può attivare a seconda della modalità di guida usando dei pulsanti sul volante. Una parte di queste informazioni viene mostrata sullo schermo del passeggero, proprio sopra il vano portaoggetti, così anche il copilota può vedere le informazioni più importanti. I parametri più importanti della trazione sono configurati tramite tre rotelle su schermo. Queste rotelle hanno uno o più anelli come fonte di input, e al centro possono visualizzare un output. Uno di questi display viene anche usato come pulsante. Queste manopole digitali possono essere usate per attivare il motore, cambiare marcia, modificare la distribuzione della coppia tra gli assi, selezionare la modalità di guida e il controllo di trazione. Le rotelle sono posizionate vicino lo sterzo, per permettere al guidatore di impostare il comportamento dell’automobile e visualizzare l’attuale configurazione con una sola occhiata. Infine, lo schermo centrale è quello in cui si trova la maggioranza delle funzioni interattive. Qui il guidatore e il passeggero possono accedere a tutte le funzioni standard dell’auto, come il climatizzatore, la regolazione dei sedili, le luci, le funzioni multimediali (riproduzione da USB, streaming, e radio), il bluetooth con lo smartphone, Android Auto, Apple CarPlay, e un navigatore intelligente sempre connesso a internet. Abbiamo in programma anche di integrare il supporto per l’analisi dei dati raccolti dall’auto, come foto e video dalla videocamere oppure statistiche sulla guida. Dal momento che l’auto è connessa a internet, abbiamo pianificato il rilascio di nuove funzioni anche dopo la vendita.

LM- Per quali applicazioni usate le librerie libere Qt, e perché le avete preferite alle alternative?
TL- Le Qt hanno dimostrato diversi punti di forza negli anni. Anche se sono più che altro conosciute come uno strumento per creare interfacce grafiche, offrono un modo semplice e cross-platform per fare molto di più. Al di là della progettazione delle interfacce grafiche, abbiamo usato le Qt anche per cose come le interfacce di rete, la memorizzazione dei dati, la transcodifica e l’interazione con il CAN bus dell’auto. Occupandosi di un sacco di cose a basso livello per noi, le Qt ci hanno permesso di concentrarci sul nostro problema piuttosto che costringerci a creare uno strumento di sviluppo tutto nostro.

LM – Voi utilizzate Toradex come piattaforma hardware, che supporta diversi sistemi operativi. Quale sistema avete scelto?
TL – Finora abbiamo sempre avuto una buona collaborazione con Toradex, usando il loro Apalis i.MX6 SoM. Quindi per la prossima generazione di infotainment di Rimac Automobili la nostra idea è di passare al nuovo e più potente Apalis i.MX8 SoM. Utilizziamo una distro Linux embedded personalizzata, basata su Yocto. Dal momento che sviluppiamo un sacco di hardware personalizzato, e abbiamo dei requisiti molto particolari, la natura open source di Linux ci fornisce la libertà e il controllo sul prodotto finale di cui abbiamo bisogno.

LM – Rimac realizza le proprie interfacce anche per altri produttori di automobili. Come progettare il vostro hardware/software?
TL – In Rimac Automobili vediamo i nostri veicoli come il nostro brand e un modo per presentare la nostra tecnologia. Tutta la tecnologia che inseriamo nelle nostre auto rappresenta il fiore all’occhiello di quello che possiamo offrire agli altri. Questo si riflette nella filosofia con cui progettiamo il nostro hardware e software. Siccome puntiamo a un mercato di lusso e di nicchia, il numero limitato di esemplari prodotti per ogni serie ci spinge a progettare dell’hardware altamente adattabile e un software modulare. L’hardware è progettato per supportare un ampia gamma delle ultime tecnologie disponibili, permettendoci di adattarlo rapidamente alle specifiche richieste dei nostri clienti. Allo stesso modo, il nostro software è progettato con un approccio basato sui microservizi e un sistema distribuito, il che ci permette di portare rapidamente le funzionalità da un progetto all’altro e avere sistemi che possono supportare un qualsiasi numero di schermi gestiti da un qualsiasi numero di unità computazionali.

LM – La Rimac C_Two sarà la prima automobile con una guida autonoma di livello 4. Dal momento che l’auto può raggiungere velocità notevoli, avrete bisogno di molti sensori e computer con bassa latenza. Quali sensori utilizzate?
TL – Anche se la guida autonoma è gestita da un altro team di sviluppatori, farò del mio meglio per rispondere. L’auto è equipaggiata con sensori a ultrasuoni, diversi radar, un lidar, e un totale di 8 videocamere per monitorare ci che la circonda. Ci sono altri sensori come unità di misura inerziali, sistemi di rilevamento del guidatore, eccetera. Sono usati per diverse cose, dal rilevamento della pioggia alla verifica del fatto che il guidatore sia sveglio e cosciente, mappatura di ciò che circonda l’auto, evitare le collisioni, e molto altro. È difficile dare una idea della potenza di calcolo della C Two, ma diciamo che se si programmasse la macchina per minare criptovalute l’auto si ripagherebbe da sola piuttosto velocemente.

LM – È vero che un’ora di guida sulla Rimac C Two produce circa 6TeraByte di dati? Come fate a gestire tutte queste informazioni senza stalli?
TL – A seconda della modalità di guida, la quantità di dati processata dal sistema può essere anche superiore ai 6TB per ogni ora. La maggioranza delle unità computazionali è connessa tramite la rete CAN, che gestisce la maggior parte del traffico dati dipendente dal tempo, che è relativamente ridotto in termini di volume. La parte che genera più dati è rappresentata dalle mappe dell’ambiente circostante del sistema ADAS, che includono video HD, modelli 3D della strada, e centinaia di segnali con una risoluzione di un millisecondo, che devono essere rilevati sia per l’ADAS che per l’algoritmo di gestione della coppia, e per la scatola nera del veicolo. Inoltre, catturiamo diverse centinaia di segnali con diverse risoluzioni per il nostro sistema di telemetria, che ci permette di monitorare la salute del veicolo in ogni momento. L’ammontare totale dei dati prodotti dall’automobile dipendono dal fatto che si stia usando la guida autonoma o no, da come è configurata la telemetria, e quali dati il proprietario decide di registrare.

LM – La Rimac C_Two ha un sistema di riconoscimento facciale che sostituisce la chiave di avviamento. Al momento molte persone non sono convinte dal fatto di essere riprese da una videocamera se non sanno come funzioni esattamente il sistema. È una situazione in cui l’open source può risultare utile: se il codice è liberamente disponibile i clienti potranno sapere che le immagini non verranno usate senza il loro permesso. A suo parere, può essere possibile in futuro rilasciare il codice di alcuni sistemi dell’auto, per guadagnare la fiducia dei clienti?
TL – Questo è un problema complicato, che deve essere esaminato sotto diversi punti di vista. Nonostante io personalmente sia convinto che rendere alcuni sistemi open source aumenterebbe la fiducia del cliente, potrebbe anche rendere più facile per i malintenzionati la progettazione di attacchi contro il sistema stesso. Inoltre, da un lato l’open source aiuta a costruire una community che utilizza attivamente la tecnologia, la migliora e corregge gli errori. Ma allo stesso tempo è diametralmente opposto al mantenere la proprietà intellettuale del prodotto. La mia opinione è che in Rimac Automobili dovremmo provare questa opzione.

LM – Più in generale, quale dovrebbe essere il corretto equilibrio tra open source e segreti industriali?
TL – Personalmente, credo che il bilancio dovrebbe puntare all’open source più di quanto molte persone potrebbero pensare. Molti sistemi potrebbero essere rilasciati come open source senza alcun danno per l’azienda. Solo un gruppo molto ristretto di informazioni dovrebbe rimanere un segreto brevettato. Credo che oggi come oggi sia molto più importante fare una cosa bene, avere un buon rapporto con le aziende partner e un buon prodotto, piuttosto che provare a avere una monopolio su qualcosa. Prima o poi, qualcuno farà il reverse engineering delle tecnologie. È meglio porre gli sforzi nel produrre nuova tecnologia piuttosto che nel tenere nascosto per sempre quello che si è già fatto.

LM – Gli appassionati di automobili amano fare il car tuning, sostituire i motori, gli scarichi, eccetera. Con le auto elettriche e ad alta automazione c’è il potenziale anche per personalizzazioni a livello software. C’è la possibilità che rilasciate un SDK per permettere ad altri di sviluppare applicazioni per le vostre auto, oppure ritiene che potrebbe essere pericoloso?
TL – Vedo già apparire rari esempi di queste personalizzazioni. C’è una serie di strumenti, come FORScan, che permettono di collegare la propria macchina al computer con un adattatore USB-OBDII e modificare una serie di parametri. Un mio collega ha una automobile che permette un certo grado di personalizzazione dell’interfaccia grafica degli schermi usando uno strumento per PC. C’è un certo numero di appassionati che comprano una automobile proprio perché offre questo tipo di caratteristica. Un dettaglio interessante è che su quella specifica auto il produttore ha disabilitato questa funzione con un aggiornamento del software, quindi gli appassionati si rifiutano di fare quell’aggiornamento, e hanno trovato modi per fare il roll back dell’aggiornamento in modo da mantenere quella funzionalità. Credo che questa cosa succederà ovunque in un prossimo futuro. Però ci deve essere una qualche forma di restrizione. Permettere agli appassionati di modificare il layout dei loro schermi o la struttura dei menù degli schermi centrali è una cosa buona, visto che nella peggiore delle ipotesi ci si ritroverebbe con una interfaccia grafica brutta. Ma permettere l’accesso software alle unità computazionali, come la centralina ABS o gli airbag, è estremamente pericoloso, e credo che il rischio per la vita umana, così come la responsabilità legale, sia semplicemente troppo grande per consentire questo tipo di modifiche.

LM – Ovviamente, una automobile altamente automatizzata può essere vittima di pirateria informatica, è già successo a altri produttori di auto. Come avete protetto i computer della Rimac C_Two dai potenziali attacchi?
TL – Stiamo attivamente proteggendo la C_Two con più livelli di protezione possibili. Non possiamo pensare di proteggerci con uno strumento solo: ogni livello deve proteggere la macchina da uno specifico tipo di attacco. A basso livello cose come la numerazione della sequenza dei messaggi CAN e la loro checksum proteggono dall’iniezione di messaggi non validi. Sul livello dell’infotainment, cose come la crittografia delle partizioni e la firma digitale dell’intera immagine del sistema operativo proteggono dall’avvio di un sistema operativo compromesso. La macchina di per se non ha servizi che possano accettare connessioni da internet, è sempre la macchina a connettersi a un server. Utilizziamo gli ultimi algoritmi di crittografia e dei messaggi di autorizzazione per garantire l’identità dell’automobile e del server. Il server che ospita il sistema M2M presenta le sue sfide, simili alle sfide di una banca per proteggere i dati dei suoi clienti. In Rimac Automobili vediamo questa cosa come uno sforzo congiunto di diversi team di progettisti e, come in tutti i problemi di cybersecurity, rimarrà sempre una gara tra noi e i pirati informatici.

Mozilla sta dismettendo Lockwise (il suo password manager), ma c’è già il rimpiazzo

Mozilla ha rilasciato per la prima volta l’applicazione Firefox Lockwise nel 2019, che era pensata come un password manager che implementava la funzionalità del login sync di Firefox. Lockwise poteva funzionare come provider per l’auto-completamento su Android ed iOS, permettendo di inserire le password salvate nell’account di Firefox Sync in tutte le app. Infatti Firefox…

L'articolo Mozilla sta dismettendo Lockwise (il suo password manager), ma c’è già il rimpiazzo proviene da Debianizzati.org.

Yuki-Iptv: Un player completo per la Tv in streaming

Yuki-Iptv è un software open source con il quale è possibile vedere la Tv in streaming comodamente seduti davanti al nostro PC. Si presenta con un interfaccia gradevolissima è intuitiva, ma non è questo il suo unico pregio, infatti è capace di gestire più liste M3U e di leggere gli EPG regalando un esperienza utente gradevolissima e completa.

yuki-iptv

Basato su MPV player Yuki-Iptv è capace di leggere praticamente tutti i tipi flussi streaming più comuni e non solo.

Yuki-Iptv ha un sacco di opzioni interessanti

Queste caratteristiche da sole, sarebbero già sufficienti a definirlo un software interessante come Iptvnator o Hypnotix tuttavia le funzionalità e le opzioni che ci fornisce questo software non finiscono qui.

Abbiamo infatti la possibilità di registrare o pianificare le registrazioni dei contenuto che stiamo visionando e salvarli sul nostro computer come abbiamo la possibilità di eseguire degli screenshot con un semplice click del mouse. Se il flusso streaming lo consente Yuki-iptv ci da la possibilità sia di scegliere più flussi audio in modo da visionare il contenuto nella lingua desiderata o di guardare i sottotitoli

Come tutti i player del suo genere non è fornito di una lista M3U predefinita, ma dovremo crearla noi o cercare tra quelle presenti in rete come ad esempio dal quelle del progetto progetto FREE-TV/IPTV un contenitore di flussi streaming legali, delle maggiori reti televisive internazionali

Yuki strizza l’occhio agli smantettoni

Se tutto questo non basta ancora per definirlo un ottimo software sappiate che yuki-iptv, non solo ha sotto il cofano un sacco di opzioni che faranno felici gli utenti che vogliono tutto sotto controllo, ma anche un comodo editor di liste M3U che farà felice l’utenza che non si accontenta di guardare ma di smanettare

Grazie a questo comodo strumento infatti è possibile editare o modificare una lista M3U in maniera semplice e intuitiva

Download

Yuki-Iptv è disponibile per tutte le distribuzioni Linux su Flatub

TileOS – La distro per gli amanti dei window manager

TileOS è una distribuzione Linux basata su Debian che ha la particolarità di non utilizzare un Desktop Manager ma un Window Manager e questa caratteristica gli conferisce molta leggerezza ma cambia completamente l’esperienza utente

TileOS è i Window Manager

È giusto fare una brevissima introduzione su cosa sono i Window Manager per capire meglio la particolarità di questa distribuzione Linux.

I Window Manager gestiscono la disposizione e l’interazione delle finestre sullo schermo, offrendo una vasta gamma di opzioni per adattare l’esperienza utente alle proprie preferenze. Ne abbiamo di diverse categorie ma in questo articolo ne prenderemo in esame 2 e nello specifico e precisamente i Tiling Window Manager e i Floating Window Manager:

Tiling Window Manager: Questi window manager organizzano le finestre in modo automatico e non sovrappongono mai una finestra all’altra. Le finestre occupano tutto lo spazio disponibile sullo schermo senza lasciare spazio vuoto. I tiling window manager sono spesso apprezzati per la loro efficienza e la loro capacità di massimizzare lo spazio dello schermo.

Floating Window Manager: In contrasto con i tiling window manager, i floating window manager consentono alle finestre di sovrapporsi liberamente l’una all’altra. Gli utenti possono spostare, ridimensionare e minimizzare le finestre in modo simile a quanto si farebbe su altri sistemi operativi come Windows o macOS e come esempio su Gnu/Linux possiamo citare Bodhy linux

TileOS utilizza la prima categoria di WM ovvero i Tiling Window Manager che come avevo accennato in precedenza cambiano completamente l’esperienza utente.

Infatti, su TileOS si le più comuni operazioni si fanno tramite shortcuts come ad esempio la chiusura e spostamento di finestre, e si ci muove tra spazi di lavoro, cosa che farà storcere il naso ai novizi del mondo Gnu/Linux e a chi è poco disposto a stravolgere le proprie abitudini , ma vi posso assicurare che una volta imparato qualche combinazione di tasti, il tutto risulta essere comodo e soprattutto veloce.

TileOS

E ovviamente essendo una distribuzione Gnu/Linux tutto è personalizzabile secondo i propri gusti e esigenze, e niente fa eccezione, dalla combinazione di tasti al look della distribuzione stessa a patto di leggere un po’ di documentazione del window manager scelto

TileOS viene rilasciato con tre differenti Window Manager Sway ,River e Qutile, quest’ultima in versione sperimentale.

Altre caratteristiche degne di nota

Ma l’utilizzo dei Window Manager non è l’unica cosa che rende TileOS una distribuzione Gnu/Linux piacevole da utilizzare, infatti gli sviluppatori hanno lavorato per rendere la vita comoda agli utenti , includendo dei Repository aggiuntivi per l’installazione di programmi non presenti in Debian e includendo dei firmware non liberi.

Altra cosa che ho apprezzato tantissimo è la possibilità di installare software aggiuntivo al momento dell’installazione che permette all’utente di avere il software open source più famoso preinstallato e pronto all’utilizzo già dalla prima sessione.

Nella versione con Sway inoltre ho trovato il touchpad del mio laptop già preconfigurato per l’utilizzo delle gesture , con 3 dita sul touchpad saremo in grado di passare da uno spazio di lavoro all’altro

Conclusione

TileOS si candida ad essere un’ottima distribuzione Gnu/Linux per chi vuole iniziare ad utilizzare i Window Manager o per chi cerca un sistema operativo leggero, stabile e minimale. Personalmente lo sconsiglierei ai nuovi utenti che non sarebbero in grado di apprezzarne l’esperienza utente, e la mancanza di tool grafici per la personalizzazione (si configura tutto a manina con i file di configurazione), tuttavia è innegabile che la distribuzione si presenti graficamente molto gradevole agli occhi grazie al tema Catpuccin.

Download

È possibile scaricare TileOS dal suo sito ufficiale ( molto minimale anche quello 🙂 ) sul proprio sito ufficiale in 3 versioni Sway, River e Qtile, dove è possibile trovare il gruppo Telegram per ricevere supporto

Intervista a Linus Torvalds

Alcuni anni fa Linus Torvalds, principale autore del kernel Linux, aveva accettato una nostra intervista. I temi discussi sono tutt’ora rilevanti e sempre interessanti per gli appassionati del software libero e open source, quindi abbiamo deciso di ripubblicarla online.

Era il 25 agosto 1991 quando Linus Torvalds comunicò di aver cominciato a lavorare su un sistema operativo open source: il sistema era basato sui programmi del progetto GNU e su un kernel di sua concezione chiamato Linux (il nome originale doveva essere Freax, ma il suo amico Ari Lemmke chiamò “linux” la cartella che conteneva il codice sul server FTP). Finalmente, il progetto GNU aveva un kernel a disposizione, e quindi il primo sistema operativo FOSS era pronto (anche se ancora non stabile). Linux stesso era nato da un controversia di Torvalds con il professor Tanebaum, docente della sua università, che aveva realizzato il kernel Minix. Questo aveva, secondo il padre di Linux, due fondamentali pecche: la prima è di essere realizzato con una struttura a microkernel (molto più complicato di un kernel monolitico), e di non essere liberamente modificabile. Il tempo ha dato ragione a Linus Torvalds: infatti Minix non ha avuto successo, a differenza di Linux, perché non era veramente open source, ed anche perché non solo Minix ma anche Hurd (entrambe microkernel) sono risultati troppo complessi per poter essere realmente funzionali.
Oggi Linus Torvalds è uno dei personaggi più influenti del mondo del Free Open Source Software, assieme a Richard Stallman (l’ideatore del progetto GNU e padre della filosofia free software). A differenza di Stallman, però, il padre del pinguino ha sempre mantenuto un profilo di basso livello, cercando di farsi trascinare il meno possibile nelle varie dispute della comunità. In questa intervista Torvalds ci rivela il suo pensiero e scopriamo che, forse, il principale motivo per cui riesce a rimanere super partes è l’essere estremamente razionale, capace quindi di mettere da parte i moralismi in favore di ciò che, semplicemente, funziona. Possiamo dire che se Stallman è il pastore spirituale della comunità FOSS, sempre pronto a tirare le orecchie a chi non segue le tavole dei comandamenti, Torvalds è un regista che dirige il film che la comunità sta realizzando.

LM – Ciao Linus, tutti noi sappiamo che sei il creatore del kernel Linux e di Git. Però sappiamo poco della tua vita personale. Puoi dirci qualcosa al riguardo?
Linus Torvalds – Non so da dove cominciare… ho avuto a che fare con i computer sin dall’inizio della mia adolescenza: mio nonno (da parte di mia madre) era professore di statistica all’università di Helsinki, ed aveva uno dei primi computer per uso domestico (un Commodore VIC-20) che portava a casa per fare dei calcoli, a volte, quando avevo 11 o 12 anni. Io lo aiutavo a scrivere alcuni dei programmi (senza capire nulla della matematica che c’era dietro), e poi sono finito a scrivere giochi ed altri programmi presi da riviste d’informatica e manuali dell’epoca. Ed in certi casi scrivendo i miei stessi programmi.

I computer sono ancora il mio hobby, oltre che il mio lavoro. Al di là di quello, io leggo molto (ma per la maggior parte cose che si possono dimenticare senza problemi, come fantascienza e fantasy) e faccio scuba diving (immersioni subacquee – n.d.r.) ogni volta che posso.

Vivo a Portland, Oregon, in questi giorni (sono nato e cresciuto a Helsinki, Finlandia), sono sposato ed ho tre figlie adolescenti. E… no, nessuna di loro è molto interessata ai computer, se non come utente.

LM – Tu hai detto “Il software è come il sesso: è meglio quando è libero e gratuito”. Quindi qual’è la tua idea di software libero ed open source, ed in che modo questa è differente dall’idea di Richard Stallman?
Eh. Io non uso nemmeno più il termine “free software”, perché penso che sia un punto di partenza sbagliato.

Sia per l’ambiguità presente in lingua inglese tra “free” inteso come “libero” e “free” come “gratuito”, sia perché anche quando capisci la differenza dei due significati (che poi non è così difficile da comprendere) la parola “free” è talmente piena di carico emotivo (soprattutto negli Stati Uniti, “Land of the Free, rah, rah, USA USA USA!”) che chiunque la fa significare qualsiasi cosa voglia. Richard Stallman, in particolare, vuole definirla in un modo molto specifico ed usarla per un discorso sulla morale.

Io penso che la morale sia qualcosa di privato, e chiunque la utilizzi per fare una discussione qualunque stia sbagliando. Io posso avere le mie personali ragioni per preferire l’open source, ma sono le mie motivazioni personali, e non hanno nulla a che vedere con i motivi per i quali suggerisco agli altri di adottare l’open source.

Quindi io (ed anche altre persone) uso il termine “open source software”, e non mi disturbo a fare alcun stupido ragionamento moralistico. L’open source tende a essere semplicemente migliore dal punto vista tecnico, ed è molto più divertente partecipare al processo creativo quando questo è “open” e tutti possono collaborare. Open source significa che non c’è una singola entità che controlla, e nessuno può nascondere quello che sta facendo. Significa anche che le persone e le aziende possono competere a livelli differenti oltre al semplice software. E mi sembra interessante notare come delle persone si siano messe insieme per rendere Linux stesso migliore, ma poi altre persone prendono il risultato e lo utilizzano per fare delle altre cose interessanti che non hanno nulla a che vedere con Linux di per se, se non il fatto che avevano bisogno di un sistema operativo.

Quindi l’open source è un’ottima strada per i tecnici, affinchè possano lavorare insieme senza dover essere legati a un particolare ambito o a una azienda. Questo lo rende molto più interessante. Ma fornisce la possibilità di fare comunque cose interessanti, anche se il tuo obiettivo primario non è il software open source stesso.

LM – Che cosa ne pensi del progetto GNU HURD? Bisogna dire che HURD viene sviluppato dal 1990 e non è ancora stabile. Forse questo dimostra che i microkernel sono troppo complessi e il gioco non vale la candela?
Io penso che i microkernels siano fondamentalmente una idea sbagliata, perché pongono la complessità del progetto nel punto sbagliato (la comunicazione tra diverse entità) e ti limitano troppo dal punto di vista tecnico, mettendo da parte quel tipo di condivisione che è invece standard nei sistemi operativi tradizionali. Poi ci sono stati altri problemi con Hurd, e mentre una volta era un progetto interessante penso che ormai non sia più di rilievo da un bel po’ di tempo.

Detto questo, una delle belle cose dell’open source è che non deve necessariamente essere di rilievo: per persone che si divertono semplicemente a giocare con le cose, penso che Hurd possa essere ancora interessante.

LM – Sembra che tu non sia soddisfatto degli ultimi contributi degli sviluppatori al codice di Linux (hai detto che potresti “tornare a imprecare”)…
Questa non è certo una discussione nuova, c’è sempre stata questa tensione tra “persone che pensano sia più bello scrivere nuovo codice” e “hei, dobbiamo sistemare le cose per rilasciare la nuova versione”. Penso che al momento abbiamo trovato il giusto bilanciamento tra i due, ed il nostro ciclo di rilascio di circa 3 mesi, con una finestra di due settimane per il merge di tutti i nuovi contributi, e con poi circa 6-8 settimane per darsi una calmata funzioni piuttosto bene.

Però io finisco ancora per dover ogni tanto ricordare alle persone di darsi una calmata: capita nella maggior parte dei rilasci di una nuova versione, non è una novità, e penso che sia quasi naturale. In alcune versioni di più rispetto a altre, ma è una normale fluttuazione statistica.

LM – Quindi cosa vorresti vedere in un prossimo rilascio del kernel?
Beh, c’è un gran numero di cose su cui le persone stanno lavorando, ma alla fin fine le funzionalità di base del kernel si sono stabilizzate.

Per me personalmente, le modifiche più interessanti stanno nei miglioramenti del core, ma sono spesso molto piccole e difficili da notare: in un progetto che è vecchio più di 20 anni, il codice del core è abbastanza stabile, ed i miglioramenti sono dettagli che non importano a nessuno al di fuori del progetto stesso (a parte il fatto che rendono il kernel più efficiente e rendono più facili altri miglioramenti del codice).

Per quanto riguarda le nuove caratteristiche, la maggior parte di esse riguarda supporto per nuovo hardware. La maggior parte del lavoro fatto nel kernel è per supportare nuovo hardware e nuove architetture. Finchè i “ragazzi dell’hardware” continueranno a produrre versioni nuove e migliorate del loro hardware, noi “ragazzi del sistema operativo” avremo del lavoro da fare. Quindi non avremo mai veramente “finito”.

A volte – ma non così spesso – introduciamo anche nuove interfacce, specialmente con nuovi modelli d’uso (per esempio quando l’hardware diventa talmente piccolo ed economico da poter essere usato in modi completamente nuovi).

LM – Parlando del mondo mobile, al momento Android è il sistema operativo mobile open source più famoso. Vorremmo sapere che cosa pensi del sistema di Google ed anche dei concorrenti (per esempio Mer o Ubuntu Phone).
Ehi, io ero abituato a odiare i telefonini, perché per me erano semplicemente un altro modo per essere infastidito in qualsiasi posto io fossi. Ma con la nascita di Android per me non è più un telefonino, è un dispositivo mobile per leggere le email, ed ora lo porto sempre con me. Quindi io amo Android. E quando altri concorrenti saranno pronti, sarò felice di provarli. Una delle belle cose nell’avere a che fare con Linux è vedere come persone diverse usino Linux in modi che non erano assolutamente nei miei piani originali. Amo vedere nuovi dispositivi come questi.

LM – Sappiamo che hai utilizzato diversi ambienti desktop,passando da KDE a GNOME e poi XFCE. Quindi la domanda è: che cosa cerchi in un DE?
Quello che io cerco, più che altro, è essere lasciato in pace, ed avere la possibilità di adattare il DE in modo che le poche cose di cui ho bisogno siano a posto. Ed io non voglio che questa personalizzazione sia qualcosa su cui devo pensare più di tanto, per questo mi lamento se le poche cose che mi servono sono difficili da fare.

Per esempio, io voglio dei font più piccoli di quanto la gente normalmente desidera, perché sono abituato a avere un sacco di linee di codice (ed email) sullo schermo. Quindi i grandi font (soprattutto in cose “secondarie” come icone e barre del titolo delle finestre) che stanno prendendosi troppo spazio inutilmente, sono qualcosa di cui mi voglio liberare. Voglio che il mio lavoro sia fatto, le mie poche finestre aperte, ed il DE non dovrebbe intralciarmi. “Veloce, pronto, e leggero” è spesso più importante per me di “carino”.

E voglio che quelle poche cose che faccio siano facili da realizzare. Se non posso aprire un nuovo terminale con un singolo click del mouse su una icona che sia sempre visibile, allora c’è qualcosa di strano. Il fatto che io, a volte, abbia addirittura dovuto discutere con qualcuno su questa cosa è un po’ triste.

LM – Tornando al kernel Linux, oggi la maggior parte dei server di internet e dei dispositivi di ridotte dimensioni (dai telefoni ai router e le stampanti…) funzionano grazie a questo kernel. Forse, senza Linux queste tecnologie non esisterebbero nemmeno. Come ci si sente sapendo che miliardi di persone nel mondo utilizzano tecnologie e strumenti basati su un progetto software che tu hai creato?
Non ci penso molto, in realtà, ma penso al fatto che quello che io costruisco è importante per le persone, ed è importante per me.

Perché, certo, a me piace semplicemente programmare e giocherellare con la tecnologia, ma allo stesso tempo non voglio giocare tanto per il piacere di farlo: voglio lavorare su qualcosa che abbia un impatto sul resto del mondo. E quindi il fatto che Linux sia riuscito a avere un grande impatto, è una gran bella sensazione.

Rimac: la supercar con GNU/Linux

Chi è appassionato di automobili conosce già Rimac, ma per il resto del pubblico il nome potrebbe risultare nuovo. In effetti si tratta di una azienda decisamente moderna, fondata nel 2009 in Croazia. Rimac ha rilasciato nel 2019 il suo secondo grande progetto la Rimac C_Two: si tratta di una automobile elettrica capace di raggiungere la velocità di 415km/h, con una accelerazione da 0 a 100 km/h in appena 1,97 secondi. Per fare un confronto, la Bugatti Veyron (a combustione) arriva a 407 km/h, con una accelerazione da 0 a 100 in 2,5 secondi. Mentre la Tesla Model S, l’auto elettrica più famosa ma non progettata per le corse, arriva al massimo a 250km/h, anche se può accelerare da 0 a 100 in 2,6 secondi (quindi paragonabile alla Veyron). Ma non solo: il vero punto di forza della Rimac non è la grande velocità, ma l’alto livello di automazione. Presentata nell’estate del 2019, e in consegna ai clienti che l’hanno prenotata nei primi mesi del 2020, è la prima auto a guida autonoma di livello 4.

Per capire di cosa si tratti, ricordiamo che questo è lo standard dei sei differenti livelli di guida autonoma delle automobili:
Livello 0: Sono presenti sistemi automatici che intervengono in casi specifici (es: ABS in caso di frenata), ma nessun computer gestisce la guida per lunghi periodi di tempo
Livello 1 (hands on): I sistemi di guida automatica possono controllare l’andamento della macchina, ma solo se anche il guidatore la gestisce. Esempio: cruise control o parcheggio assistito.
Livello 2 (hands off): I computer sono in grado di guidare la macchina, ma solo per brevi periodi di tempo, quindi una persona deve sempre avere le mani sullo sterzo. Se si tolgono le mani dal volante per più di qualche minuto, la guida autonoma deve essere interrotta.
Livello 3 (eyes off): La macchina può guidare da sola in quasi ogni situazione, senza che il guidatore presti attenzione alla strada. Però la macchina può richiedere all’uomo, in situazioni complicate, di riprendere il controllo manuale.
Livello 4 (mind off): Non c’è alcun bisogno dell’intervento umano per garantire la sicurezza del viaggio: l’uomo può anche dormire durante il viaggio. In caso di problemi, la macchina riesce a parcheggiarsi da sola in luoghi dedicati al soccorso (es: piazzole o corsia di emergenza).
Livello 5: Non è mai richiesto alcun intervento dell’uomo, e non è previsto che una persona guidi l’auto. Per esempio, un servizio di taxi senza autista in cui la macchina raccoglie e trasporta i clienti senza che vi sia un pilota, oppure un veicolo per il trasporto di merci senza impiego di personale.

Per capirci, le macchine come la Tesla Model S al momento si trovano al livello 3. Raggiungendo il livello 4, la Rimac C Two è effettivamente la prima auto in grado di guidare da sola a essere consegnata nelle mani di clienti (150 persone hanno pagato i quasi 1,8 milioni di euro richiesti per questa hypercar in tre settimane dall’annuncio dell’apertura delle prenotazioni).

Ci si potrebbe chiedere: che importanza ha la Rimac C_Two per il mercato globale? A un prezzo che sfiora i due milioni di euro di sicuro nessun cliente comune se la può permettere. Ma la realtà è che la Rimac potrebbe cambiare il mercato automobilistico molto più della Tesla. Se Tesla infatti punta proprio a vendere veicoli, Rimac punta a vendere tecnologia. Le tecnologie che Rimac ha implementato nella sua lussuosa automobile a tiratura limitata verranno infatti presto cedute in licenza a altri produttori di automobili, diffondendole. Non avendo accordi di esclusiva con altri produttori, questo permetterà l’abbassamento dei prezzi dei vari sistemi di guida autonoma, perché Fiat, Mercedes, Peugeot, Toyota, e altri marchi potranno integrare le soluzioni inventate da Rimac senza dover spendere un capitale enorme per reinventare la ruota.

Ne abbiamo parlato con Tomislav Lugarić, ICU Software Manager di Rimac Automobili. Le tecnologie di Rimac sono infatti basate sull’open source: i computer di bordo utilizzano una distro Linux embedded e le librerie Qt.

Linux Magazine – Schermi e computer sono presenti nelle automobili da decenni, ma fino a pochi anni fa venivano usati più che altro per sistemi di intrattenimento. Oggi, invece, sono sempre più usati per visualizzare statistiche e permettere all’utente di modificare parametri relativi al motore, la distribuzione della coppia, lo stile di guida. Cosa si può fare con gli schermi presenti nella Rimac C Two?
Tomislav Lugarić – In effetti, la transizione dalle classiche manopole analogiche, interruttori, e rotelle verso il mondo digitale ha ridefinito completamente il modo in cui interagiamo con le automobili.
Nell’hypercar Rimac C Two il nostro obiettivo era di trovare il compromesso perfetto tra le classiche interazioni tattili e meccaniche, e i vantaggi che gli schermi digitali ci offrono. Ci sono ben 6 schermi all’interno della macchina. Il cruscotto digitale, davanti al guidatore, è dedicato a fornire solo i dati relativi alla guida. Questo display ha diverse configurazioni, che cambiano a seconda dell’attuale modalità dell’auto. Per esempio, quando si è in modalità di navigazione la maggioranza dello spazio sullo schermo è dedicato a una mappa 3D, con cose come la velocità e altri indicatori posizionati ai lati. In modalità sportiva cose come la velocità, la coppia, l’accelerazione e i tempi del giro di pista vengono presentate al pilota. C’è un certo numero di widget aggiuntivi, che il guidatore può attivare a seconda della modalità di guida usando dei pulsanti sul volante. Una parte di queste informazioni viene mostrata sullo schermo del passeggero, proprio sopra il vano portaoggetti, così anche il copilota può vedere le informazioni più importanti. I parametri più importanti della trazione sono configurati tramite tre rotelle su schermo. Queste rotelle hanno uno o più anelli come fonte di input, e al centro possono visualizzare un output. Uno di questi display viene anche usato come pulsante. Queste manopole digitali possono essere usate per attivare il motore, cambiare marcia, modificare la distribuzione della coppia tra gli assi, selezionare la modalità di guida e il controllo di trazione. Le rotelle sono posizionate vicino lo sterzo, per permettere al guidatore di impostare il comportamento dell’automobile e visualizzare l’attuale configurazione con una sola occhiata. Infine, lo schermo centrale è quello in cui si trova la maggioranza delle funzioni interattive. Qui il guidatore e il passeggero possono accedere a tutte le funzioni standard dell’auto, come il climatizzatore, la regolazione dei sedili, le luci, le funzioni multimediali (riproduzione da USB, streaming, e radio), il bluetooth con lo smartphone, Android Auto, Apple CarPlay, e un navigatore intelligente sempre connesso a internet. Abbiamo in programma anche di integrare il supporto per l’analisi dei dati raccolti dall’auto, come foto e video dalla videocamere oppure statistiche sulla guida. Dal momento che l’auto è connessa a internet, abbiamo pianificato il rilascio di nuove funzioni anche dopo la vendita.

LM- Per quali applicazioni usate le librerie libere Qt, e perché le avete preferite alle alternative?
TL- Le Qt hanno dimostrato diversi punti di forza negli anni. Anche se sono più che altro conosciute come uno strumento per creare interfacce grafiche, offrono un modo semplice e cross-platform per fare molto di più. Al di là della progettazione delle interfacce grafiche, abbiamo usato le Qt anche per cose come le interfacce di rete, la memorizzazione dei dati, la transcodifica e l’interazione con il CAN bus dell’auto. Occupandosi di un sacco di cose a basso livello per noi, le Qt ci hanno permesso di concentrarci sul nostro problema piuttosto che costringerci a creare uno strumento di sviluppo tutto nostro.

LM – Voi utilizzate Toradex come piattaforma hardware, che supporta diversi sistemi operativi. Quale sistema avete scelto?
TL – Finora abbiamo sempre avuto una buona collaborazione con Toradex, usando il loro Apalis i.MX6 SoM. Quindi per la prossima generazione di infotainment di Rimac Automobili la nostra idea è di passare al nuovo e più potente Apalis i.MX8 SoM. Utilizziamo una distro Linux embedded personalizzata, basata su Yocto. Dal momento che sviluppiamo un sacco di hardware personalizzato, e abbiamo dei requisiti molto particolari, la natura open source di Linux ci fornisce la libertà e il controllo sul prodotto finale di cui abbiamo bisogno.

LM – Rimac realizza le proprie interfacce anche per altri produttori di automobili. Come progettare il vostro hardware/software?
TL – In Rimac Automobili vediamo i nostri veicoli come il nostro brand e un modo per presentare la nostra tecnologia. Tutta la tecnologia che inseriamo nelle nostre auto rappresenta il fiore all’occhiello di quello che possiamo offrire agli altri. Questo si riflette nella filosofia con cui progettiamo il nostro hardware e software. Siccome puntiamo a un mercato di lusso e di nicchia, il numero limitato di esemplari prodotti per ogni serie ci spinge a progettare dell’hardware altamente adattabile e un software modulare. L’hardware è progettato per supportare un ampia gamma delle ultime tecnologie disponibili, permettendoci di adattarlo rapidamente alle specifiche richieste dei nostri clienti. Allo stesso modo, il nostro software è progettato con un approccio basato sui microservizi e un sistema distribuito, il che ci permette di portare rapidamente le funzionalità da un progetto all’altro e avere sistemi che possono supportare un qualsiasi numero di schermi gestiti da un qualsiasi numero di unità computazionali.

LM – La Rimac C_Two sarà la prima automobile con una guida autonoma di livello 4. Dal momento che l’auto può raggiungere velocità notevoli, avrete bisogno di molti sensori e computer con bassa latenza. Quali sensori utilizzate?
TL – Anche se la guida autonoma è gestita da un altro team di sviluppatori, farò del mio meglio per rispondere. L’auto è equipaggiata con sensori a ultrasuoni, diversi radar, un lidar, e un totale di 8 videocamere per monitorare ci che la circonda. Ci sono altri sensori come unità di misura inerziali, sistemi di rilevamento del guidatore, eccetera. Sono usati per diverse cose, dal rilevamento della pioggia alla verifica del fatto che il guidatore sia sveglio e cosciente, mappatura di ciò che circonda l’auto, evitare le collisioni, e molto altro. È difficile dare una idea della potenza di calcolo della C Two, ma diciamo che se si programmasse la macchina per minare criptovalute l’auto si ripagherebbe da sola piuttosto velocemente.

LM – È vero che un’ora di guida sulla Rimac C Two produce circa 6TeraByte di dati? Come fate a gestire tutte queste informazioni senza stalli?
TL – A seconda della modalità di guida, la quantità di dati processata dal sistema può essere anche superiore ai 6TB per ogni ora. La maggioranza delle unità computazionali è connessa tramite la rete CAN, che gestisce la maggior parte del traffico dati dipendente dal tempo, che è relativamente ridotto in termini di volume. La parte che genera più dati è rappresentata dalle mappe dell’ambiente circostante del sistema ADAS, che includono video HD, modelli 3D della strada, e centinaia di segnali con una risoluzione di un millisecondo, che devono essere rilevati sia per l’ADAS che per l’algoritmo di gestione della coppia, e per la scatola nera del veicolo. Inoltre, catturiamo diverse centinaia di segnali con diverse risoluzioni per il nostro sistema di telemetria, che ci permette di monitorare la salute del veicolo in ogni momento. L’ammontare totale dei dati prodotti dall’automobile dipendono dal fatto che si stia usando la guida autonoma o no, da come è configurata la telemetria, e quali dati il proprietario decide di registrare.

LM – La Rimac C_Two ha un sistema di riconoscimento facciale che sostituisce la chiave di avviamento. Al momento molte persone non sono convinte dal fatto di essere riprese da una videocamera se non sanno come funzioni esattamente il sistema. È una situazione in cui l’open source può risultare utile: se il codice è liberamente disponibile i clienti potranno sapere che le immagini non verranno usate senza il loro permesso. A suo parere, può essere possibile in futuro rilasciare il codice di alcuni sistemi dell’auto, per guadagnare la fiducia dei clienti?
TL – Questo è un problema complicato, che deve essere esaminato sotto diversi punti di vista. Nonostante io personalmente sia convinto che rendere alcuni sistemi open source aumenterebbe la fiducia del cliente, potrebbe anche rendere più facile per i malintenzionati la progettazione di attacchi contro il sistema stesso. Inoltre, da un lato l’open source aiuta a costruire una community che utilizza attivamente la tecnologia, la migliora e corregge gli errori. Ma allo stesso tempo è diametralmente opposto al mantenere la proprietà intellettuale del prodotto. La mia opinione è che in Rimac Automobili dovremmo provare questa opzione.

LM – Più in generale, quale dovrebbe essere il corretto equilibrio tra open source e segreti industriali?
TL – Personalmente, credo che il bilancio dovrebbe puntare all’open source più di quanto molte persone potrebbero pensare. Molti sistemi potrebbero essere rilasciati come open source senza alcun danno per l’azienda. Solo un gruppo molto ristretto di informazioni dovrebbe rimanere un segreto brevettato. Credo che oggi come oggi sia molto più importante fare una cosa bene, avere un buon rapporto con le aziende partner e un buon prodotto, piuttosto che provare a avere una monopolio su qualcosa. Prima o poi, qualcuno farà il reverse engineering delle tecnologie. È meglio porre gli sforzi nel produrre nuova tecnologia piuttosto che nel tenere nascosto per sempre quello che si è già fatto.

LM – Gli appassionati di automobili amano fare il car tuning, sostituire i motori, gli scarichi, eccetera. Con le auto elettriche e ad alta automazione c’è il potenziale anche per personalizzazioni a livello software. C’è la possibilità che rilasciate un SDK per permettere ad altri di sviluppare applicazioni per le vostre auto, oppure ritiene che potrebbe essere pericoloso?
TL – Vedo già apparire rari esempi di queste personalizzazioni. C’è una serie di strumenti, come FORScan, che permettono di collegare la propria macchina al computer con un adattatore USB-OBDII e modificare una serie di parametri. Un mio collega ha una automobile che permette un certo grado di personalizzazione dell’interfaccia grafica degli schermi usando uno strumento per PC. C’è un certo numero di appassionati che comprano una automobile proprio perché offre questo tipo di caratteristica. Un dettaglio interessante è che su quella specifica auto il produttore ha disabilitato questa funzione con un aggiornamento del software, quindi gli appassionati si rifiutano di fare quell’aggiornamento, e hanno trovato modi per fare il roll back dell’aggiornamento in modo da mantenere quella funzionalità. Credo che questa cosa succederà ovunque in un prossimo futuro. Però ci deve essere una qualche forma di restrizione. Permettere agli appassionati di modificare il layout dei loro schermi o la struttura dei menù degli schermi centrali è una cosa buona, visto che nella peggiore delle ipotesi ci si ritroverebbe con una interfaccia grafica brutta. Ma permettere l’accesso software alle unità computazionali, come la centralina ABS o gli airbag, è estremamente pericoloso, e credo che il rischio per la vita umana, così come la responsabilità legale, sia semplicemente troppo grande per consentire questo tipo di modifiche.

LM – Ovviamente, una automobile altamente automatizzata può essere vittima di pirateria informatica, è già successo a altri produttori di auto. Come avete protetto i computer della Rimac C_Two dai potenziali attacchi?
TL – Stiamo attivamente proteggendo la C_Two con più livelli di protezione possibili. Non possiamo pensare di proteggerci con uno strumento solo: ogni livello deve proteggere la macchina da uno specifico tipo di attacco. A basso livello cose come la numerazione della sequenza dei messaggi CAN e la loro checksum proteggono dall’iniezione di messaggi non validi. Sul livello dell’infotainment, cose come la crittografia delle partizioni e la firma digitale dell’intera immagine del sistema operativo proteggono dall’avvio di un sistema operativo compromesso. La macchina di per se non ha servizi che possano accettare connessioni da internet, è sempre la macchina a connettersi a un server. Utilizziamo gli ultimi algoritmi di crittografia e dei messaggi di autorizzazione per garantire l’identità dell’automobile e del server. Il server che ospita il sistema M2M presenta le sue sfide, simili alle sfide di una banca per proteggere i dati dei suoi clienti. In Rimac Automobili vediamo questa cosa come uno sforzo congiunto di diversi team di progettisti e, come in tutti i problemi di cybersecurity, rimarrà sempre una gara tra noi e i pirati informatici.

Mozilla sta dismettendo Lockwise (il suo password manager), ma c’è già il rimpiazzo

Mozilla ha rilasciato per la prima volta l’applicazione Firefox Lockwise nel 2019, che era pensata come un password manager che implementava la funzionalità del login sync di Firefox. Lockwise poteva funzionare come provider per l’auto-completamento su Android ed iOS, permettendo di inserire le password salvate nell’account di Firefox Sync in tutte le app. Infatti Firefox…

L'articolo Mozilla sta dismettendo Lockwise (il suo password manager), ma c’è già il rimpiazzo proviene da Debianizzati.org.