Joel on Software

Joel on Software   Joel sul software

 

Altri articoli da "Joel on Software" in italiano

Altri articoli da "Joel on Software" in inglese

Scrivi all'autore (solo in inglese)

JOEL E IL SOFTWARE

 

Lettera sulle strategie V


Di Joel Spolsky
Tradotto da Giacomo Coppo
Redatto da Cam Fordyce, Marco Menardi
12/6/02

Quando ero all’università ho frequentato due corsi introduttivi di economia: microeconomia e macroeconomia. Macroeconomia era piena di teorie come “la disoccupazione causa l’inflazione” che hanno poco a che fare con la realtà. La microeconomia invece era bella e utile: era piena di interessanti concetti sulla relazione fra domanda ed offerta, che funzionano veramente. Per esempio insegnavano che se avete un concorrente che abbassa i prezzi, la richiesta per il vostro prodotto scende finché non abbassate anche voi i prezzi come il vostro concorrente.

Nel capitolo di oggi mostrerò come uno di questi concetti spiega molte cose su alcune ben note società di computer. Riflettendoci sopra ho notato alcuni aspetti interessanti sul software open source: la maggior parte delle società che spendono un sacco di soldi per sviluppare software open source lo fanno perché è una buona strategia di business, non perché improvvisamente hanno smesso di credere nel capitalismo per convertirsi ed innamorarsi del concetto libertà di parola.

Nel mercato ogni prodotto ha un sostituto ed un complemento. Un sostituto è un prodotto alternativo che puoi comprare nel caso in cui il primo sia troppo costoso. La carne di pollo è un sostituto per quella di manzo. Un allevatore di polli venderà di più quando il prezzo della carne di manzo cresce, perché le persone preferiranno comprare il pollo.

Un complementare è un prodotto che normalmente viene acquistato insieme ad un altro. Benzina ed automobili sono complementari. L’hardware dei computer è un classico complementare dei sistemi operativi; le babysitter sono complementari ad una cena fuori. In una piccola città quando i 5 ristoranti locali fanno un’offerta ‘paghi 1 mangi in 2’ per il giorno di San Valentino, le babysitter raddoppiano il loro prezzo. (Beh, altre babysitter ancora più giovane verranno assunte prima del solito.)

A parità di altri fattori, la domanda per un prodotto aumenta quando il prezzo del suo complementare diminuisce.

Fatemelo ripetere, nel caso vi siate appisolati nel frattempo, perché è un concetto importante: la domanda per un prodotto aumenta quando il prezzo del suo complementare diminuisce. Per esempio: se scendono i prezzi dei voli per Miami, la richiesta per gli alberghi a Miami aumenta – perché più persone voleranno a Miami e vorranno una camera in albergo. Quando i computer diventano più convenienti più persone li comprano ed avranno bisogno del sistema operativo; dunque aumenta la richiesta per i sistemi operativi ed il loro prezzo sale.

A questo punto è piuttosto comune confondersi le idee e dire: “eh sì! Ma Linux è GRATIS!”, OK. Prima di tutto quando un economista parla di prezzo prende in considerazione il costo totale, che comprende il costo di beni non materiali come, per esempio, il tempo necessario per installarlo, fare nuovi corsi di formazione ed adattare i processi già esistenti; tutte quelle cose che ci piace chiamare "total cost of ownership".

In secondo luogo, usando l’altra famosa argomentazione, free-as-in-beer (“gratis” come lo sarebbe la birra), i sostenitori dell’open source cercano di convincersi di non essere soggetti alle regole dell’economia: possono moltiplicare il costo quanto vogliono tanto sarà sempre zero. Ecco un esempio. Quando Slashdot ha chiesto al Moshe Bar, sviluppatore di Linux, se in futuro il kernel sarebbe stato compatibile con tutti i driver esistenti egli ha risposto che non ce n’era la necessità: “il software proprietario ha un costo di 50-200 dollari per linea di codice debuggato. Questo costo non si applica al software open source.” Moshe afferma quindi che non c’è nessun problema nel riscrivere tutti i driver per ogni nuova versione del kernel, perché il costo per riscrivere anche quelli già esistenti è zero. Questo è completamente sbagliato: egli sostiene che impiegare una certa quantità di tempo, minima, di programmazione per rendere il nuovo kernel compatibile con la versione precedente, oppure spendere un sacco di tempo per riscrivere tutti i driver, abbia lo stesso costo perché in entrambi i casi la quantità di tempo impiegata è moltiplicata per il “costo” di programmazione, che egli crede essere zero.

Questo è a prima vista un ragionamento errato. Le migliaia o milioni di ore di programmazione necessarie per correggere ogni driver di periferica prima o poi qualcuno le dovrà pagare. E finché si procede in questo modo, Linux sarà ancora una volta in svantaggio rispetto al mercato perché non può supportare tutto l’hardware esistente. Non sarebbe meglio usare tutto questa fatica a “costo zero” per sviluppare uno Gnome migliore? O per supportare il nuovo hardware?

Il codice debuggato, che sia proprietario o open source, NON è gratis: anche se non lo paghi in contanti ha dei costi di opportunità mancate e di tempo. Non sono infiniti i volontari capaci disponibili per sviluppare open source. Ogni progetto open source è in competizione con altri progetti open source nel condividere le stesse risorse e solo i progetti più accattivanti trovano più volontari disponibili di quelli necessari. Per riassumere: non mi impressionano quelli che cercano di dimostrare concetti di economia selvaggia come il software cosiddetto free-as-in-beer (“gratis” come lo sarebbe la birra), perché penso che semplicemente sbaglino dividendo per zero da qualche parte.

Eazel closed.L’open source non è esente dalle leggi di gravità o di economia. Abbiamo visto Eazel, ArsDigita, La Ditta Precedentemente Nota Come VA Linux e molti altri tentativi. Ma qualcosa sta ancora andando avanti, qualcosa che solo pochi nel mondo dell’open source realmente capiscono: un sacco di grandi società quotate in borsa, con la responsabilità di massimizzare il valore delle loro quote verso i loro azionisti, stanno investendo ingenti quantità di denaro per supportare il software open source; solitamente pagando grandi team di sviluppatori per lavorarci sopra. E questo si spiega facilmente se riprendiamo il principio dei prodotti complementari.

Ancora una volta: la domanda per un prodotto aumenta quando il prezzo del suo complementare diminuisce. In generale, un interesse strategico per una società è fare in modo che il prezzo dei prodotti complementari ai loro sia il più basso possibile. Il più basso costo sostenibile teoricamente sarebbe il cosiddetto prezzo calmierato -- il prezzo che si ottiene quando vi sono un sacco di concorrenti che offrono prodotti uniformi ed indistinguibili, prodotti che diventano una commodity. Quindi:
 

Le società intelligenti cercano di rendere commodity i prodotti complementari ai loro.

Se riuscite a far questo, la richiesta per il vostro prodotto aumenta e potete farlo pagare sempre di più.

Quando la IBM ha progettato l’architettura del PC, ha usato componenti standard anziché proprietari, e ha accuratamente documentato tutte le interfacce fra i componenti nel (rivoluzionario) IBM-PC Technical Reference Manual. Perché? Affinché altri costruttori prendessero parte al gioco: qualunque cosa soddisfi le specifiche dell’interfaccia può essere utilizzate nei PC. Lo scopo di IBM era di rendere una commodity i componenti, che sono i complementari dei PC, e, decisamente, ci sono riusciti: nel giro di poco tempo sono spuntate come funghi società che offrono memorie, hard disk, schede video, stampanti ecc. Componenti a buon mercato comporta maggiore richiesta di PC.

Quando IBM ha ottenuto in licenza da Microsoft il sistema operativo MS-DOS, Microsoft ha fatto attenzione a non dare una licenza esclusiva. Questo ha fatto si che Microsoft potesse dare in licenza lo stesso sistema anche a Compaq ed altri costruttori che avevano copiato, sia chiaro legalmente, i PC da IBM, usando la documentazione di IBM stessa. Lo scopo di Microsoft era di fare dei PC una commodity. Molto presto il PC in sé è divenuto una commodity, con prezzi sempre più bassi, prestazione sempre in crescita e margini talmente ridotti che è diventato estremamente difficile farci del profitto. Il prezzo basso, ovviamente, fa aumentare la richiesta. L’aumento della richiesta per i PC comporta l’aumento della richiesta anche per i loro complementari, MS-DOS. A parità di altri fattori, maggiore è la richiesta per un prodotto, più soldi riesci a farci. Ecco perché Bill Gates ora potrebbe comprare la Svezia e voi no.

In questo periodo Microsoft ci sta provando un’altra volta con Xbox: questa nuova console fa uso di componenti per PC, già commodity, anziché componenti su misura. La teoria (spiegata in questo libro) era che l’hardware commodity diventa ogni anno più a buon mercato, cosicché il prezzo di Xbox cala. Sfortunatamente sembra che la teoria stia fallendo: evidentemente i prezzi dell’hardware sono già stati spremuti fino all’osso, il costo di Xbox quindi non scende così in fretta come invece avrebbe fatto piacere a Microsoft. Un altro aspetto della strategia di Xbox era l’uso di DirectX, una libreria grafica che permette di scrivere programmi che funzionano su ogni tipo di chip video. Lo scopo in questo caso è di fare dei chip video una commodity, per minimizzarne il prezzo, in modo da poter vendere più videogiochi, che è un prodotto con cui veramente si fanno i soldi. E perché non sono i produttori di chip video che cercano in qualche modo di rendere i giochi una commodity? Questo è assai più difficile. Se il gioco Halo sta vendendo alla grande, è perché non c’è un vero sostituto. Se andate al cinema per vedere “Star Wars II - l’attacco dei cloni” non sarete altrettanto soddisfatti se al suo posto vi fanno vedere un film di Woody Allen. Saranno entrambi grandi film, ma non sono fra loro interscambiabili. A questo punto ditemi voi: preferireste essere un casa produttrice di videogiochi o un venditore di chip video?

Fate dei prodotti complementari ai vostri una commodity.

Capire questa strategia ci fa andare molto, molto avanti nello spiegare il perché molte società stanno investendo grandi capitali nell’open source. Andiamo quindi nel dettaglio e vediamo alcuni esempi.

Esempio: IBM spende miliardi per sviluppare software open source

Luogo comune: lo fanno perché Lou Gerstner ha letto il manifesto della GNU, ha visto la luce e si è convertito contro il capitalismo.

La realtà: lo fanno perché IBM sta diventando una società di consulenza informatica. La consulenza informatica è complementare al software aziendale. Quindi IBM ha bisogno di rendere il software aziendale una commodity e il miglior modo di farlo è supportando l’open source. Nota bene: il loro settore consulenza sta riscuotendo un grande successo grazie a questa strategia.

Esempio: Netscape ha distribuito il suo browser come open source.

Luogo comune: lo stanno facendo per avere gratis il contributo di programmatori dagli internet cafè in Nuova Zelanda.

La realtà: lo fanno per rendere i browser una commodity.

Questa è stata la strategia di Netscape fin dall’inizio. Guardate il primissimo comunicato stampa di Netscape: il browser è “freeware”. Netscape ha regalato il suo broswer per poter fare soldi sul lato server. Browser e server sono due tipici prodotti fra loro complementari. Più è basso il prezzo del browser, più server si vendono. Non è mai stato così vero come nell’ottobre del 1994. (Fu davvero una sorpresa per Netscape quando MCI è arrivata ed ha messo sul tavolo così tanti soldi che persino loro hanno capito che potevano fare soldi anche con il browser. E questo non era previsto nel piano di gestione.)

Quando Netscape ha rilasciato Mozilla come software open source, lo ha fatto perché pensavano di abbassare i costi di sviluppo del browser; potevano quindi ottenere i vantaggi di una commodity ad un prezzo più basso.

Più avanti AOL/Time Warner ha acquisito Netscape. Il software dei server, che si supponeva beneficiasse della commodity browser, non stava andando cosí bene e fu scaricato. Ora: perché AOL/Time Warner dovrebbe continuare ad investire nell’open source?

AOL/Time Warner è una società di intrattenimento. Le società di intrattenimento sono complementari ad ogni tipo di piattaforma per distribuzione di intrattenimento, compresi i browser. L’interesse di questo impero è di fare delle piattaforme per la distribuzione dell’intrattenimento – i browser – una commodity, per le quali nessuno può chiedere soldi.

Il mio ragionamento è un po’ contorto per il fatto che Internet Explorer è di fatto free-as-in-beer (“gratis” come lo sarebbe la birra). Anche Microsoft voleva fare dei browser una commodity per poter vendere sistemi operativi per PC e server. Neoplanet, AOL, e Juno hanno usato questi componenti per creare i loro browser web. Visto che IE è gratis, quale motivo ha Netscape di fare un browser ancora più “gratis”? E’ una mossa preventiva: hanno bisogno di prevenire il monopolio di Microsoft nei browser web, anche se gratis, perché ciò permetterebbe a Microsoft di aumentare i prezzi del browser in altri modi; per esempio aumentando il prezzo di Windows.

(Il mio ragionamento è ora ancor più debole perché è piuttosto evidente che Netscape ai tempi di Backsdale non aveva idea di quello che stava facendo. Una spiegazione più verosimile è che i più alti dirigenti fossero tecnicamente incapaci, e non avevano altra scelta che assecondare ciò che di volta in volta proponevano gli sviluppatori. Gli sviluppatori erano hacker, non economisti, e solo accidentalmente facevano proposte utili per la loro strategia… Ma lasciamo loro il beneficio del dubbio.)

Esempio: Transmeta assume Linus e lo paga per smanettare su Linux.

Luogo comune: l’hanno fatto per avere un po’ di pubblicità. Avreste mai sentito parlare di Transmeta altrimenti?

La realtà: Transmeta è una società che produce CPU. Il complemento naturale della CPU è il sistema operativo. Transmeta ha bisogno che il sistema operativo sia una commodity.

Esempio: Sun e HP pagano Ximian per smanettare su Gnome.

Luogo comune: Sun e HP supportano il free software perché preferiscono i Bazar alle Cattedrali.

La realtà: Sun e HP sono società che producono hardware: fanno scatole chiuse. Per fare soldi con i PC hanno bisogno che i sistemi operativi a finestre, che sono un complemento del computer, siano una commodity. Perché non usano i soldi che stanno dando alla Ximian per sviluppare invece un sistema a finestre proprietario? Ci hanno provato (Sun aveva NeWS ed HP aveva New Wave), ma Sun e HP sono nel profondo vere e proprie società di hardware, la loro esperienza nel software è primitiva ed il sistema operativo per loro deve essere una commodity a basso costo, e non un elemento proprietario di vantaggio su cui dover spendere dei soldi. Così hanno stipendiato quei cari ragazzi alla Ximian per realizzarlo per lo stesso motivo per cui Sun ha comprato Star Office e l’ha reso open source: per rendere il software una commodity e fare i soldi con l’hardware.

Esempio: Sun sviluppa Java; con il nuovo sistema "Bytecode" scrivi un codice che gira ovunque.
 

L’idea del bytecode non è nuova -- i programmatori provano da sempre a fare in modo che il loro codice giri su quante più architetture hardware possibili. (Ecco come potete rendere una commodity il prodotto complementare!). Per anni Microsoft ha avuto il suo compilatore p-code e una interfaccia a finestre trasferibile su diverse architetture che permette di avere Excel su Macintosh, Windows ed OS/2, ed indifferentemente su chip Motorola, INTEL, Alpha, MIPS e PowerPC. Quark ha una interfaccia che fa funzionare codice scritto per Macintosh su Windows. Il linguaggio di programmazione C si può definire un linguaggio assembler indipendente dall’hardware. Per uno sviluppatore questa non è proprio una nuova idea.

Se potete far girare il vostro software ovunque, l’hardware può essere ancora di più una commodity. Appena i prezzi dell’hardware scendono, il mercato si espande facendo aumentare la domanda per il software (e lasciando in tasca ai clienti più soldi da spendere nel software che a questo punto può anche essere più costoso).

L’entusiasmo che Sun esprime per WORA è, beh, strano, perché Sun è una società che fa hardware: rendere l’hardware una commodity è l’ultima cosa che dovrebbe fare.

Oooooooooooooooooooooops!

Sun è il cavallo impazzito del mercato dei computer; incapace di vedere oltre la loro furiosa paura e ripugnanza per Microsoft, adotta strategie basate più sulla rabbia che sul suo interesse. Le due strategie di Sun sono (a) rendere il software una commodity promuovendo e sviluppando free software (Star Office, Linux, Apache, Gnome, ecc.), e (b) rendere l’hardware una commodity promovendo Java, con l’architettura bytecode e WORA. Ok, Sun, nel vecchio gioco delle sedie, quando finisce la musica su quale sedia ti siedi? Senza un prodotto proprietario, che sia software o hardware, devi prendere i margini che ti dà una commodity, che a malapena coprono i costi di economiche fabbriche in Gauadalajara, non dei tuoi lussuosi uffici nella Silicon Valley.

"Ma Joel!" – sento un grillo nelle orecchie- "Sun sta cercando di rendere una commodity i sistemi operativi, esattamente come Transmeta, e non l’hardware.” Forse, ma il fatto che il bytecode Java di fatto rende anche l’hardware una commodity è un danno collaterale piuttosto significativo da sostenere.

Un interessante corollario a tutto questo discorso è il fatto che tutti questi esempi mostrano come sia facile per il sofware rendere l’hardware una commodity (devi solo aggiungere un livello di astrazione, come HAL di Windows NT, che è un minuscolo pezzo di codice), ma è incredibilmente difficile per l’hardware fare del software una commodity. Il software non è interscambiabile, come sta imparando il gruppo marketing di StarOffice: anche se il prezzo è zero, il costo per passare da Microsoft Office a StarOffice non è zero. Finché il costo del passaggio non è zero il software per i PC non sarà mai una vera commodity. Anche la minima differenza può rendere una pena passare da un software all’altro. Nonostante il fatto che Mozilla abbia tutte le prestazioni che voglio e che amerei utilizzarlo foss'altro per liberarmi di quelle insistenti finestre di pop-up di pubblicità sui giochi, sono troppo abituato a premere Alt+D per andare alla barra dell’indirizzo. Allora fatemi causa. Una sola minuscola differenza e perdi lo status di commodity. Invece ho estratto hard disk da un PC IBM e li ho messi in un PC Dell e, bam!, il sistema si accende e funziona come se fosse ancora sul vecchio computer.

Amos Michelson, il CEO di Creo, mi ha detto che ogni dipendente della sua ditta deve andare ad un corso che lui chiama “il pensiero economico.” Idea grandiosa! Anche semplici concetti di microeconomia danno una marcia in più per comprendere alcuni fondamentali mutamenti del giorno d’oggi.



Traduzione dell'articolo originale inglese dal titolo Strategy Letter V  

Joel Spolsky è il fondatore della Fog Creek Software, una piccola ditta di software a New York. Laureato alla Università di Yale, ha lavorato come programmatore e manager presso Microsoft, Viacom e Juno.


I contenuti di queste pagine esprimono opinioni personali dell'autore.
I contenuti sono Copyright  ©1999-2005 di Joel Spolsky. Tutti i diritti riservati.

FogBUGZ | CityDesk | Fog Creek Software | Joel Spolsky