L'Open Source in un'azienda italiana: intervista al fondatore di ManyDesigns (2/2)
CF: Avete utilizzato progetti open source per lo sviluppo di
Portofino? Se sì, quali? Avete partecipato al loro sviluppo, o che rapporto avete avuto con il corrispondente team?
PP:
Utilizziamo numerose librerie open source all'interno di Portofino.
L'elenco completo è pubblicato in una pagina del nostro sito per dare credito agli autori originari. Confesso che non abbiamo contribuito molto alle rispettive community, se non con qualche segnalazione di bug. Solo nel caso di CUP, un generatore di parser molto flessibile, attualmente manutenuto dalla Technische Universität di Monaco,
abbiamo avuto un'interazione con il team di sviluppo che ci ha chiesto di fornire le nostre grammatiche come casi di test per la prossima major release della libreria. Il nostro rapporto con la comunità open è invece più intenso a livello locale tramite il Java User Group di Genova, in un contesto slegato da Portofino e aperto alle esperienze di programmazione più diverse.
CF: Qual è il maggior vantaggio per voi come azienda nel rilasciare un prodotto con modalità open source? E lo svantaggio?
PP:
L'Open Source porta a una serie di aperture, non solo del codice. Si ampliano il numero e la varietà di utilizzatori. Si aprono le modalità di utilizzo del software, in modi originali e al di fuori degli schemi ufficiali. Si moltiplica la discussione che, da centralizzata intorno al produttore, diventa distribuita e fuori dal suo controllo.Tutte queste cose possono essere viste sia in un'ottica positiva che in una negativa. Per noi è positiva, e il maggiore vantaggio è quello di poter far incontrare una comunità ampia con un prodotto che nasce per essere semplice e utilizzabile da tutti. Non vedo al momenti svantaggi.
CF: Come si finanzia un'azienda con l'Open Source?
PP:
Esistono vari modelli. In prima istanza l'azienda deve guardare al suo interno, capire quali sono le competenze più forti e decidere se vuole essere uno sviluppatore di prodotti software, un integratore di soluzioni, o un consulente specialista. Il caso dello sviluppatore di prodotti richiede ottimi sviluppatori e la capacità di fare marketing e cultura, soprattutto se il prodotto è innovativo. Queste aziende devono cercare di finanziarsi direttamente con le licenze sul software prodotto. I servizi (supporto, corsi, ecc.) devono esistere, ma purtroppo non sono sufficienti per coprire gli alti costi di sviluppo, per cui bisogna che il software stesso generi fatturato sotto forma di licenze, anche in presenza di licenze open, per esempio con una politica di dual-licensing come la nostra, oppure con un'offerta che valorizzi gli aggiornamenti e la certificazione come quella di RedHat.
Il caso degli integratori di soluzioni richiede un'ottima conoscenza del problema applicativo contestualizzato al cliente o utente finale. Queste aziende devono saper assemblare software di base e generico in soluzioni ritagliate su misura, cui il cliente possa riconoscere un valore economico. La fonte di reddito è quindi nello sviluppo iniziale e nelle successive manutenzioni. L'investimento iniziale richiesto è minore.
Il caso del consulente è quello dello specialista in uno o più software open source prodotti da altri. Il valore aggiunto è nel saper consigliare bene i clienti, nell'abbassare il rischio della scelta, nell'aiutarli a adottare le tecnologie valorizzando le capacità esistenti, nell'esternalizzare le attività di scouting tecnologico. E' un lavoro che può essere svolto sia da professionisti che da aziende più strutturate.
Esistono certamente altri modelli di business. Mi viene in mente per esempio quello della vendita della documentazione adottato oggi da JFreeChart e, anni fa, da
JBoss. Ma dal mio punto di vista i tre modelli che ho citato coprono una buona panoramica.
CF: A seguito del rilascio open source di
Portofino, avete avuto un maggior numero di contatti o comunque una migliore visibilità come azienda?
PP:
Certamente sì. Il rilascio pubblico in open source lo scorso febbraio per noi ha coinciso con il passaggio del sito alla lingua inglese e all'apertura di tutta la documentazione. Quindi diversi fattori hanno concorso all'aumento di visibilità. Poi nei mesi successivi è comparso qualche articolo, siamo stati inseriti nella lista dei prodotti di amministrazione/sviluppo sul sito di PostgreSQL,
qualcuno ci ha inseriti in varie pagine di Wikipedia,
in diverse lingue, senza che ci fosse stata alcuna richiesta da parte nostra. Abbiamo da poco raggiunto i mille download su SourceForge.net e circa due terzi degli accessi al sito sono dall'estero. Ci sembrano risultati incoraggianti.
Alle aziende italiane vorrei consigliare di valutare bene se rivolgersi a un mercato estero oppure solo italiano e di orientare il proprio marketing di conseguenza. Ci sono pro e contro per entrambe le scelte e anche in azienda facciamo spesso ragionamenti sull'argomento. Comunque a livello puramente emotivo, farebbe piacere vedere più export di software dall'Italia verso l'estero.
CF: Che aiuti avete avuto dalla comunità Open Source?
PP:
Principalmente commenti, storie d'uso, suggerimenti per migliorare il prodotto, la documentazione e i servizi. È importante sapere come gli utenti percepiscono il prodotto, dove sono le difficoltà con le funzionalità esistenti e quali sono i requisiti per le funzionalità future. Credo che questo genere di aiuto sia importante per qualunque tipo di software e noi lo abbiamo ricevuto anche quando eravamo solo commerciali. Un aiuto più tipico dell'Open Source sarebbe rappresentato dal contributo della comunità alla scrittura del codice, ma questo non è ancora avvenuto. Conosco aziende che passerebbero all'open per ricevere contributi di codice da parte della comunità e quindi per ridurre i costi di sviluppo, ma per raggiungere questa situazione partendo da un prodotto già maturo credo occorra molto tempo. Nel nostro caso, eravamo disposti a portare avanti lo sviluppo totalmente a nostro carico. Se un giorno dovessimo avere dei contributi, ovviamente saranno ben accetti. Inoltre bisogna tenere presente che aprire allo sviluppo esterno vuol dire aprire i propri processi organizzativi e il proprio modo di lavorare. Per esempio bisognerebbe pubblicare una roadmap strategica o avere un release management che coinvolga di più gli utenti. Però anche questo comporta una complessità da gestire. Per ora teniamo puntato il radar sulle problematiche e cerchiamo di attrezzarci per il futuro.
CF: Col senno di poi, rifareste la scelta open source per
Portofino? Se sì, con qualche differenza?
PP:
A volte parlo con aziende che vorrebbero pubblicare il loro prodotto in open source. La preoccupazione tecnica maggiore? Dare una "sistemata" al codice prima che venga messo sotto gli occhi di tutti. Trovo questa cosa divertente, ma anche stimolante. Pure noi abbiamo dato la famosa sistemata al codice soprattutto per razionalizzare le API, ma abbiamo anche strutturato meglio il release management, la gestione delle dipendenze da librerie esterne, la build automation e la documentazione. Questo lavoro ci ha ricompensato con una semplificazione del nostro modo di lavorare, con una migliore comunicazione e condivisione della conoscenza all'interno dell'azienda. L'essere più aperti e più trasparenti esternamente ci ha consentito di fare un lavoro di maggiore qualità al nostro interno. Poi c'è il discorso del mercato internazionale. L'Open Source apre delle potenzialità di internazionalizzazione che sarebbero più ristrette o semplicemente più costose in un modello closed source. Per queste due ragioni rifaremmo la scelta open senza indugio. Fare le cose diversamente, in modo migliore, si può sempre. Agli inizi farsi le ossa su un progetto open gestito da altri sarebbe stato utile. Ma anche fare esperienza sulla propria pelle, come abbiamo fatto noi, è stato interessante.