Sandstorm, piattaforma per una nuvola personale

Si possono individuare diversi fattori che hanno contribuito al fenomeno, ma è facile constatare come da circa un anno a questa parte siano state presentate o annunciate diverse soluzioni per avere e mantenere il proprio server con meno complicazioni possibili.

Per stilare una lista non esaustiva si possono citare:

A questa piccola pattuglia si aggiunge ora Sandstorm, dedicato alle macchine con architettura x86_64, che il 31 Agosto concluderà la sua raccolta fondi. Sandstorm è un progetto nato oramai un anno fa, del quale è possibile vedere già una versione di prova: per continuare ha bisogno di sostegno: altri hanno donato già più di 48.000 $, ne servono altri 2.000 per garantire un futuro al progetto!

Oggi pubblichiamo una traduzione di un articolo scritto da Kenton Varda, autore principale di Sandstorm che espone una delle ragioni per sostenere questo progetto.

L’intervento di Kenton Varda è stato originariamente pubblicato qui: https://blog.sandstorm.io/news/2014-07-21-open-source-web-apps-require-federated-hosting.html

Le applicazioni web sono impraticabili, risolviamolo!

Le ragioni per creare Sandstorm

Parliamo molto della necessità di riservatezza, sicurezza e controlo dei tuoi dati nel cloud. Lasciate che vi dica un segreto: non sono queste le ragioni alla base di Sandstorm. Sono solo dei benvenuti effetti collaterali.

La vera ragione alla base di Sandstorm è ed è sempre stata creare le condizioni perché dei programmatori indipendenti possano produrre delle applicazioni web di successo.

Nel modello attuale di software-as-a-service, la programmazione indipendente è semplicemente impraticabile. Le persone lo fanno lo stesso, ma il loro software non è disponibile per un grande pubblico. Perché il software realizzato con fondi minimi abbia un senso, gli utenti devono essere capaci di potere allestire le loro istanze del programma, senza spese per il programmatore. È stato sempre così, in ambito desktop e mobile. Ora tocca alle applicazioni su server: l’hosting deve essere decentralizzato.

Ma oggi un sistema di hosting personale è possibile solo per chi dispone di tempo, soldi e competenze necessari per mantenere un server. Anche i più smanettoni non si prendono il disturbo, perché è un fastidio. Sandstorm nasce per risolvere tutto questo, per rendere l’hosting personale facile da raggiungere per tutti.

L’Open Source ha funzionato per desktop e mobile

Sul mio computer gira Debian Linux. Il mio sistema è fatto da diverse migliaia di pacchetti. Ho navigatori, editor di testo, IDE, programmi per chat,, suite di office, strumenti di programmazione, editor fotografici e media player. Singolarmente, ognuno di tutti questi è open source. Ancora più singolare, non ricordo l’ultima volta che ho sentito la necessità di usarvi un’applicazione non open source.

Non sono un estremista. Non mi impongo open source e non lo farei con altri. Userò del software proprietario quando servirà per fare quello che devo, ed in passato sono stato a lungo un utente Windows e Mac; semplicemente oggi sono un utente più felice su Linux. Questa è la mia scelta personale, e non è quella di tutti. Semplicemente il fatto che sia una scelta possibile e che io possa usare un desktop interamente open source senza grandi fastidi è fantastico se pensiamo a come stavano le cose quindici anni fa.

Anche gli utenti Windows e Mac oggigiorno usano moltissime applicazioni open source. Secondo certe statistiche la maggior parte degli utenti oggi usa un navigatore internet open source. VLC, BitTorrent ed alcune altre applicazioni indipendenti per desktop sono molto diffuse anche tra i non smanettoni. L’ecosistema mobile sembra ancora più popolato di applicazioni open source indipendenti e con piccoli fondi, ed i vari negozi di applicazioni rendono facilissimo raggiungere un vasto pubblico anche per dei piccoli programmatori.

Eppure, in qualche maniera, oggi il web è quasi completamente privo di software open source. Ogni giorno uso applicazioni come GMail, Facebook, Twitter, Feedly ed altri. Nessuna di queste è open source. Certo, queste applicazioni spesso girano su un’infrastruttura open source, ma è un’altra questione: anche la maggior parte delle applicazioni desktop proprietarie usano componenti e strumenti open source. Ma le applicazioni web, per come sono per l’utente, sono quasi invariabilmente proprietarie.

Perché tutte le mie applicazioni web sono proprietarie?

Le applicazioni web open source esistono. Ci sono da un po’, per esempio, delle applicazioni web di posta come SquirrelMail e RoundCube. Se cerchi abbastanza puoi trovare degli editor di documenti, lettori di RSS ed anche alcuni social network, tutti open source. Ma anche tra i più smanettoni, pochi sono quelli che le usano, probabilmente perché tutte richiedono che tu abbia il tuo server, e poche persone hanno il tempo, la pazienza e la competenza per questo.

Ci sono alcuni grandi successi. WordPress è open source e molto usato per i blog. Ma sembra più che altro l’eccezione che conferma la regola. Ed anche questo caso può comunque essere discusso: la maggior parte delle persone che usano WordPress non sono capaci di cambiarne il codice, perché lo usano tramite un servizio di hosting e possono usare semplicemente la versione che viene fornita loro. Naturalmente, tutti usano verosimilmente la versione “ufficiale”. E quindi alla fine, praticamente non si tratta di “codice aperto” ma di “codice visibile”: puoi vedere il codice e chiedere delle modifiche, ma le modifiche le ottieni solo se sono approvate ufficialmente.

