Archivi categoria: OpenSource

Il codice di Eudora diventa OpenSource

Facebooktwittergoogle_plusredditlinkedin

La notizia mi ha riportata direttamente nei primissimi anni 2000 quando (ogni tanto e di nascosto) riuscivo a recuperare qualche copia di $notarivistainformatica con in allegato CD con vari software e tra le costanti c’era sempre un nome: Eudora.

Eudora è stato un client di posta sviluppato da Steve Dorner presso l’Università dell’Illinois e rilasciato per la prima volta nel 1988 per Apple Mac.

Nel 1991 Qualcomm acquisì Eudora assumendo Dorner per continuarne lo sviluppo. Successivamente la società decise di svilupparne una versione per MS-DOS e successivamente per Windows, per ampliare il proprio bacino di utenza. Inizialmente utilizzato all’interno dell’azienda, venne rilasciato commercialmente 2 anni dopo, nel 1993, con due versioni disponibili: una free (quella per i poveracci come me che le trovavano sui CD delle riviste, piena zeppa di pubblicità varie) e una a pagamento. Dopo 15 anni, Qualcomm decise di ritirare dal mercato Eudora rilasciando due versioni “definitive” per Windows (7.1.0.9) e per Macintosh (6.2.4) l’11 ottobre 2006.

Una beta della versione 8.0 comparve verso la fine del 2007, rilasciata poi nel 2010 come Eudora OSE (Open Source Edition, nome assolutamente fuorviante). Inutile dire che fu un fallimento.

Oggi, dopo cinque anni di trattative con Qualcomm, il Computer History Museum ha acquisito la proprietà del codice sorgente del famoso client di posta, i suoi trademark, copyright e domini.

Il codice è stato rilasciato sotto licenza BSD con un accordo specifico per includere le librerie RogueWave (per uso non commerciale).

Il codice distribuito dal Computer History Museum è esattamente quello ceduto da Qualcomm con alcune variazioni minime:

  • Aggiunto il copyright per CHM ed il riferimento alla licenza BSD;
  • Rimozione di software di terze parti di cui non si hanno i diritti di utilizzo;
  • Rimozione delle varie “bad words” dai commenti nel codice (un vero peccato, imhowhere’s the fun??).

Giubilo dunque per gli amanti del retro-ciarpame come chi sta scrivendo, sempre ben contenti di vedere un altro pezzettino di storia dell’informatica passato all’open-source!

GitLab Ultimate e Gold gratuiti per scuole e progetti open source

Facebooktwittergoogle_plusredditlinkedin

La recente acquisizione di GitHub da parte di Microsoft ha generato dissenso tra molti sviluppatori che vedono questa mossa come quella che porterà alla morte una piattaforma finora portata avanti dalla community; GitHub attualmente ospita il codice oltre 28 milioni di sviluppatori in 85 milioni di repository che possono essere ampliate o integrate in altri progetti, e molte di queste persone si sentono come minacciate dall’avere il loro amato codice in mano all’azienda in passato divenuta famosa per l’EEE (Embrace Extend Extinguish).

Subito dopo la notizia si è scatenato su Twitter #movingtogitlab, seguito -proprio in questi giorni- dalla creazione di un vero e proprio account che raccoglie e ricondivide le esperienze degli utenti.

Il risultato? Nelle ultime 24 ore GitLab ha registrato importazioni di oltre 100.000 repository, con un incremento degli ordini per le versioni con sottoscrizioni di circa 7 volte; come se non bastasse Apple, che proprio in questi giorni sta presentando le novità annuali per gli sviluppatori al WWDC, ha annunciato che Xcode 10 si integrerà con la piattaforma.

Alla luce di questi avvenimenti, GitLab ha pensato bene di rilanciare offrendo i piani GitLab Ultimate e Gold gratuitamente alle scuole e per lo sviluppo di progetti open source:

  • Educazione: offerto a qualsiasi istituzione legata al mondo dell’istruzione che non includano fini commerciali, professionali o profitti;
  • Progetti open source: qualunque progetto utilizzi una licenza open source standard non-commerciale.

Il piano Ultimate prevede un GitLab self-hosted, comodo per chi non desidera mettere il proprio codice e/o i propri processi su cloud, mentre il Gold è hostato sul sito della compagnia stessa. Non è incluso l’eventuale supporto che andrà pagato a parte, ma che sarà comunque fortemente scontato.

Nonostante Microsoft abbia dichiarato più volte di “amare” Linux, non è ancora chiaro se questo si estenda più in generale all’open source, ed anche a fronte dei continui ed ingenti investimenti in tal senso, gli utenti sembrano ancora piuttosto diffidenti.

Riuscirà mai Microsoft a convincerci di avere buone intenzioni?

Tesla inizia finalmente a rilasciare il codice opensource delle sue auto

Facebooktwittergoogle_plusredditlinkedin

Non è segreto che sotto il cofano delle automobili Tesla, così come in quello di parecchi altri produttori, si celi il nostro amico pinguino, incaricato di parecchie cose, dalla mera gestione dell’infotainment, fino ai display digitali ed HUD.

E l’azienda automobilistica di Elon Musk è già stata redarguita in passato per via del fatto che non rilasciava i sorgenti; nel 2013 la SFC (Software Freedom Conservancy) aveva contattato Tesla per avvisare di una grave violazione: i clienti che acquistavano la famosa Model S, il cui sistema conteneva un kernel Linux e BusyBox, non solo non riceveva il codice sorgente, ma neanche gli veniva offerta la possibilità di richiederlo.

Da allora Tesla sta lavorando (seppur lentamente) insieme alla SFC per pubblicare il codice sorgente senza violazioni di licenze e, contemporaneamente, mantenendo il controllo su alcune sue tecnologie esclusive, ed il lavoro di questi anni ha portato in questi giorni al rilascio di parte del codice sorgente della Model S e della Model X sul repository Tesla su GitHub.

Work is underway on preparing sources in other areas as well, together with a more coordinated information page. We wanted to let you know about this material as it is available now while work continues on the other parts.

Stiamo lavorando nel preparare i sorgenti anche nelle altre aree, insieme ad una pagina informativa più coordinata. Volevamo mettervi al corrento di questo materiale ora che è disponibile mentre continuiamo a lavorare sulle altre parti

Con questa dichiarazione Tesla, pur non permettendo ancora di compilare i binari da utilizzare sulla nostra Tesla fatta in casa, indica la volontà di impegnarsi nel rilascio del codice sorgente.

Dall’altra parte l’opinione di Kuhn e Sandler della SFC è più realista:

We often wish we could celebrate the triumph of moving from a no-source-or-offer violation to the next step of ‘incomplete sources provided’. However, we also can’t lose sight of the fact that compliance means meeting all GPL’s requirements, so we don’t convey false hopes with an incomplete release. We must ultimately remain focused on user freedom in our efforts.

Spesso speriamo di poter celebrare il trionfo del passare da una violazione di tipo “nessun-sorgente-o-offerta” al passaggio successivo di “i sorgenti incompleti sono ora disponibili”. Comunque, non possiamo perdere di vista il fatto che l’essere conformi significa rispettare tutti i requisiti della GPL, quindi non nutriamo false speranze con una release incompleta. Alla fine dobbiamo restare concentrati nel nostro impegno sulla libertà degli utenti.

Quindi il passo è sicuramente valido, ma l’intenzione pare sia quella di non smorzare la presa sulla società del buon Musk, ma di continuare a verificare, ed aiutare, nella conformità a quello che la GPL, usando Linux nel proprio cuore, li impegna a fare.

Noi seguiremo la faccenda

Facebook rilascia il bilanciatore Katran in OpenSource

Facebooktwittergoogle_plusredditlinkedin

Facebook non è nuova, come anche altri big di Internet, a rilasciare applicazioni che ha sviluppato per necessità interne in open source.

Che sia software, o hardware, Facebook sembra sempre molto aperta a rilasciare codice, e ne è dimostrazione il rilascio in questi giorni di Katran, un bilanciatore network da lei sviluppato.

In pratica, come lungamente raccontato nell’articolo di presentazione pubblicato da Facebook stesso, Katran è un bilanciatore layer 4 (nella pila ISO/OSI), ovvero si occupa del trasporto operando sui singoli pacchetti (tipicamente TCP), invece che a livello applicativo (layer 7, come HTTP).

In parole povere, Facebook ha distribuito in tutto il mondo dei Point of Presence (PoP), ovvero dei proxy che accettano le richieste pubblicando VIP (Virtual IP) differenti per locazioni geografiche, e che distribuiscono il traffico sui server di backend: sono solo questi che si occupano, realmente, di gestire le richieste e rispondere ai client.

E fino a qui, nulla di nuovo sotto il sole; ed allora per quale motivo Facebook si è sviluppato un proprio sistema invece di utilizzare uno degli innumerevoli disponibili (sia open source che non)? Beh, probabilmente proprio perché è Facebook, ed il traffico che si trova a gestire è decisamente superiore rispetto a quello di molti altri player del settore.

Inoltre Katran è un Software Defined Load Balancer -ovvero un’architettura distribuita di load balancer definita però a livello di codice in un punto centralizzato- il che sicuramente ha parecchi vantaggi in architetture così estese e, tendenzialmente, così automatizzate come quelle di Facebook; infine, l’azienda aveva dei requisiti ben specifici a riguardo:

  • Doveva girare su server Linux accessori, magari già utilizzati per altro, non essere legato ad hardware particolari
  • Poter coesistere con altri servizi sullo stesso server
  • Permettere il disservizio (in caso di aggiornamento o manutenzione) minimizzando l’impatto o l’effort necessario alla gestione, il tutto per evolvere rapidamente nel tempo.
  • Essere facilmente monitorato e debuggato con strumenti semplici e sempre disponibili, quali tcpdump

Il funzionamento di questo bilanciatore, seppure spiegato nel dettaglio nell’articolo, è abbastanza classico, ma il dover gestire una mole considerevole di traffico ha portato Facebook ad applicare alcuni accorgimenti per ottimizzarne il funzionamento, nonché l’utilizzo di feature recenti del kernel Linux. Ecco alcuni esempi:

  • l’applicazione di metodologie di gestione degli hash, che permettono di non dover sincronizzare lo stato delle connessioni tra le varie istanze del bilanciatore
  • la gestione del traffico in modalità DSR (Direct Server Return), in modo da non passare dal bilanciatore anche per la risposta ed evitare quindi che diventi un collo di bottiglia
  • con una combinazione di XDP (eXpress Data Path) ed eBPF (extended Berkeley Packet Filter) per accedere e gestire il pacchetto network appena entrato nella scheda di rete e prima che il kernel lo intercetti.

Insomma, tante tecnologie e tante idee: se anche non dovessimo utilizzare questa soluzione, alcune note possono stuzzicare la fantasia per migliorare quanto già gestiamo.

Potete comunque scaricate il sorgente del balancer direttamente dalla pagina GitHub del progetto. Buona lettura!

Ecco come una persona malata di diabete grazie all’OpenSource ha costruito il proprio device medico

Facebooktwittergoogle_plusredditlinkedin

Il premio Women in OpenSource Community 2018 è andato a Dana Lewis, una donna malata di diabete di tipo 1 su cui i dispositivi medici in commercio non stavano funzionando. Infatti l’allarme del dispositivo di monitor di glucosio (GCM) non era abbastanza alto da vegliarla, costringendola sostanzialmente a rischiare ogni volta che prendeva sonno.

Sentendosi rispondere dai produttori che il volume del dispositivo era adeguato per la maggioranza delle persone, Dana si è trovata costretta ad agire in prima persona per risolvere il problema. Così, venuta a conoscenza tramite un tweet di un apersona che era riuscita ad effettuare il reverse engineering del codice del dispositivo, ha provato ad informarsi meglio, rimanendo stupita:

I didn’t understand that it was perfectly normal to ask people to share code. That was my first introduction to open source.

Non avevo capito che era perfettamente normale chiedere alle persone di condividere il codice. Quello è stato il mio approccio con l’open source.

E da lì tutto è partito, un allarme più alto è diventato una pagina web in cui Dana poteva condividere i suoi dati coi i propri cari, fino a nuovi sviluppi all’interno della open source diabetes community che hanno portato alla creazione di un do-it-yourself artificial pancreas system (DIY APS), cioè un vero e proprio sistema di pancreas artificiale fatto in casa, culminato nella nascita di OpenAPS (the Open Source Artificial Pancreas System) la cui community cresce di giorno in giorno.

Un bell’esempio di quanto la condivisione e l’approccio open source possano aumentare la qualità della vita di tutti. La storia di Dana è raccontata per intero sul blog di opensource.com.

Tre governi passano a tecnologie opensource

Facebooktwittergoogle_plusredditlinkedin

Spesso ci capita di parlare di governi in giro per il mondo che, a nostro avviso in maniera lungimirante, sperimentano o passano a tecnologie open source. Ultimamente avevamo parlato di Barcellona, che ha sta abbanndonando il mondo Microsoft in favore di qualcosa di più aperto, ma i cambiamenti non si fermano qui.

La prima notizia arriva dalla Germania dove, soprattutto per la conformità con il GDPR (General Data Protection Regulation) che sarà attivo per tutti gli stati membri della comunità Europea dal 25 Maggio di quest’anno, è stato scelto di sfruttare Nextcloud per la creazione di un cloud e di un ambiente collaborativo privato e totalmente open source. E l’annuncio è seguito dalla notizia che, dopo un bacino di 5.000 utenti di test che stanno utilizzando la soluzione dall’Ottobre 2016, ad ora già 300.000 dipendenti del governo sono stati spostati su questa nuova piattaforma. Maggiori dettagli su questo passaggio potete trovarli qui.

Successivamente è il turno di Israele che, seguendo un’intento già dichiarato nel 2014, sta lentamente modificando il codice del software usato dal governo con licenze open source, il che permetterà a tutti di modificarlo ed utilizzarlo (seppur con il limite del solo sviluppo), così come di segnalare eventuali vulnerabilità. Al momento questa regola si applica al solo portale principale del governo, ma l’amministrazione sta spingendo perchè altri dipartimenti seguano le orme dell’open source. Anche qui, rimandiamo ad un articolo che illustra meglio i passaggi che hanno portato lo stato ad abbracciare queste tecnologie.

Infine è la volta dei nostri vicini inglesi: il Ministero della Giustizia UK ha rilasciato una piattaforma open source per l’analisi dei dati. Costruita in ambiente AWS (Amazon Web Services) e con Kubernetes nel suo cuore, il sistema fornisce un ambiente sicuro per l’esecuzione di software di annalitica (come RStudio o JupiterLab), ed integra un sistema di machine learning per l’analisi del testo.

Che dire, sempre più paesi si stanno muovendo in questa direzione, la speranza è che anche il nostro governo capisca come queste tecnologie possono portare un grosso miglioramento in termini di sicurezza e stabilità nei servizi offerti.

Titus: il manager di container opensource in salsa Netflix

Facebooktwittergoogle_plusredditlinkedin

Netflix non è nuova al rilascio in open source di software che ha sviluppato ad uso interno. E si vede dalla sua pagina di GitHub: da tool per interrogare sistemi di Big Data a software di build e delivery, passando da encoder fino alla cattura ed analisi delle metriche, per molte cose la filosofia dell’azienda di Los Gatos è sempre stato “aperto è meglio“.

Recentemente ha rilasciato in open source Titus, il software di gestione dei container che utilizzano internamente. Ma perchè svilupparne uno in casa invece di utilizzare i più conosciuti Kubernetes, Mesosphere DC/OS o Amazon ECS? Beh, diciamo che Netflix utilizza i container da più tempo rispetto al boom di questi prodotti ed il loro carico di lavoro è estremamente alto e settorializzato, al punto che non solo hanno preferito sviluppare internamente una tecnologia che si adattasse al 100% alle loro necessità, ma collaborando con altre aziende a cui si appoggiano, come ad esempio Amazon, hanno fatto si di far evolvere le tecnologie di quelle aziende al punto da generare interi nuovi prodotti che ora offrono ai loro clienti (mai sentito parlare della feature di “IP target groups for Application Load Balancer” fornita da Amazon AWS? Beh, è stata sviluppata a 4 mani con Netflix per risolvere problemi di quest’ultima).

E beh, se il solo nome Netflix non è sufficiente per farvi un idea di quanto possa essere testato questo nuovo prodotto open source, basti pensare che Titus al momento gestisce il lancio di, in media, mezzo milione di container al giorno, e circa 200.000 (si, mila) cluster. Oltre a questo, ruota centinaia di migliaia di virtual machine EC2 (di Amazon) ogni mese per assicurare che il carico necessario sia soddisfatto. Ah, ed il tutto in tre diversi continenti con politiche che gli permettono di migrare in maniera trasparente l’intero traffico da un continente all’altro in 7 minuti senza che le persone a casa neanche si accorgano di quello che sta succedendo.

Insomma, considerando la scala e l’importanza di quello che gestisce, sicuramente Titus è un progetto titanico e ben testato, e sicuramente può essere interessante provarlo. Certo, è molto settorializzato, quindi a meno che voi utilizziate pesantemente l’infrastruttura Amazon (EC2, AWS) per l’erogazione dei vostri servizi, forse potrebbe non essere la soluzione ideale.

Lasciamo a voi l’ardua scelta, nel frattempo in questo post di annuncio potete trovare interessanti spunti su come è stato pensato il progetto.

Buona lettura.