Perché nessuno usa le applicazioni web “indipendenti”?

Anche su Windows, molte persone installano applicazioni open source per fare quello che serve loro. Devi classificare degli mp3? Vuoi connetterti a più reti di chat con un solo programma? Devi aprire un archivio con un formato bislacco? Facile che tu usi un’applicazione con codice aperto. A volte è difficile creare un’offerta commerciale per un bisogno di nicchia, eppure le applicazioni che certe persone scrivono a tempo perso sono numerose. Ma sul web, non sembra che funzioni così. Ogni servizio significativo con una componente lato server viene proposto solo da una società con solide finanze.

Lascia che descriva un esempio a questo proposito: conosco un certo programmatore prolifico di nome Brad Fitzpatrick. Forse lo conosci come l’autore di LiveJournal, Camlistore, memcache, OpenID ed altri. Ma voglio parlare di uno dei suoi progetti che probabilmente non conosci.

scanningcabinet è una piccola applicazione web che ti aiuta ad organizzare la tua posta cartacea. Metti la posta nel tuo scanner e l’applicazione la numerizza e carica su un server dove tu poi puoi trovarla, classificarla e ricercarla. Brad ha scritto quest’applicazione in una fine settimana vari anni fa e l’ha messa su github.

Quest’applicazione potrebbe essere utile per tutti. Ma purtroppo nessuno la può usare davvero. Per farlo devi configurare un server (App Engine in questo caso) e portarvi il codice. Persino per uno come me, che sa come farlo, non è proprio qualcosa che ho voglia di fare.

Con il modello attuale, se Brad volesse rendere la sua applicazione utilizzabile per un vasto pubblico, dovrebbe farla funzionare come un servizio. Dovrebbe integrare la multi utenza, essere certo che è sicura, lanciarla e controllarla. Ancora peggio: dovrebbe pagare il servizio, e quindi dovrebbe trarne degli introiti, e questo significa che forse adovrebbe iniziare ad analizzare la posta delle persone per creare dei profili pubblicitari, oppure creare un sistema di fatturazione. Ovviamente Brad non vuole fare nulla di tutto questo.

E se anche lo facesse, chi la userebbe? Tu saresti pronto a caricare la tua posta su dei server di un tizio su internet? Io di certo non sono pronto ad affidare i miei dati personali ad un servizio che non sia quanto meno sostenuto da un’organizzazione identificabile che ha qualcosa da perderci, se manda tutto a rotoli.

Il problema è l’hosting

A questo punto il problema è chiaro: perché l’open source abbia un senso, l’utente deve poterne fare funzionare una propria istanza. Codice aperto e Software-as-a-Service non possono funzionare insieme. Non è un codice aperto, se non lo puoi modificare tu stesso, e la barriera di ingresso così alta preclude la via ai progetti amatoriali o senza intenzione di monetizzarli.

La sola soluzione è fare sì che tutti possano avere un server nel quale possano installare ogni programma che vogliono. Non devono per forza amministrare quel server -può essere quello di un amico, o un servizio- ma ogni utente deve potere installare il programma che vuole. E quel programma deve essere isolato in maniera sicura per evitare che se è malevolo o ha dei bachi metta in crisi il resto del server.

Oggi questo praticamente non esiste. Per preparare un server sono necessari tempo e competenze, mentre i servizi di hosting già pronti ti permettono di usare una gamma ristretta di programmi.

Non c’è una soluzioe per delle applicazioni web open source.

Decentralizziamo l’hosting

Sandstorm è una piattaforma per ospitare delle applicazioni web che consente ad utenti non esperti di installare ed usare i programmi che scelgono. Le applicazioni possono essere scaricate da un negozio ed installate con un clic, come sul tuo telefono. Il server di ogni applicazione gira in una sandbox sicura, nel quale non può interferire con i permessi di altre applicazioni.

Parliamo molto di riservatezza, sicurezza e controllo, ma per me questi sono sempre stati solo dei gradevoli effetti collaterali del modello di Sandstorm. La mia motivazione per iniziare questo progetto è sempre stata di sostenere i programmi con codice aperto, hobby, applicazioni di nicchia e programmatori indipendenti. Anche se ogni applicazione in questa categoria in definitiva ha un impatto ridotto in contronto a GMail o Facebook, la somma di quello che si perde nel non avere una piattaforma per queste applicazioni è enorme. Abbiamo bisogno di open source per colmare le nicchie che non interessano alle grandi società, e per estendere i limiti che sembrano loro troppo pericolosi. Abbiamo di progammi che possano essere modificati senza chiedere il permesso a nessuno per provare nuove cose senza dovere per forza cominciare da zero. Sinceramente, mi sembra assurdo che ancora oggi non abbiamo qualcosa di simile per il web.

Aiutaci a farcela

Abbiamo già fatto un lungo cammino. Abbiamo una versione di prova che fa quasi tutto quello di cui stiamo parlando. Ma stiamo arrivando al limite di quello che possiamo autofinanziare. Possiamo lanciare Sandstorm, ma abbiamo bisogno del tuo aiuto.

Per favore, guarda la nostra sottoscrizione su Indiegogo, e passa parola.

Finanziaci su Indiegogo

Tags: , , ,

Shortlink: http://www.tevac.com/?p=14316

Un Commento a “Sandstorm, piattaforma per una nuvola personale”

  1. kOoLiNuS 28 agosto 2014 at 18:00 #

    Domanda maliziosa… dove sono fisicamente residenti i server di questo servizio?

Lascia un commento

%d blogger hanno fatto clic su Mi Piace per questo: