Il seguente documento � la traduzione in italiano di un memorandum interno Microsoft e riguarda strategie e tattiche commerciali nei confronti del procedimento open source. Ci sono tre documenti, denominati Halloween I, Halloween II e Halloween III che riguardano rispettivamente Microsoft contro open source, Microsoft contro Linux e la risposta ufficiale data da Microsoft dopo che Halloween I fu pubblicato in rete. Le traduzioni in italiano sono ospitate da SET, Syntax Error Technology. Indice e links ai documenti originali e alle relative traduzioni si trovano alla pagina msdn&news;. Se cercate ulteriori informazioni sul procedimento open source, sulla reazione della stampa ai documenti Halloween, ecc., il posto migliore � il sito Open Source (in inglese). I documenti sono stati tradotti da LuLaVio: contattatelo per commenti o per segnalare eventuali errori.
The following document is the Italian translation of an internal Micrososoft memorandum and is about MS business strategies and tactics against the open source process. There are three paper, named Halloween I, Halloween II and Halloween III concerning respectively MS agaist Open Source, MS against Linux, and MS official response after Halloween I was pubblished on the web. Italian translations are hosted by SET, Syntax Error Technology. You can find an index and links to the original documents and their Italian translations at the msdn&news; page. If you are looking for further information about open-source process, press coverage about the Halloween documents, etc., the best place is the Open Source site (in English). The documents have been translated in Italian by LuLaVio: please, contact him for comments and/or mistakes.
Software a sorgente aperta
Una (nuova?) metodologia di sviluppo
{ Il corpo dell'Halloween Document � un memorandum interno di strategia sulle possibili risposte della Microsoft al fenomeno Linux/Open-Source.(Questa versione corretta � stata rinominata ``Halloween I''; c'� un seguito, ``Halloween II'', con un secondo memorandum rivolto specificatamente a Linux.)
La Microsoft ha pubblicamente riconosciuto che questo memorandum � autentico, liquidandolo per� come un semplice studio ingenieristico che non delinea la politica Microsoft.
Comunque, la lista dei collaboratori menzionati alla fine include alcune persone che sono conosciute per il loro ruolo chiave nella Microsoft, e il documento mostra che lo sforzo di ricerca ha avuto la cooperazione dei quadri direttivi; � anche possibile che sia stato commissionato come libro bianco con linee di condotta da sottoporre all'attenzione di Bill Gates (l'autore sembra si aspettasse che Gates l'avrebbe letto).
In qualsiasi caso, ci fornisce, oltre ad un moto di rigetto gestionale di Microsoft riguardo open-source, una visione molto preziosa su ci� che la compagnia in realt� pensa -- che, come vedrete, � una bizzarra combinazione di astuzia e di miopia istituzionale.
Vi sono state delle speculazioni sul fatto che questa sia stata una fuga intenzionale di notizie, ma ci� sembra alquanto improbabile. Il documento � troppo incriminante; parti di esso possono essere considerate delle prove di pratiche anti-competitive per il processo DOJ. Inoltre, l'autore ``ha rifiutato di confermare o negare'' quando � stato inizialmente contattato, e ci� fa capire che Microsoft non aveva previsto una risposta.
Poich� l'autore cita delle mie analisi sulle dinamiche della comunit� open-source (The Cathedral and the Bazaar e Homesteading the Noosphere) in modo estensivo, mi sembra giusto rispondere a nome della comunit�. :-)
Citazioni chiave:
Qui ci sono alcune citazioni di rilievo prese dal documento, con collegamenti ai punti in cui sono posizionate. Pu� essere d'aiuto sapere che "OSS" � l'abbreviazione usata dall'autore per "Open Source Software". FUD, una tattica caratteristica della Microsoft, � spiegata qui.
* OSS nel breve periodo si pone come una minaccia diretta alle entrate e alla piattaforma Microsoft, in particolar modo nello spazio server. Inoltre, il parallelismo intrinseco e il libero scambio di idee nell'OSS ha dei benefici che non sono replicabili dal nostro attuale modello di produzione e presenta perci� a lungo termine una minaccia per lo scambio di idee tra sviluppatori.
* Studi recenti (Internet) hanno provato... che la qualit� commerciale pu� essere conseguita/ superata dai progetti OSS.
* ...per capire come competere con OSS, dobbiamo avere come bersaglio un procedimento pi� che una compagnia.
* OSS � credibile a lungo termine ... le tattiche FUD non possono essere adoperate per combatterlo.
* Linux e altri difensori dell'OSS stanno portando ragioni via via sempre pi� credibili sul fatto che il software OSS � solido almeno quanto -- se non pi� -- le sue alternative commerciali. Internet fornisce una vetrina ideale e ad alta visibilit� per il mondo OSS.
* Linux � stato dispiegato in mission critical, in ambienti commerciali alla presenza di testimoni pubblici. ... Linux supera molti altri UNIXes ... Linux � sulla strada buona per possedere alla fine il mercato del x86 UNIX ...
* Linux pu� vincere finch� servizi / protocolli saranno merce soggetta alla vendita.
* I progetti OSS sono stati in grado di conquistare un punto d'appoggio in molte applicazioni server a causa del grande vantaggio dato da protocolli semplici e altamente personalizzabili. Estendendo questi protocolli e sviluppandone di nuovi, possiamo respingere l'entrata nel mercato dei proggetti OSS.
* La capacita del procedimento OSS di radunare e sfruttare l'IQ (coefficiente intellettuale N.d.T.) collettivo di migliaia di individui attraverso Internet � semplicemente stupefacente. E, cosa pi� rilevante, l'evangelizzazione di OSS aumenta proporzionalmente con le dimensioni di Internet in modo molto pi� veloce di quanto facciano i nostri sforzi di evangelizzazione.Come leggere questo documento:
I commenti in verde, contenuti in parentesi graffe, sono miei (Eric S. Raymond). Ho evidenziato, mettendoli in rosso, quelli che penso siano i punti chiave del testo originale. Ho inserito dei commenti vicino a questi punti chiave; potete scorrere il documento usando questo indice di commenti in sequenza.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
Ho incluso in verde alcune altre osservazioni che non sono associate a punti chiave e non sono nell'indice. Queste osservazioni addizzionali possono interessare solo se si legge il documento per intero.
A parte ci� ho lasciato il documento completamente come � (neanche corretto la battitura), cos� potete leggere ci� che Bill Gates sta leggendo riguardo la Sorgente Aperta. E' un po' lungo, ma perseverate. Per avere un quadro preciso del pensiero dell'opposizione vale la pena di fare qualche sforzo -- e ci sono una o due questioni veramente sorprendenti sepolte nel linguaggio corporativo.
Valutazione del pericolo:
Credo che comunque la tattica pi� pericolosa sostenuta in questo memorandum sia quella contenuta nella frase sinistra ``de-standardizzazione dei protocolli''.
Spero che la pubblicazione di questo documento, se non altro, metta tutti in guardia sul soffocamento della competizione, sull'erosione della possibilit� di scelta, sui costi pi� alti, e sul monopolio blindato che questa tattica implica.
Il parallelo col tentativo di Microsoft dirottare Java, e i suoi tentativi di guastare il potenziale "scrivi una volta e vai dappertutto" di questa tecnologia dovrebbe essere ovvio.
Ho incluso una ampia discussione di questo punto nei miei commenti in interlinea. Per evitare che questa strategia abbia successo, credo che i sostenitori di open-source debbano iniziare mettendo in evidenza questi punti:
La prima (1.1) bozza del memorandum VinodV � stata preparata a cavallo del weekend del 31 ottobre-1 novembre 1998. In onore della data, e con la profonda speranza che la sua pubblicazione possa far fare alla Microsoft il peggiore degli incubi, ho dato a questo documento il nome di "Halloween Document"'.
La versione 1.2 � stata ripulita dai caratteri non-ASCII da David Levine <[email protected]>.
La versione 1.3 rileva il riconoscimento di autenticit� da parte della Microsoft.
La versione 1.4 include un po' pi� di analisi e la sezione sulla valutazione del pericolo.
La versione 1.5 ha qualche bit aggiuntivo nel preambolo.
La versione 1.6 ha qualcosa in pi� in uno dei commenti.
Nella versione 1.7 viene aggiunto il riferimento ai Fuzz papers.
Nella versione 1.8 viene aggiunto un link al documento Halloween II.
Nella versione 1.9 si aggiunge una nota riguardo HTTP-DAV support.
}
Vinod Valloppillil (VinodV)
Aug 11, 1998 -- v1.00
Microsoft Confidential
Elenco dei contenuti Elenco dei contenuti *Sommario esecutivo
*Software a sorgente aperta
*Che cos'�?
*Tassonomia delle licenze software
*Il software a sorgente aperta � importante per Microsoft
*Cronologia
*Procedimento open-source
*Team di sviluppo open-source
*Coordinazione dello sviluppo di OSS
*Sviluppo parallelo
*Correzione parallela
*Soluzione del conflitto
*Motivazioni
*Biforcazione del codice
*Punti di forza di open-source
*Attributi esponenziali di OSS
*Credibilit� nel lungo periodo
*Correzione parallela
*Sviluppo parallelo
*OSS = perfetta evangelizzazione / documentazione API
*Tasso di uscita
*Punti deboli di open-source
*Costi di gestione
*Questioni sul procedimento
*Credibilit� organizzativa
*Modelli di commercio open-source
*Servizi secondari
*Articoli civetta -- accesso al mercato
*Commoditizing Downstream Suppliers
*Primo fautore -- costruisci ora, $$ dopo
*Linux
*Che cos'�?
*Linux � un autentico, credibile OS + procedimento di sviluppo
*Linux � una minaccia a breve/medio termine nel campo dei server
*Linux � improbabile che sia una minaccia nel campo dei desktop
*Colpire Linux
*Netscape
*Organizzazione & licenza
*Punti di forza
*Punti deboli
*Previsioni
*Apache
*Cronologia
*Organizzazione
*Punti di forza
*Punti deboli
*IBM & Apache
*Altri progetti OSS
*Risposta di Microsoft
*Vulnerabilit� del prodotto
*Acquisire i vantaggi di OSS -- interscambio di idee tra sviluppatori
*Acquisire i vantaggi di OSS OSS -- Processi interni di Microsoft
*Estendere i vantaggi di OSS -- infrastruttura dei servizi
*Attutire gli attacchi di OSS
*Altri links interessanti
*Ringraziamenti
*Cronologia della revisione
*
Software a sorgente aperta
Una (nuova?) metodologia di sviluppo
Sommario esecutivoOpen-source Software (OSS) � un procedimento di sviluppo che promuove la creazione e il dispiegamento rapido di caratteristiche aggiuntive e correzzioni di bug in un codice esistente / conoscenza base. Negli ultimi anni, parallelamente alla crescita di Internet, i progetti OSS hanno acquisito la profondit� & complessit� tradizionalmente associata a progetti commerciali come gli Operating Systems e i server mission critical.
{ OK, da qui si capisce che Microsoft non dorme durante il cambio. }Comunque, altri punti deboli di OSS danno modo a Microsoft di trarre profitto in aree chiave come miglioramenti dell'architettura (ad es. storage+), integrazione (ad es. schemas), facilit�-d'uso, e supporto organizzativo.
{ Questa concisa raccomandazione � interessante principalmente per il fatto che non menziona gli specifici consigli che si trovano pi� avanti nel documento riguardo la de-standardizzazione dei protocolli ecc. } Software Open-source Che cos'�?Open-source Software (OSS) � un software in cui sia la sorgente che i binaries sono distribuiti o accessibili per un dato prodotto, solitamente free. Oss � spesso confuso come "shareware" o "freeware" ma ci sono grosse differenze tra questi modelli di licenza e il procedimento di ciascun prodotto.
Tassonomia delle licenze software
|
Tipo di software |
|||||||
|
Commerciale |
|||||||
|
Software in prova |
X (incompleto nelle sue caratteristiche) |
X |
|||||
|
Uso non commerciale |
X (dipendente dall'utilizzo) |
X |
|||||
|
Shareware |
X -(licenza non imposta) |
X |
|||||
|
Binary liberi da diritti ("Freeware") |
X |
X |
X |
||||
|
Biblioteche libere da diritti |
X |
X |
X |
X |
|||
|
Open-source (BSD-Style) |
X |
X |
X |
X |
X |
||
|
Open-source (Apache Style) |
X |
X |
X |
X |
X |
X |
|
|
Open-source (Linux/GNU style) |
X |
X |
X |
X |
X |
X |
X |
|
Caratteristiche della licenza |
Accesso a costo zero |
Redistribuibile |
Utilizzo illimitato |
Codice sorgente disponibile |
Codice sorgente modificabile |
"Check-ins" pubblici al nucleo del codice base |
Tutti i derivati devono essere free |
L'ampia categoria di licenze include:
Il software commerciale � il pane quotidiano di Microsoft. Deve essere acquistato, non pu� essere redistribuito, e solitamente � disponibile solo come binaries all'utente finale.
I software ridotti in prova sono di solito versioni con funzioni limitate di software commerciali, sono distribuite gratuitamente con l'intento di portare all'acquisto del codice in commercio. Gli esempi includono prodotti con 60 giorni di tempo per la valutazione.
I prodotti Shareware hanno una funzionalit� completa e sono distribuiti liberamente ma hanno una licenza con mandato di acquisto finale sia da parte di singoli che di societ�. Molte utilities di Internet (come "WinZip") si avvantaggiano dello shareware come metodo di distribuzione.
Il software ad uso non commerciale � disponibile e ridistribuibile liberamente da organismi non-profit. Societ�, etc. devono comperare il prodotto. Un esempio potrebbe essere Netscape Navigator.
I binaries senza diritti consistono in software che possono essere usati e distribuiti liberamente solo in forma binaria. I binaries di Internet Explorer e NetMeeting corrispondono a questo modello.
Le biblioteche senza diritti sono prodotti software i cui codici sia sorgente che binario possono essere usati e distribuiti liberamente ma NON possono essere modificati dall'acquirente finale senza violare la licenza. Esempi di questo tipo includono biblioteche class, header files, ecc.
Un piccolo e circoscritto gruppo di sviluppatori sviluppa prodotti a sorgente aperta BSD-style & e consente libero uso e distribuzione di binaries e codice. Mentre agli utenti � consentita la modifica del codice, il team di sviluppo generalmente NON accetta apporti dall'esterno.
Apache prende il modello di sorgente aperta BSD-style e lo estende permettendo apporti al nucleo del codice base da parte di esterni.
Il software CopyLeft o GPL (General Public License) fa fare alla licenza open-source un pericoloso passo in avanti. Mentre il software BSD e Apache style permette agli utenti di "biforcare" il codice base e apllicare le proprie clausole di licenza al loro codice modificato (per esempio facendolo diventare commerciale), la licenza GPL richiede che tutti i lavori derivati debbano essere in codice GPL. "Tu sei libero di piratare (hack N.d.T.) questo codice a patto che i tuoi derivati siano anch'essi piratabili (hackable N.d.T.)"
Per noi, sono fondamentali i diritti che la licenza open-source garantisce agli utenti e ai terzi, e una specifica pratica di sviluppo varia ad-hoc ed in modo non abbinato in particolar modo alle nostre variazioni di licenza. In questa tassonomia Microsoft, d'altra parte, la distinzione principale si basa su chi ha accesso ad un nucleo privilegiato del codice base.
Ci� riflette una visione della realt� molto pi� centralizzata, e riflette una mancanza di immaginazione o di comprensione da parte dell'autore del memorandum. Non riesce a cogliere completamente la nostra tradizione di sviluppo distribuito. La qual cosa non stupisce per niente... }
Il software open-source � importante per Microsoft
Questo documento si ocupa del software open-source (OSS). OSS � profondamente diverso dalle altre forme di licenze (in particolare "shareware") rispetto a due punti molto importanti:
OSS � un problema per Microsoft per diverse ragioni:
Una barriera chiave che impediva l'ingresso di OSS in molti strati di clientela � stata la sensazione di mancanza di qualit�. I sostenitori di OSS replicano che il maggior controllo & correzione del software OSS porta ad un codice con uno standard di qualit� pi� alto del software commerciale.
Studi su un caso recente (Internet) hanno mostrato agli occhi dei clienti la prova molto evidente che la qualit� commerciale pu� essere raggiunta / superata dai progetti OSS. In questo momento, comunque, non c'� una prova forte della qualit� di OSS al di l� dell'aneddottica.
{ Queste frasi, nel loro insieme, sono alquanto contraddittorie, salvo che ``gli studi su un caso recente'' siano tutti ``aneddottica''. Ma se � cos�, perch� chiamarla ``prova molto evidente''?Sembra ci sia un po' di marcia indietro autoprotettiva nella seconda frase. Tuttavia, la prima frase � una concessione enorme da parte di Microsoft (anche se per uso interno).
In qualsiasi caso, � falso affermare che si tratti di `aneddottica'. Vedi Fuzz Revisited: A Re-examination of the Reliability of UNIX Utilities and Services .
Qui ci sono alcune righe sul tema tratte da questo documento:
"Il tasso di insuccesso delle utilities nella versione commerciale di UNIX che abbiamo testato... variava dal 15-43%." "Il tasso di insuccesso delle utilities della versione Linux di UNIX distribuita free si attestava penultimo, al 9%." "Il tasso di insuccesso delle utilities di GNU pubblico si attestava all'ultimo posto in assoluto nei nostri studi, a solo il 7%.}
Un altro impedimento all'ingresso che � stato affrontato da OSS � la complessit� del progetto. I team di OSS si stanno impegnando in progetti di una dimensione & complessit� tale da essere prima d'ora di esclusivo dominio dei team di sviluppatori commerciali, economicamente organizzati/motivati. Esempi includono il Linux Operating System e Xfree86 GUI.
La vitalit� del procedimento OSS � direttamente legata ad Internet per la distribuzione di risorse di sviluppo in scala mastodontica. Esempi della dimensione di alcuni progetti OSS:
|
Progetto |
Linee di codice |
|
Linux Kernel (x86 only) |
500,000 |
|
Apache Web Server |
80,000 |
|
SendMail |
57,000 |
|
Xfree86 X-windows server |
1.5 Million |
|
"K" desktop environment |
90,000 |
|
Full Linux distribution |
~10 Million |
Il procedimento OSS � singolare per le motivazioni che spingono chi vi partecipa e per le risorse che vengono apportate nel mettere a nudo i problemi. OSS, quindi, ha alcuni pregi interessanti che dovrebbero essere compresi in profondit�.
Il software open-source ha le sue radici nella comunit� scientifica e hobbystica ed � stato tipicizzato attraverso uno scambio ad hoc del codice sorgente dagli sviluppatori/utenti.
Internet Software
Il pi� grande caso studiato di OSS � Internet. La maggio parte del primo codice su Internet era, ed � ancora, basata su OSS, come descritto in una intervista a Tim O'Reilly (
http://www.techweb.com/internet/profile/toreilly/interview ):TIM O'REILLY: Lo slogan principale con cui iniziammo era,"open-source software funziona." ... BIND ha una quota di mercato assolutamente dominante come singolo pezzo di software pi� mission-critical su Internet. Apache � il Web server dominante. SendMail fa girare probabilmente l'ottanta per cento dei mail servers e probabilmente tocca ogni singola parte di e-mail su Internet
Fondazione Free Software / Progetto GNU
Il merito per aver realizzato il primo esempio di un moderno e organizzato OSS � generalmente attribuito a Richard Stallman del MIT. Alla fine del 1983, Stallman cre� la Free Software Foundation (FSF) --
http://www.gnu.ai.mit.edu/fsf/fsf.html -- con l'obbiettivo di creare una versione free del sistema operativo UNIX. La FSF fece uscire una serie di codici e binaries sotto l'acronimo GNU (che sta per "Gnu's Not Unix").Le iniziative originarie FSF / GNU non conseguirono l'obbiettivo originario di creare un completo OSS Unix. Tuttavia, contribuirono a molte applicazioni e strumenti di programmazione conosciuti e usati oggigiorno che includono:
Licenza CopyLeft
Il software FSF/GNU ha introdotto lo schema di licenza "copyleft" che non solo rende illegale il nascondere il codice sorgente dal software GNU ma rende anche illegale il nascondere la sorgente dal lavoro derivato dal software GNU. Il documento che descrive questa licenza � conosciuto come General Public License (GPL).
Il magazine Wired ha il seguente riassunto di questo schema & del suo scopo (
http://www.wired.com/wired/5.08/linux.html):La General Public License, o GPL, permette agli utenti di vendere, copiare, e cambiare programmi che sono sotto copylef - che possono anche essere messi sotto copyright - ma ci deve essere la stessa libert� di vendere o copiare le modifiche e cambiarle ulteriormente. Si deve inoltre rendere il codice sorgente delle modifiche liberamente disponibile.
La seconda clausola -- codice open-source di lavori derivati -- � stato l'aspetto della licenza Copyleft pi� controverso (e, potenzialmente quello con pi� successo).
Procedimento open-sourceL'organizzazione dei procedimenti di sviluppo dei sofware commerciali ruota attorno ad obbiettivi economici. Comunque, poich� i soldi spesso non sono la motivazione (primaria) dietro il software open-source, capire la natura della minaccia posta in essere richiede una profonda conoscenza del procedimento e degli stimoli dei team di sviluppo open-source.
{ Questa � una precisazione molto importante, che vorrei fosse sfuggita a Microsoft. La vera battaglia non � NT contro Linux, o Microsoft contro Red Hat/Caldera/S.u.S.E. -- � sviluppo a sorgente chiusa contro sviluppo a sorgente aperta. La cattedrale contro il bazaar.Ci� si applica anche al contrario, ed � per questo che il punto non � colpire Microsoft qua Microsoft -- Microsoft � il sintomo, non la malattia. Vorrei che molti pi� hackers di Linux lo capissero.
A livello pratico, significa che dobbiamo aspettarci che la macchina propagandistica di Microsoft si indirizzi contro il procedimento e la cultura open-source, pi� che contro competitori specifici. }
Gruppi di sviluppo open-source
Alcune delle caratteristiche chiave dei gruppi OSS spinti da Internet:
Comunicazione -- in scala Internet
Il coordinamento di un team OSS dipende molto dalle forme di collaborazione proprie di Internet. I metodi tipici sfruttano l'intera gamma delle tecnologie di collaborazione in Internet:
I progetti OSS della dimensione di Linux e Apache sono fattibili solo se, per affrontare un problema, viene messo assieme un gruppo sufficientemente grande di sviluppatori altamente esperti. Di conseguenza, c'� una correlazione diretta tra la dimensione del progetto che OSS pu� affrontare e la crescita di Internet.
Direzione comune
Oltre al mezzo di comunicazione, un'altra serie di fattori coordinano implicitamente la direzione del gruppo.
Obbiettivi comuni
Gli obbiettivi comuni sono equivalenti ad asserzioni evocative che pervadono il processo decisionale comune per l'intero gruppo di sviluppo. Un' unica, chiara direttiva (ad es. "ricreare UNIX") ha per il gruppo un potere comunicativo e di coinvolgimento maggiore di direttive multiple ed inafferrabili (ad es. "fare un buon sistema operativo").
Precedenti comuni
I precedenti sono potenzialmente il fattore pi� importante per spiegare la rapida e coesa crescita di enormi progetti OSS come il Linux Operating System. Poich� gli appartenenti all'intera comunit� Linux condividono anni di esperienza nel trattare con molte altre forme di UNIX, essi sono facilmente in grado di distinguere -- in modo non-confrontativo -- cosa ha funzionato e cosa no.
Non c'erano discussioni riguardo la sintassi dei comandi da usare negli editor di testo -- tutti usavano gi� "vi" e gli sviluppatori semplicemente si spartivano pezzi di command namespace da sviluppare.
Avere una capacit� di comprensione 20:20 data dall'esperienza storica, fornisce una struttura forte ed implicita. In organizzazioni pi� lungimiranti, questa struttura � data da un leader forte ed utopista.
{ Ad una prima occhiata, si pu� leggere semplicemente come un (Bill naso marrone) commento fatto da qualcuno che si aspetta che Gates legga il memorandum -- si pu� quasi vedere l'autore genuflettersi davanti ad un'icona dell'Intrepido Capo.Pi� generalmente, ci� fa pensare ad una seria e potenzialmente spiegabile sottovalutazione della capacit� da parte della comunit� di esprimere i propri leaders utopisti. Non abbiamo ottenuto Emacs o Perl o il World Wide Web partendo dalla ``comprensione 20:20'' -- n� � corretto vedere il seppur relativamente conservativo design del kernel di Linux come un modo di guardare indietro nel ricreare modelli passati.
Di conseguenza, ci� suggerisce che la risposta Microsoft all'open-source possa poggiarsi sul piede sbagliato nell'enfatizzare l'innovazione sia per come agiamo che nel modo in cui spieghiamo ci� che facciamo al resto del mondo. }
Bagaglio di conoscenze comuni NatBro mette in evidenza che il bisogno di una serie di conoscenze comuni ed accettate � un pre-requisito per lo sviluppo di OSS. Questo punto � legato strettamente al fenomeno dei precedenti in comune. Dalla sua email: Un attributo chiave � il bagaglio comune di conoscenze su UNIX/gnu che OSS trasmette e rinforza. Io penso che l'intero procedimento non funzionerebbe se la barriera d'accesso fosse molto pi� alta di quella che �...un programmatore UNIX con modesta esperienza pu� accrescere le sue conoscenze facendo grandi cose con Linux e con molti altri prodotti OSS. Per dirla in un altro modo -- per uno sviluppatore in ambiente OSS non � troppo difficile cavarsi uno sfizio, perch� le cose sono costruite in modo molto simile l'una all'altra, corrette nello stesso modo, ecc. Mentre le esperienze precedenti stabiliscono l'identit� dell'obbiettivo finale, l'avere un bagaglio comune di conoscenze spiega il numero di persone necessarie affinch� il procedimento arrivi a conclusione
La cattedrale e il bazaar
Un documento molto influente di un sostenitore di open-source -- Eric Raymond -- venne pubblicato per la prima volta nel maggio 1997 (
http://www.redhat.com/redhat/cathedral-bazaar/). Lo scritto di Raymond � stato espressamente citato dal (futuro) CTO di Netscape Eric Hahn come spiegazione per la loro decisione di distribuire il codice sorgente del browser.Raymond sezion� il suo progetto OSS allo scopo di ottenerne delle regole pratiche che potessero essere sfruttate in futuro per altri progetti OSS. Alcune delle regole di Raymond includono:
Ogni buon lavoro inizia dalla soddisfazione di uno sfizio personale dello sviluppatore
Questo riassume uno degli stimoli base degli sviluppatori nel procedimento OSS -- risolvere un problema corrente a cui si � trovato di fronte un singolo sviluppatore -- ci� ha permesso a OSS di elaborare progetti complessi senza avere un costante feedback dalla struttura di marketing / sostegno.
I bravi programmatori sanno cosa scrivere. Quelli molto bravi sanno cosa riscrivere (e riusare).
Raymond sostiene che gli sviluppatori sono pi� portati al riuso del codice in un procedimento rigorosamente a sorgente aperta piuttosto che in un ambiente di sviluppo pi� tradizionale perch� � sempre garantito loro l'accesso all'intera sorgente per tutto il tempo.
Una sorgente aperta ampiamente disponibile riduce i costi di ricerca per trovare un particolare pezzetto di codice.
``Metti in conto che scarterai molte case; in qualsiasi caso lo farai.''
Citazione da Fred Brooks, ``The Mythical Man-Month'', capitolo 11. Poich� i team di sviluppo di OSS sono estremamente sparsi, molti dei maggiori sottocomponenti in Linux avevano numerosi prototipi iniziali cui seguiva la selezione e la rifinitura di un singolo disegno da parte di Linus.
Trattare i propri utenti come co-sviluppatori � la via meno difficile per avere un rapido miglioramento di codice ed una correzione efficiente.
Raymond si fa promotore di un supporto importante e di una notevole documentazione per gli sviluppatori dei progetti OSS allo scopo di massimizzarne il profitto.
Il materiale riguardanete il codice � citato come un'area che viene trascurata dagli sviluppatori commerciali e che potrebbe costituire un errore fatale per OSS.
Fare uscire presto. Fare uscire spesso. E ascoltare i propri clienti.
Questa � una regola classica del manuale Microsoft. I sostenitori OSS noteranno comunque che il loro ciclo release-feedback � potenzialmente molto pi� veloce di quello dei software commerciali.
{ Questa � una affermazione interessante ed arrogante, come se pensassero che io sia stato in qualche modo ispirato dalla distribuzione Microsoft di soli binary.Ma ci� fa pensare anche a qualcos'altro -- che anche se l'autore comprende intellettualmente l'importanza della distribuzione del codice sorgente, non riesce ad afferrare a pieno la potenza vera della diffusione del codice sorgente. Forse vivere con le convinzioni Microsoft rende ci� impossibile. }
Data una base grande abbastanza di beta-tester e co-sviluppatori, quasi ogni problema viene definito velocemente e la sua sistemazione risulta ovvia per qualcuno.
Questo � probabilmente il cuore dell'intuizione di Raymond nel procedimento OSS. Ha parafrasato questa regola come "la correzione dei bug � parallelizzabile". Segue un'analisi pi� approfondita.
{ Beh, aveva comunque quel diritto. }Sviluppo parallelo
Una volta che una struttura componente � stata costituita (ad es. chiave di API & strutture definite), progetti OSS come Linux utilizzano molteplici piccoli gruppi di individui che risolvono indipendentemente problemi particolari.
Poich� gli sviluppatori lo fanno generalmente per hobby, avere capacit� di `investire' in molteplici e competenti sforzi non costituisce un problema, e i progetti OSS si avvantaggiano della capacit� di cogliere i perfezionamenti potenzialmente migliori tra i molti prodotti.
Da notare che ci� dipende molto da:
Il cuore della questione sostenuta da Eric Raymond � che a differenza di altri aspetti dello sviluppo di software, la correzione dei bug del codice � un'attivit� la cui efficienza migliora in modo quasi lineare con il numero degli individui impegnati nel progetto. I costi di gestione o coordinazione per la correzione di un pezzo di codice a sorgente aperta sono pochi o nulli -- questa � la `rottura' chiave nelle regole di Brooks' per OSS.
Raymond include la descrizione di Linus Torvald del procedimento di correzione Linux:
La mia formulazione originale diceva che ogni problema ``� chiaro per qualcuno''. Linus commentava dicendo che chi capisce e sistema il problema non deve essere necessariamente e neanche solitamente colui che l'ha definito per primo. ``Qualcuno trova il problema,'' diceva, ``e qualcun'altro lo comprende. E continuo dicendo che trovarlo � la sfida pi� grande.'' Ma il punto � che entrambe le cose tendono ad avvenire velocemente
Messa in un altro modo:
``La correzione dei bug � parallelizzabile''. Jeff [Dutky <[email protected]] osserva che sebbene la correzione richieda la comunicazione tra correttori e un qualche sviluppatore che coordina, la correzione stessa non richiede una coordinazione effettiva tra correttori. Quindi non diviene preda della complessit� e dei costi di gestione che rendono difficile l'aumento di sviluppatori.
Un vantaggio della correzione parallela � che i bug e la loro sistemazione vengono trovati / propagati molto pi� velocemente che nei procedimenti tradizionali. Per esempio, quando l'attacco dell'IP di TearDrop fu per la prima volta postato in rete, dopo meno di 24 ore la comunit� Linux aveva una correzione funzionante e disponibile da scaricare.
"Correzione impulsiva"
Un'estensione alla correzione parallela che aggiungerei alle ipotesi di Raymond � la "correzione impulsiva". Nel caso dell'OS di Linux, all'atto di installare l'OS � implicito l'atto di installare l'ambiente di correzione/sviluppo. Di conseguenza � molto probabile che se un particolare utente/sviluppatore si imbatte in un bug di un componente di un altro individuo -- e specialmente se questo bug � "superficiale" -- quell'utente pu� rapidamente rattoppare il codice, e tramite le tecnologie di collaborazione di Internet, propagare questa pezza molto velocemente fino al mantenitore del codice.
Detta in un altro modo, i procedimenti OSS hanno una barriera d'accesso al procedimento di correzione molto bassa dovuta alla comune metodologia di sviluppo/correzione derivata dagli strumenti GNU.
Risoluzione dei conflittiOgni grande procedimento di sviluppo va incontro a conflitti che devono essere risolti. Spesso la soluzione � una decisione arbitraria allo scopo di far progredire il progetto. Nei team commerciali, la struttura gerarchica + revisione delle prestazioni risolve questo problema -- come fanno i team OSS a risolverlo?
Nel caso di Linux, Linus Torvalds � l'indiscusso `leader' del progetto. Egli ha delegato ampie componenti (ad es. networking, device drivers, ecc.) a parecchi suoi fidati "luogotenenti' che a loro volta delegano de-facto ad un gruppetto di "tenutari d'area" (ad es. LAN drivers).
Altre organizzazioni sono descritte da Eric Raymond: (http://earthspace.net/~esr/writings/homesteading/homesteading-15.html):
Alcuni progetti molto grandi lasciano completamente da parte il modello del ' generoso dittatore'. Un modo per farlo � riunire i co-sviluppatori in un comitato deliberativo (come in Apache). Un altro � la dittatura a rotazione, in cui il controllo viene passato da un membro ad un altro all'interno di un circolo di co-sviluppatori anziani (gli sviluppatori Perl si organizzano in questo modo).
Motivazioni
Questa sezione fornisce una panoramica di alcune delle ragioni chiave cercate dagli sviluppatori OSS per sviluppare i progetti OSS.
Risolvere il problema a portata di mano
E' di fatto la riformulazione della prima regola pratica di Raymond -- "Ogni buon lavoro inizia dalla soddisfazione di un personale sfizio dello sviluppatore".
Molti progetti OSS -- come Apache -- sono iniziati con un piccolo gruppo di sviluppatori assieme per risolvere un problema contingente a portata di mano. Miglioramenti successivi del codice spesso sorgono da individui che applicano il codice ai loro programmi (ad es. scoprendo che non c'� un driver per un NIC particolare ecc.)
Didattica
Il kernel di Linux crebbe all'interno di un progetto di didattica all'Universit� di Helsinki. In modo simile, molti dei componenti dei sistemi di Linux / GNU (X windows GUI, shell utilities, clustering, networking, ecc.) furono estesi da persone all'interno di istituzioni educative.
Gratificazione dell'ego
La pi� eterea, e forse la pi� profonda delle motivazioni presenti nella comunit� di sviluppatori OSS � la pura gratificazione dell'ego.
In "The Cathedral and the Bazaar", Eric S. Raymond cita:
La ``funzione utile'' che gli hackers di Linux massimizzano non � quella economica classica, ma � la soddisfazione del proprio ego e l'intangibilit� della propria reputazione nei confronti degli altri hackers.
E, naturalmente, "tu non sei un hacker finch� qualcun altro non ti chiama hacker"
Occupare la Noosphere
Un secondo documento pubblicato da Raymond -- "Homesteading on the Noosphere" (http://sagan.earthspace.net/~esr/writings/homesteading/), parla della differenza tra uno scambio motivato economicamente (ad es. sviluppo di software commerciali in cambio di denaro) e uno "scambio gratuito" (ad es. OSS per la gloria).
"Homesteading" � l'acquisizione della propriet� ottenuta dal fatto di essere il primo a `scoprirla' o dall'essere stato l'ultimo ad apportarne un significativo contributo. La "Noosphere" � definita vagamente come lo "spazio di tutto il lavoro". Quindi, sostiene Raymond, la motivazione di un hacker di Linux � rivendicare l'occupazione di un'area pi� vasta possibile all'interno del corpo di lavoro. In altre parole, accreditarsi per il pezzo pi� grande del premio.
{ Questa � una lettura sottile ma significativamente fasulla. Essa introduce una nozione di "dimensione" territoriale che non c'� da nessuna parte nella mia teoria. Pu� essere un errore personale dell'autore, ma il mio sospetto � che ci� rifletta la cultura ossessivamente-competitiva di Microsoft. }
Da "Homesteading on the Noosphere":
L'abbondanza rende i rapporti di comando difficili da sostenere e le relazioni di scambio un gioco senza scopo. Nelle culture dello scambio gratuito, lo status sociale � determinato non da ci� che controlli ma da
...
Per cui, da questo punto di vista, � del tutto chiaro che la societ� degli hackers open-source � in effetti inserita nella cultura dello scambio gratuito. All'interno di essa non c'� nessuna grave scarsit� del 'necessario per sopravvivere' -- spazio disco, network bandwidth, computing power. Il software � condiviso liberamente. Questa abbondanza crea una situazione in cui l'unico modo disponibile per misurare il successo � dato dalla reputazione tra persone dello stesso livello.
Pi� succintamente (
http://www.techweb.com/internet/profile/eraymond/interview):SIMS: Quindi la scarsit� che cercavate era la scarsit� di attenzione e riconoscimento?
RAYMOND: E' esattamente questo.
Altruismo
Questa � una motivazione controversa e sono portato a credere che ad un certo livello, l'Altruismo `degeneri' in una forma di Gratificazione dell'Ego avanzata da Raymond.
Una motivazione minore che, in parte, deriva dall'altruismo, � colpire Microsoft.
{ Che ammissione affascinante, specie se viene da un Microservo! Naturalmente, non analizza il perch� questa connessione esista; potrebbe arrivare a colpire troppo vicino a casa... }Biforcazione del codice
Il pericolo chiave in qualsiasi grande team di sviluppatori -- esacerbato in particolar modo nel caso del procedimento caotico di un team di sviluppatori su scala Internet -- � il rischio di biforcazione del codice.
La biforcazione del codice avviene quando, oltre al normale tira-e-molla di un progetto di sviluppo, si evolvono molteplici, inconsistenti versioni del codice base.
In campo commerciale, per esempio, la gestione forte ed unica del codice base di Windows NT � considerata come uno dei suoi pi� grandi vantaggi rispetto al codice base 'biforcato' che si trova nelle implementazioni UNIX (SCO, Solaris, IRIX, HP-UX, ecc.).
Biforcazione in OSS -- BSD Unix
Nello spazio OSS , BSD Unix � l'esempio migliore di codice biforcato. Il BDS UNIX iniziale era un tentativo della University of California, Berkeley, di creare una versione, libera da diritti, del sistema operativo UNIX a scopo di insegnamento. Comunque, Berkeley pose severe restrizioni all'uso non accademico del codice base.
{ La storia dello sdoppiamento di BSD fatta dall'autore � totalmente sbagliata. }
Allo scopo di creare una versione completamente free di BSD UNIX, un team ad hoc (ma chiuso) di sviluppatori cre� FreeBSD. Altri sviluppatori in disaccordo per un motivo o per l'altro con il team del FreeBSD frammentarono l'OS per creare altre varianti (OpenBSD, NetBSD, BSDI).
Ci sono due fattori dominanti che portano alla biforcazione dell'albero BSD:
OK, ora abbiamo imparato qualcosa. Ci� pu� in effetti spiegare la controintuizione che i progetti che aprono un procedimento di sviluppo hanno a tutti gli effetti la minore tendenza a biforcarsi... }
Entrambe queste motivazioni creano una situazione in cui gli sviluppatori possono forzare una biforcazione nel codice e ricevere diritti (monetari, o a livello di ego) a spese della collettivit� BDS.
(Mancanza di) biforcazione in Linux
A differenza dell'esempio BDS, il codice del kernel di Linux non ha biforcazioni. Alcune delle ragioni per cui l'integrit� del codice base di Linux � stata preservata includono:
Linus Torvalds � una celebrit� nel mondo Linux, e le sue decisioni sono considerate definitive. A differenza di BSD, dove non esiste una simile celebrit� come leader.
Linus � considerato dal team di sviluppo un onesto e ragionevole manager del codice, e la sua reputazione all'interno della comunit� Linux � molto forte. Comunque, Linus non � coinvolto in ogni decisione. Spesso, dei sottogruppi risolvono le proprie -- spesso grandi -- diversit� tra di loro ed evitano la biforcazione del codice.
Diversamente dalla partecipazione chiusa di BSD, chiunque pu� contribuire a Linux, e il proprio "status" -- e di conseguenza la possibilit� di 'occupare' un pezzo di Linux pi� grande -- � misurato sulla dimensione dei precedenti contributi.
Indirettamente ci� presenta un ulteriore disincentivazione della biforcazione del codice. Non c'� praticamente nessun meccanismo credibile per cui il codice base minoritario e biforcato possa essere in grado di sostenere il tasso di innovazione del codice Linux originario.
Poich� i derivati di Linux DEVONO essere disponibili attraverso degli accessi liberi, il guadagno a lungo termine per una minoranza con un albero Linux biforcato diminuisce.
Le motivazioni dell'Ego spingono gli sviluppatori OSS a piantare il pi� paletti possibile nella pi� grande Noosphere possibile. La biforcazione del codice base fa inevitabilmente restringere lo spazio di realizzazione al nuovo albero del codice per qualsiasi sviluppatore successivo.
Quali sono i maggiori punti di forza dei prodotti OSS per i quali Microsoft si deve preoccupare?
Attributi esponenziali di OSSCome il nostro Operating System business, l'ecosistema OSS ha vari attributi esponenziali:
L'unica grande costrizione che ogni progetto OSS deve affrontare � trovare abbastanza sviluppatori interessati a dedicare del tempo da contribuire al progetto. Internet � stato fondamentale per mettere assieme abbastanza persone per un progetto di Operating System. E, pi� importante ancora, il motore di crescita per questi progetti � la crescita del campo d'azione di Internet. Il miglioramento delle tecnologie di collaborazione lubrificano in modo diretto il motore OSS.
Per dirla in un altro modo, la crescita di Internet permetter� l'esistenza di progetti OSS sempre pi� grandi e render� fattibili progetti OSS in software "pi� piccoli".
Come i software commerciali, i singoli progetti OSS pi� fattibili in molte categorie possono, nel lungo periodo, uccidere i progetti OSS concorrenti e 'acquisire' il loro valore IQ. Per esempio, Linux sta uccidendo BSD UNIX e ha assorbito la maggior parte delle sue idee di base (cos� come le idee negli UNIXes commerciali). Questo aspetto conferisce un enorme vantaggio al primo che arriva in un particolare progetto
Pi� grande � il progetto OSS, maggiore � il prestigio associato all'aver contributo alla sua Noosphere con grandi componenti di alta qualit�. Questo fenomeno contribuisce di rimando alla natura del "chi vince prende tutto" del procedimento OSS in un dato segmento.
Pi� grande � il progetto, pi� sviluppo/collaudo/correzione riceve il suo codice. Maggiore � la correzione, pi� gente si dispone a farla.
I binaries possono morire, ma la sorgente di codice vivr� per sempre
Una delle implicazioni pi� interessanti della fattibilit� dell'ecosistema OSS � la credibilit� nel lungo periodo.
Definizione della credibilit� nel lungo periodo
La credibilit� nel lungo periodo esiste quando non c'� possibilit� di essere esclusi dal commercio in tempi brevi. Questo obbliga a un cambiamento su come i competitori si rapportano a te.
Per esempio, le Airbus Industries incamerarono una iniziale credibilit� a lungo termine grazie all'appoggio esplicito del governo. Di conseguenza, quando fa un'offerta per una linea aerea, la Boeing sar� pi� portata ad accettare un risultato non-economico nel breve periodo quando gareggia per un appalto contro la Lockeed che quando lo fa contro la Airbus.
Applicato liberamente al linguaggio dell'industria del software, un prodotto/procedimento � credibile nel lungo periodo se le tattiche FUD non possono essere usate per contrastarlo.
OSS � credibile nel lungo periodo
I sistemi OSS sono considerati credibili perch� il codice sorgente � disponibile potenzialmente da milioni di posti e individui.
{ Qui siamo nel cuore del modo di vedere Microsoft. Io capisco che la reazione tipica dell'hacker rispetto a questo modo di pensare sia di trovarla nauseante, ma esso riflette una sorta di crudelt� strumentale riguardo gli usi negativi del marketing che abbiamo bisogno di imparare per riuscire a tenerle testa.La cosa realmente interessante di queste due affermazione � che Microsoft dovrebbe smettere con le tattiche FUD contro di noi.
Molti di noi si sono fatti l'idea che sia l'azione legale antitrust del DOJ (Department of Justice N.d.T.) a trattenere la Microsoft dall'estrarre le pistole del FUD. Ma se Sua Altezza Gates (His Gatesness nel testo originale hehe N.d.T.) fa sua questa parte del memorandum, Microsoft pu� pensare di dover sviluppare una risposta pi� sostanziale perch� FUD non funzioner�.
Ci� pu� significare novit� sia buone che cattive. La novit� buona � che Microsoft potrebbe smettere l'offensiva nel marketing, un'arma che nel passato � stata molto pi� potente della sua tecnologia distintamente inferiore. La novit� cattiva � che, nei nostri confronti, smettere potrebbe essere effettivamente la strategia migliore; non sprecherebbero pi� energia e potrebbero in effetti elaborare una risposta efficace. }
La probabilit� che Apache cessi di esistere � enormemente pi� bassa della probabilit� che WordPerfect, per esempio, scompaia. La scomparsa di Apache non � legata alla scomparsa dei binaries (che sono affetti da cambi nell'acquisizione, ecc.) ma bens� dalla scomparsa del codice sorgente e delle conoscenze di base.
Detta in un altro modo, gli utenti sanno che Apache sar� ancora in giro fra 5 anni -- ammesso che ci sia un minimo di interesse sostanziale da parte della sua comunit� di utenti/sviluppatori.
Un cliente Apache, parlando della ragione logica che l'ha spinto a far girare il suo sito e-commerce su un OSS afferm� che l'ha fatto "perch� � a sorgente aperta, e posso afidarlo ad uno o due sviluppatori e provvedere al mantenimento per conto mio illimitatamente. "
La mancanza di biforcazione del codice aumenta la credibilit� sul lungo periodo
Il GPL e la sua avversione alla biforcazione del codice rassicura i clienti sul fatto che non stanno prendendo un 'vicolo cieco' in evoluzione con l'acquisto di una particolare versione di Linux.
Il "vicolo cieco in evoluzione" � il centro della questione del software FUD.
{ Molto vero -- e c'� un'altra ommissione accecante qui. Se l'autore fosse stato veramente onesto, avrebbe notato che i sostenitori di OSS sono ben intenzionati a rigirare la questione e usarla per colpire Microsoft a morte.Per stessa ammissione dell'autore, OSS � a prova di proiettile da questo punto di vista. D'altra parte, la complessit� sempre maggiore e lo slittamento programmato dell'appena rinominato ``Windows 2000'' fa pensare che esso sia un vicolo cieco in evoluzione.
L'autore non arriva a sottolineare ci�. Ma noi lo dobbiamo fare. }
Correzione parallelaE gli appassionati stanno ``portando via via ragioni sempre pi� credibili''. Per ammissione della stessa Microsoft, stiamo effettivamente vincendo.
C� forse qui un messaggio riguardo ai prodotti in questione? }
In particolare, organizzazioni pi� grandi e pi� sagge, che si appoggiano ad OSS prr operazioni di business (ad es. ISPs) sono confortate dal fatto che possono potenzialmente sistemare un bug indipendentemente dalla scheda del fornitore (per esempio, UUNET fu in grado di ottenere, compilare, e applicare la correzione contro un attacco di teardrop alle loro macchine di Linuz entro 24 ore dal primo attacco pubblico)
Sviluppo paralleloDetta in un altro modo, "le risorse per gli sviluppatori sono essenzialmente libere in OSS". Poich� il pool di potenziali sviluppatori � enorme, � economicamente possibile cercare multiple soluzioni/versioni ad un problema e scegliere la soluzione migliore alla fine.
Per esempio, lo stack di Linux TCP/IP fu probabilmente riscritto 3 volte. L'assemblaggio di componenti del codice in particolare � stato costantemente perfezionato e messo a punto.
OSS = `perfetta' evangelizzazione / documentazione APIL'evangelizzazione / educazione degli sviluppatori dell'OSS di API consiste fondalmentalmente nel fornire allo sviluppatore il codice fondamentale. Dove l'evangelizzazione di API in un modello a codice si basa fondalmentalmente sulla fiducia, l'evangelizzazione OSS di API lascia allo sviluppatore la possibilit� di agire di testa sua.
NatBro e Ckindel sottolineano qui una una spaccatura nelle capacit� dello sviluppatore. Dove lo "sviluppatore appassionato" � confortato dalla evangelizzazione OSS, sviluppatori alle prime armi/intermedi --la massa della comunit� degli sviluppatori -- preferiscono il modello di fiducia + credibilit� organizzativa (ad es. "Microsoft dice che API X adotta questo modo")
{ Se sia vero che la maggioranza degli sviluppatori preferisce o no il modelle `trust' � una questione estremamente interessante.La mia esperienza ventennale mi fa pensare di no; in generale, gli sviluppatori preferiscono il codice anche quando i loro boss non-tecnici sono ingenui abbastanza da preferire il `trust'. Microsoft, ovviamente, vuole credere che la sua `credibilit� organizzativa' conti -- Scorgo un qualche pensiero illusorio in questo punto.
D'altra parte potrebbero anche avere ragione. Noi, nella comunit� open-source, non possiamo permetterci di abbandonare questa possibilit�. Penso che possiamo affrontarla sviluppando una documentazione di alta qualit�. In questo modo, la `fiducia' nel nome degli autori (o in editori con buona reputazione quali O'Reilly o Addison-Wesley) pu� sostituire il `fiducia' in una organizzazzione API-defining.) }
Tasso di uscita
I progetti OSS fortemente componentizzati sono in grado di far uscire sottocomponenti non appena lo sviluppatore ha finito il suo codice. Di conseguenza, i progetti OSS vengono revisionati velocemente e frequentemente.
Punti deboli di open-sourceI punti deboli nei progetti OSS si possono suddividere in 3 capitoli fondamentali:
Il principale blocco per i progetti OSS � l'aver a che fare con la crescita esponenziale dei costi di gestione proporzionalmente all'accrescimento in termini di tasso di innovazione e dimensione. Ci� implica un limite al tasso di innovazione cui un progetto OSS si pu� sottoporre.
Iniziare un progetto OSS � difficile
Da Eric Raymond:
E' del tutto chiaro che non si pu� codificare in stile bazaar partendo da zero. Si pu� testare, correggere, migliorare in stile bazaar, ma sarebbe molto difficile
L'argomentazione di Raymond pu� essere estesa alla difficolt� di far partire/mantenere un progetto se non ci sono chiari precedenti/obbiettivi (o troppi obbiettivi) per il progetto.
Credibilit� del bazaar
Ovviamente, ci sono molti pi� frammenti di codice sorgente in Internet di quante siano le comunit� OSS. Cosa differenzia i "codici sorgente morti" da un florido bazaar?
Un articolo (
http://www.mibsoftware.com/bazdev/0003.htm) ci d� i seguenti criteri di credibilit� :"....pensare in termini di un numero ristretto al minimo di partecipanti � fuorviante. Fetchmail e Linux hanno un numero enorme di beta testers *ora*, ma ovviamente entrambi ne avevano molto pochi all'inizio.
Ci� che entrambi i progetti avevano era una manciata di persone entusiaste e una promessa plausibile. La promessa era in parte tecnica (questo codice diventer� meraviglioso con poco sforzo) e in parte sociologica (se ti unisci al nostro gruppo, ti divertirai come ci stiamo divertendo noi). Quindi ci� di cui ha bisogno un bazaar per svilupparsi � il credere che esister� il bazaar completamente sviluppato!"
Sono dell'opinione che alcuni dei criteri chiave necessari affinch� un bazaar sia credibile includono:
Sviluppo post-parit�
Descrivendo questo problema a JimAll, egli forn� la perfetta analogia dell'"andare dietro ai fanalini di coda". Il modo pi� facile per ottenere un comportamento coordinato da una banda vasta e semi-organizzata � indirizzarla verso un bersaglio conosciuto. Avere dei fanalini di coda dona concretezza ad una visione sfuocata. In situazioni come questa, avere dei fanalini di coda da seguire � una delega per avere una forte leadership centrale.
Naturalmente, una volta che questo implicito principio organizzativo non � pi� disponibile (una volta che il progetto ha raggiunto la "parit�" con lo stato-dell'-arte), il livello di management necessario per spingersi verso nuove frontiere diventa imponente.
{ Nonsense. Nel mondo open-source, tutto ci� di cui si ha bisogno � una persona con una buona idea.Parte dello scopo dei open-source � abbassare le barriere che ritardano l'innovazione. Abbiamo provato per esperienza che il 'management imponente' decantato dall'autore � una delle peggiori tra queste barriere.
Nel mondo open-source, gli innovatori provano qualsiasi cosa, e l'unico test avviene se gli utenti sperimentano volontariamente l'innovazione e gli piace una volta sperimentata. Internet facilita questo processo, e le convenzioni di cooperazione della comunit� open-source hanno il proposito specifico di promuoverlo.
La terza alternativa ad ``andare dietro ai fanalini di coda'' o ``forte leadership centrale'' (e pi� efficace di ambedue) � una anarchia creativa in evoluzione dove vi siano mille leaders e diecimila seguaci collegati da una rete di revisioni tra pari e soggetti al fuoco di fila dei controlli reali.
Microsoft non pu� battere ci�. Io non credo neanche che possa realmente capirlo, non con il cuore. }
Questo � forse l'ostacolo pi� interessante da affrontare per la comunit� Linux ora che hanno conseguito la parit� sotto molti aspetti con lo stato dell'arte di UNIX.
{ La comunit� Linux non solo ha saltato quest'ostacolo, ma l'ha totalmente demolito. Questo fatto sta alla base del vantaggio a lungo termine dell'open-source rispetto allo sviluppo della closed-source. }
Lavoro poco sexy
Un'altra cosa interessante da osservare nel prossimo futuro di OSS � quanto bene il team � in grado di affrontare il lavoro "poco sexy" necessario per dar vita a un prodotto di categoria commerciale.
Nel terreno dei sistemi operativi, ci� include piccole ma essenziali funzioni quali power management, sospensione/ripresa, infrastrutture di management, accuratezze UI, approfondito supporto Unicode, ecc.
per Apache, ci� pu� voler dire funzionalit� tipo wizards per amministratori principianti.
Lavoro architettonico/integrativo
Il lavoro integrativo attraverso i moduli � il maggior costo in cui si imbattono i team OSS. Un memo email di Nathan Myrhvold del maggio 98, evidenzia che tra tutti gli aspetti presenti nello sviluppo di software, il lavoro di integrazione � quello pi� soggetto alle leggi di Brook.
Fino ad ora, Linux ha grandemente beneficiato del modello integrativo / componentistico portato avanti dai precedenti UNIX. Inoltre, l'organizzazzione di Apache fu semplificata dalle semplici e tolleranti specifiche del protocollo HTTP e dello UNIX server application design.
Innovazioni future che richiedono dei cambiamenti al nucleo del modello architettonico/integrativo diventeranno incredibilmente difficili da assorbire per il gruppo OSS perch� fa perdere simultaneamente di valore ai loro precedenti e al loro bagaglio di esperienza.
{ Questa previsione fa il paio con la precedente asserzione dell'autore per cui lo sviluppo open-source si basa in modo pericoloso su progetti precedenti e guarda inevitabilmente al passato. Questa � miopia -- sembra che cose come Python, Beowulf, e Squeak (per nominare solo tre tra le centinaia di progetti innovativi) non sono percepiti dal suo radar.Possiamo solo sperare che Microsoft continui a crederla cos�, perch� ostacolerebbe la loro risposta. Molto dipender� su come interpreteranno innovazioni come (per esempio) la SMPizzazzione del kernel di Linux.
E' interessante notare come l'autore contraddica se stesso su questo punto. }
}
Questi sono punti deboli intrinsechi nella metodologia progetto/risposta di OSS.
Costi iterativi
Una delle chiavi del procedimento OSS � nell'avere molte pi� iterazioni del software commerciale (Linux era conosciuto per il fatto di revisionare il suo kernel pi� di una volta al giorno). Comunque, i clienti commerciali ci dicono che vogliono meno revisioni, non di pi�.
{ Mi chiedo come cambierebbe questa risposta se le revisioni Microsoft non fossero cos� costose?Questo � il motivo per cui esistono i distributori commerciali di Linux -- per mediare tra un procedimento a rapida evoluzione e i clienti che non vogliono seguire ogni spostamento. Il kernel pu� essere revisionato una volta al giorno, ma Red Hat lo revisiona solo una volta ogni sei mesi. }
"Non-expert" Feedback
L'OS di Linux non � sviluppato per gli utenti finali, ma bens� per altri hackers. In modo simile, il web server Apache � implicitamente rivolto alla gran parte degli operatori dei siti, non ai server intranet dipartimentali.
La linea chiave qui � che poich� OSS non ha un esplicito rapporto marketing / customer, la "lista dei desideri" -- e di conseguenza lo sviluppo di certe funzioni -- � dominata dagli utenti con pi� conoscenze tecniche.
Una cosa che i gruppi di sviluppo alla MSFT hanno imparato pi� e pi� volte � che la facilit� d'uso, l'intuitivit� UI, ecc. devono essere costruite partendo dalla base del prodotto e non possono essere aggiunte in un secondo momento.
{ Questo richiede un commento -- poich� ci� � giusto in teoria, ma � incredibilmente falso nella pratica Microsoft. La falsit� implica una spiegabile debolezza nella implicita strategia (per Microsoft) di enfatizzare UI.Ci sono due modi per costruire "fin dalla base" un prodotto facile da usare. Uno (il modo Microsoft) � di progettare applicazioni monolitiche che sono definite e dominate dai loro UI. Questo tende a generare ``Windowsitis'' -- mostruosit� rigide, sferraglianti, inclini ai bug, con una superficie patinata ed un interno vuoto..
Programmi costruiti in questo modo sembrano user-friendly a prima vista, ma finiscono per diventare nel lungo periodo una voragine che inghiotte tempo ed energia. Essi possono essere sostenuti solo da un bombardamento pubblicitario a tappeto, il cui scopo principale � illudere gli utenti facendogli credere che (a) i bug sono delle caratteristiche o che (b) tutti i bug sono in realt� degli stupidi sbagli dell'utente, o che (c) tutti i bugs saranno aboliti con il prossimo upgrade. Questo approccio � fondalmentalmente spezzato.
L'altro modo � quello Unix/Internet/Web, che consiste nel separare il motore (che fa il lavoro) dall'UI (che fa l'ispezione ed il controllo). Questo approccio richiede che il motore e UI comunichino usando un protocollo ben definito. E' esemplificato dalle coppie browser/server -- il motore si specializza nell'essere un motore, e l'UI si specializza nell'essere un UI.
Con questo secondo approccio la complessit� globale scende e l'affidabilit� cresce. Inoltre, l'interfaccia � pi� facile da evolvere/migliorare/personalizzare, proprio perch� non � strettamente accoppiata al motore. E' anche possibile avere intefacce multiple accordate a diversi tipi di audiences.
Per finire, questa architettura conduce ad applicazioni che sono enterprise-ready -- che possono essere usate o amministrate lontanamente dal server. Questo approccio funziona -- ed � il modo naturale per la comunit� open-source di contrastare Microsoft.
Il punto chiave qui � che se Microsoft vuole dare battaglia alla comunit� open-source sull'UI, lasciamola fare -- perch� possiamo vincere anche questa battaglia, lottando a nostro modo. Possono fare dei monoliti Windows sempre pi� elaborati che si saldano a chiazze alla consolle delle applicazioni-server. Noi vinceremo se faremo delle applicazioni pulite che facciano leva su Internet e sulla Rete e facciano UI che si possano evolvere ed essere pluggable/unpluggable a scelta dell'utente.
Da notare, comunque, che la nostra vittoria dipende dall'esistenza di protocolli ben definiti (come HTTP) per la comunicazione tra UI e motori. E' per questo che ci� che l'affermazione che si trova pi� avanti nel memorandum riguardo la ``de-standardizzazione dei protocolli'' � cos� sinistra. Dobbiamo stare in guardia contro questo. }
La tendenza interessante da osservare qui saranno le conseguenze che avranno fornitori commerciali di OSS (come RedHat in campo Linux, C2Net in campo Apache) sul ciclo feedback.
Come pu� OSS fornire il servizio che l'acquirente si aspetta dai fornitori di software?
Modello di assistenza
L'assistenza al prodotto � la prima questione che assilla eventuali acquirenti di pacchetti OSS ed � la prima caratteristica dei redistributori commerciali.
Comunque, la stragrande maggioranza dei progetti OSS � assistita dagli sviluppatori dei rispettivi componenti. Aumentare proporzionalmente questa infrastruttura di supporto al livello che ci si aspetta per i prodotti commerciali sar� una sfida importante. Ci sono differenze enormi tra gli utenti e gli sviluppatori in IIS vs. Apache.
{ La vaghezza di quest'ultima frase � significativa. Se l'autore avesse continuato, avrebbe dovuto riconoscere che Apache sta massacrando IIS sul mercato (la quota di Apache � del 54% e sta salendo; quella di IIS � attorno al 14% e sta precipitando).Ci� avrebbe dovuto portare a scegliere tra alternative sgradevoli (per Microsoft). Pu� essere che che i canali informali di supporto al cliente di Apache e la sua `credibilit� organizzativa' producano in realt� risultati migliori di quelli che Microsoft pu� offrire. Se ci� � vero, allora � difficile in via di principio spiegare perch� la stessa cosa non possa essere vera per gli altri progetti OSS.
L'alternativa -- che Apache � cos� buono che non ha bisogno di molta assistenza o `credibilit� organizzativa' -- � anche peggiore. Significherebbe che tutti i costosi battaglioni di assistenza e marketing schierati da Microsoft sono stati solo un gigantesco investimento sbagliato, come demolire i condomini staliniani quarant'anni pi� tardi.(?)
Queste due spiegazioni possibili implicano strategie distinte ma parallele per i sostenitori di open-source. Una � di costruire dei software che siano cos� buoni da non aver semplicemente bisogno di molta assistenza (ma faremmo cos� in ogni caso, e in genere l'abbiamo fatto). L'altra � di intensificare ci� che gi� stiamo facendo con il supporto tramite mailing lists, newsgroups, FAQs, e altri canali informali ma estremamente efficaci. }
Nel breve-medio periodo, questo fattore da solo relegher� i prodotti OSS sullo scaffale pi� alto dell'insieme degli utenti.
Strategic Futures
Un problema eccelso che affligger� l'utente con l'adozione in vasta scala dei progetti OSS � la mancanza di una direzione strategica nel ciclo di sviluppo OSS. Mentre i miglioramenti fatti sui bug di un prodotto OSS sono molto credibili, le funzioni future non hanno uno sviluppo garantito da impegni organizzativi.
{ No. Nella comunit� open-source, i nuovi aspetti di un prodotto sono il frutto dell'esplorazione individuale di nuovi territori da parte degli hackers. E ci� non si pu� certamente disprezzare. Internet e il Web furono costruiti in questo modo -- non grazie ad `impegni organizzativi', ma perch� qualcuno da qualche parte ha pensato ``Hey -- questa cosa potrebbe essere carina...''.Forse � una fortuna per noi che la `credibilit� organizzativa' occupi uno spazio cos� grande nella visione del mondo di Microsoft. Il tempo e l'energia che impiegano preoccupandosi di questo aspetto che considerano un prerequisito sono risorse che non impiegheranno in azioni che potrebbero essere effettivamente contro di noi. }
{ La questione della compatibilit� retroattiva � carinamente ironica, considerato che non ho mai sentito parlare di un programma che girasse su tutti i DOS, Windows 3.1, Windows 95, Windows 98, ed NT 4.0 senza cambiamenti.Qui l'autore � stato superato dagli eventi. Dovrebbe chiedere agli amichetti di Microsoft dentro ad Intel chi ha comprato una quota di minoranza di Red Hat meno di due mesi dopo che questo memorandum � stato scritto. }
Modelli di commercio open-source
Negli ultimi due anni, OSS ha avuto un altro cambiamento con l'emergere di ditte che vendono il software OSS, e, cosa pi� importante, ingaggiando sviluppatori a tempo pieno per migliorare il codice base. Qual'� il modello commerciale che giustifica queste assunzioni?
In molti casi, le risposte a queste domande sono simili a "perch� mai dovrei sottoporre il mio protocol/app/API ad un corpo standard?"
Il venditore di OSS-ware provvede alla vendita, assistenza ed integrazione al cliente. In effetti, ci� trasforma il venditore di OSS-ware da produttore di pacchetti di articoli a fornitore di servizi.
Articoli civetta -- Accesso al mercatoIl modello commerciale degli articoli civetta (prodotti venduti sottocosto) di OSS pu� essere utilizzato per due scopi:
Molti dei nuovi partecipanti OSS -- in particolare quelli nel campo degli Operating Systems -- vedono l'investimento nello sviluppo di prodotti OSS uno strategico "prodotto civetta" contro Microsoft.
Distributori Linux, quali RedHat, Caldera, e altri, hanno la precisa volont� di investire in sviluppatori a tempo pieno che producano per la comunit� OSS. Finanziando simultaneamente questi sforzi, danno vita implicitamente ad una collusione con l'intento di ottenere maggiori ricavi a breve termine facendo crescere il mercato Linux invece di competere direttamente l'uno contro l'altro.
Un esempio indiretto � l'impiego da parte della O'Reilly & Associates di Larry Wall -- "leader" e sviluppatore a tempo pieno di PERL. L'editore #1 dei manuali PERL �, naturalmente, la O'Reilly & Associates.
Nel breve periodo, specialmente quando il progetto OSS � in piena curva acendente, tali investimenti generano ROI positivi. A lungo termine, le motivazioni ROI possono portare questi sviluppatori a diventare proprietari delle estensioni pi� che a far uscire OSS.
E' legato strettamente al modello commerciale dei prodotti civetta. Invece di cercare di ottenere dei guadagni marrginali facendo crescere il mercato in modo massiccio, questi negozi aumentano i loro ricavi essendo parte di una catena standardizzata di fornitori a valle.
Attualmente i migliori esempi di questo sono i piccoli venditori di server quali Whistle Communications, e Cobalt Micro che stanno rispettivamente investendo nello sviluppo di SAMBA e Linux.
Sia Whistle che Cobalt basano le loro entrate dalla quantit� di volume hardware. Di conseguenza, investire in OSS permette loro di evitare il mercato dei PC dove deve essere pagata una "tassa" ai venditori di OS (il prezzo al dettaglio di NT Server � di $800, mentre l'obbiettivo di Cobalt MSRP � attorno ai $1000).
I primi sviluppatori Apache furono assunti con cash-strapped ISPs e ICPs.
Un altro, pi� recente esempio, � l'accordo tra IBM e Apache. Dichiarando il server HTTP una merce, IBM spera di far convergere i ricavi nei servizi applicativi tecnicamente pi� arcani che raccoglie con la sua distribuzione di Apache (cos� come la speranza di raggiungere l'enorme quota di mercato di Apache).
Primo fautore -- Costruisci ora, $$ pi� avantiUna delle qualit� esponenziali di OSS -- i progetti di successo OSS inghiottono quelli con meno successo nello stesso campo -- implica un modello di commercio con prelazione, in cui investendo direttamente in OSS oggi, si svuotano/eliminano i progetti competitivi futuri -- specialmente se il progetto richiede un'evangelizzazione API. Questo equivale a determinare un vantaggio in OSS al primo che prende l'iniziativa.
Inoltre, i vantaggi dati dalla scala di sviluppo, dal tasso di iterazione, e dall'affidabilit� sono dei doni del cielo per coloro che iniziano e che non possono permettersi un grande staff interno di sviluppo.
Esempi di avviamenti in questo campo includono SendMail.com (che fa una versione commercialmente sostenuta del sendmail mail transfer agent) e C2Net (che fa un Apache commerciale e criptato).
Da notare che non � stato osservato nessun caso di successo di uno che si avvii e che abbia dato origine ad un progetto OSS. In entrambi questi casi, i progetti OSS esistevano prima dell'avviamento.
Sun Microsystems ha recentemente annunciato che il suo progetto "JINI" sar� fornito di OSS tramite modulo e pu� rappresentare una applicazione della dottrina di prelazione.
LinuxNelle prossime sezioni saranno analizzati i pi� notevoli progetti OSS inclusi Linux, Apache, ed ora anche Netscape's OSS browser.
Un secondo memorandum intitolato "Linux OS Competitive Analysis" fornisce una visione approfondita dell'OS di Linux. Qui, do un riassunto delle mie conclusioni su Linux.
Che cos'�?Linux (pronunciato "LYNN-ucks") � l'OS open-source #1 come quota di mercato su Internet. Linux deriva da 25+ anni di studio sull'operating system di UNIX.
Funzioni principali:
Come altri prodotti Open Source Software (OSS), il vero punto chiave di Linux non � la versione statica del prodotto ma bens� il procedimento che ci sta attorno. Questo procedimento conferisce credibilit� e un'aria di sicurezza-futura agli investimenti degli acquirenti Linux.
Linux � un pericolo a breve/medio termine nel campo dei server
La minaccia principale che Microsoft deve affrontare nei confronti di Linux � diretta contro NT Server.
Il punto di forza di Linux nei confronti del server NT (e di altri UNIXes) � dato da diversi fattori chiave:
Per dirla in modo leggermente diverso: Linux pu� vincere se i servizi sono aperti e i protocolli sono semplici e trasparenti. Microsoft pu� vincere solo se i servizi sono chiusi e i protocolli complessi e opachi.
Detta come va detta: "commerciabilit�" di servizi e protocolli sono cose ottime per il cliente; promuovono la competizione e la possibilit� di scelta. Quindi, perch� Microsoft vinca, il cliente deve perdere.
La rivelazione pi� importante di questo memorandum � vedere quanto ci metter� Microsoft a dichiarare esplicitamente questa logica. }
E' improbabile che Linux sia una minaccia nel medio-lungo termine nei desktop per varie ragioni:
Nonostante ci� sia vero, si elude una questione importante -- cio� che l'ampollosit� di Microsoft su questo punto non rende meno valida la sua critica. Lo sviluppo open-source si rivolge in modo davvero scarso verso questo tipo di questioni, perch� esso non include un collaudo sistematico ease-of-use con non-hackers.
Ci� francamente rallenta il progresso di Linux nei desktop. Comunque � poco probabile che lo arresti per sempre, -- non se lavori come GNOME e KDE hanno il tempo di maturare. }
Anche ammettendo la supposizione dell'autore, la possibilit� che Linux riesca ad agguantare un sufficiente vantaggio `primo-fautore' non � di certo preclusa a meno che il modello open-source sia veramente incapace di generare delle innovazioni -- e noi sappiamo gi� che ci� non � vero. }
Oltre ad attaccare in generale i punti deboli dei progetti OSS (ad es. costi integrativi / architettonici), alcuni attacchi specifici su Linux sono:
Tutte le edizioni standard dei prodotti per NT vs. Sun si applicano a Linux.
La homebase di Linux � attualmente l' infrastruttura della rete e del server dei prodotti. Piegando la funzionalit� estesa (per esempio Storage+ nei sistemi di archivio, DAV/POD per la rete) negli odierni servizi dei prodotti, alziamo la sbarra & cambiamo le regole del gioco.
Ci� a cui mira l'autore non � nient'altro che cercare di rovesciare l'intera infrastruttura " network e server del prodotto" (featuring TCP/IP, SMTP, HTTP, POP3, IMAP, NFS, e altri standard aperti) nell'uso di protocolli che, anche se possono avere gli stessi nomi, sono stati in realt� trasformati in congegni di controllo-del-cliente-e-del-mercato per Microsoft (questo � ci� che l'autore vuol dire in realt� quando esorta i Microservi ad "alzare la sbarra & cambiare le regole del gioco").
Il `aggiungere le funzionalit� estese' qui � un eufemismo per introdurre estensioni nonstandard (o interi protocolli alternativi) che siano in seguito messi prepotentemente sul mercato come standard, anche se sono chiusi, non documentati, o specificati solo fino al punto da creare una illusione di apertura. L'intento � di fare dei nuovi protocolli una lista di verifica per compratori ingenui, e rendere simultaneamente quasi impossibile per una terza parte scrivere qualcosa di simbiotico per i programmi Microsoft. (E chiunque ci riesca viene comperato.)
Questo gioco si chiama ``abbraccia e allargati''. Abbiamo gi� visto Microsoft fare questo gioco, e sono molto bravi. Quando funziona, Microsoft vince un monopolio blindato. Gli acquirenti perdono.
(Questa strategia di inquinamento-degli-standard � perfettamente in linea con gli sforzi di Microsoft di corrompere Java e rompere il marchio Java.)
I sostenitori di open-source possono ribattere sottolineando esattamente come e perch� il cliente ci perde (competitivit� ridotta, costi maggiori, minore affidabilit�, opportunit� perse). I sostenitori di open-source possono anche contrapporre gli aspetti positivi -- cio�, come open-source e standard aperti aumentino la competizione fra venditori, facciano diminuire i costi, migliorino l'affidabilit�, e creino opportunit�.
Ancora una volta, come Microsoft ammette pi� sopra nel memorandum, Internet � figlio del nostro manifesto. La migliore controffensiva da parte nostra contro abbraccia-e-allargati � di sottolineare che Microsoft sta tentando di serrare Internet. }
Nel tentativo di rinnovare la sua credibilit� nel campo dei browser, Netscape ha di recente fatto uscire e sta tentando di creare una comunit� OSS attorno al codice sorgente del suo Mozilla.
Organizzazione & licenzeIl modello organizzativo e delle licenze di Netscape � liberamente basato su quello della comunit� Linux & GPL con poche differenze. Primo, Mozilla e Netscape Communicator sono due codebases con gli ingegneri di Netscape che provvedono alla sincronizzazione.
A differenza di un completo GPL, Netscape si riserva il diritto finale di rifiutare / obbligare a delle modifiche all'interno del codice base di Mozilla e gli ingegneri di Netscape sono nominati "Direttori d'area" di grandi componenti (per ora).
Capitalizzare i sentimenti anti-Microsoft nella comunit� OSS
In relazione ad altri progetti OSS, Mozilla � considerato essere come uno dei pi� diretti attacchi a breve termine al sistema Microsoft. Questo fattore da solo � probabilmente il fattore chiave che galvanizza lo stimolo degli sviluppatori verso il codice base di Mozilla.
Nuova credibilit�
La disponibilit� del codice sorgente di Mozilla ha migliorato di poco la credibilit� di Netscape nel campo dei browser. Come sottolinea BharatS in
http://ie/specs/Mozilla/default.htm:"Facendo uscire il loro codice essi hanno garantito che non spariranno mai completamente dall'orizzonte nel modo in cui Wordstar � scomparsa. I browsers Mozilla sopravviveranno bene nei prossimi 10 anni, anche se la loro base di utenza si restringe. "
Cavarsi un grande sfizio
Il browser � largamente usato / diffuso. Di conseguenza, il gruppo di persone che possono essere intenzionate a risolvere "un problema corrente a portata di mano" e/o sistemare un bug pu� essere vasto.
Punti deboliSviluppo post paritario
Mozilla � gi� vicino ad essere pari a IE4/5. Di conseguenza, non c'� alcun esempio da seguire che possa aiutare e implicitamente coordinare il team di sviluppo.
Netscape ha assegnato ad alcuni dei sui migliori sviluppatori il compito a tempo pieno di gestire il codice base di Mozilla e sar� interessante vedere quanto (e se) questo potr� aiutare la capacit� di Mozilla di spingersi in nuovi campi.
Piccola Noosphere
Un punto debole interessante � la rimanente dimensione della "Noosphere" per i browser OSS.
Non c'� pi� alcun grande segmento di alto profilo del browser puro che debba essere sviluppato. In altre parole, Netscape ha gi� risolto l'80% dei problemi interessanti. La gratificazione dell'ego � poca /nulla nel correggere / sistemare il rimanente 20% del codice di Netscape.
La gestione di Linus Torvalds del codice base di Linux � diretta plausibilmente verso la creazione del miglior Linux possibile. Netscape, al contrario, si riserva espressamente il diritto di prendere delle decisioni gestionali sul codice basandosi sugli interessi commerciali / economici. Invece di creare un prodotto importante, il codice dello sviluppatore � sottomesso alla quotazione di Borsa di Netscape.
Costo di integrazione
Potenzialmente il maggior ostacolo allo sforzo di Mozilla � il livello di integrazione che gli acquirenti si aspettano dalle caratteristiche di un browser. Come affermato prima, l'integrazione sviluppo / collaudo NON � una attivit� parallelizzabile e quindi � danneggiata dal procedimento OSS.
In particolare, molto del nuovo lavoro per IE5+ non consiste solamente nell'integrare i componenti col browser ma continuare l'integrazione all'interno dell'OS. E sar� particolarmente spiacevole doverci competere.
PrevisioniLa tesi quindi � che, a differenza dei progetti Linux e Apache che, per ora, hanno grande successo, gli sforzi di Netscape per Mozilla far�:
Tenendo presente che il codice sorgente � stato fatto uscire solo poco tempo fa (aprile '98), c'� gi� la prova del calo di interesse per Mozilla. Una prova estremamente NON-SCIENTIFICA si pu� trovare nel declino del volume delle mailing list fra le mailing list di Mozilla da aprile a giugno.
|
Mozilla Mailing List |
Aprile 1998 |
Giugno 1998 |
% decrescita |
|
Funzioni desiderate |
1073 |
450 |
58% |
|
Sviluppo UI |
285 |
76 |
73% |
|
Discussione generale |
1862 |
687 |
63% |
Specchi interni delle mailing list di Mozilla possono essere trovate a http://egg.Microsoft.com/wilma/lists
Apache CronologiaParafrasato da
http://www.apache.org/ABOUT_APACHE.htmlNel febbraio del 1995, il server pi� popolare sul Web era il dominio pubblico HTTP daemon sviluppato da NCSA, University of Illinois, Urbana-Champaign. Comunque, lo sviluppo di quel httpd era in fase di stallo dalla met� del 1994, e molti webmasters avevano provveduto a sviluppare le proprie estensioni e sistemato bug, e avevano bisogno di una distribuzione comune. Un piccolo gruppo di questi webmasters, contattati privatamente tramite e-mail, si misero assieme con lo scopo di coordinare i loro cambiamenti (nella forma di "pezze"). Per la fine di febbraio del '95, otto contributori base formarono la fondazione dell'Apache Group. Nell'aprile del 1995, Apache 0.6.2 fu fatto uscire.
Nel maggio-giugno 1995, una nuova architettura server (chiamata in codice Shambhala) fu sviluppata, e includeva una struttura modulare ed API per una migliore estensibilit�, allocazione della memoria pull-based, e un modello di procedimento anti-biforcazione. Il gruppo fece il cambio verso il nuovo server base in luglio e aggiunse le caratteristiche da 0.7.x, che risultarono in Apache 0.8.8 (e nei suoi confratelli) in agosto.
A meno di iun anno dalla formazione del gruppo, il server Apache pass� la httpd di NCSA httpd come il server #1 in Internet.
Il gruppo di sviluppo Apache consiste in circa 19 membri di base pi� centinaia di amministratori di siti web sparsi nel mondo che in un modo o nell'altro hanno sottoposto un rapporto / pezza sui bug. I dati sui bug di Apache si possono trovare a:
http://bugs.apache.org/index.Una descrizione sulla gestione del codice e sulle procedure di soluzione dei conflitti seguite dal team di Apache si trovano a
http://www.apache.org:Leadership:
C'� un gruppo base di contributori (informalmente chiamato il "nucleo") che fu formato dai fondatori del progetto ed � aumentato di tanto in tanto quando dei membri del gruppo hanno nominato dei contributori di rilievo e gli altri membri del nucleo hanno accettato.
Soluzione delle dispute:
Cambiamenti di codice sono proposti sulla mailing list e generalmente votati dai membri attivi --- tre +1 (voti affermativi) e no -1 (astenuti, o veti) sono necessari per promuovere un cambio di codice durante un ciclo di uscita
Quote di mercato!
Apache ha oggi di gran lunga la quota #1 di web site su Internet. Fare la parte del leone sul mercato d� un enorme potere di controllo sull'evoluzione del mercato.
In particolare, la quota di mercato di Apache nel campo dei web server presenta i seguenti ostacoli competitivi:
Supporto terzi
Il numero di strumenti / moduli / plug-ins disponibili per Apache sono aumentati ad un tasso crescente.
Punti deboliPrestazioni
Nel breve periodo, IIS batte sonoramente Apache su SPECweb. Andando avanti, quando IIS si sposta nel kernel e si avvantaggia di una integrazione pi� profonda con NT, ci si aspetta che questo orientamento si incrementi ulteriormente.
Apache, al contrario, � gravato dalla richiesta di creare un codice portabile per tutti i suoi ambienti OSS.
Complessit� del protocollo HTTP & servizi applicativi
Parte del motivo per cui Apache � riuscito a trovare un punto d'appoggio e decollare � dato dalla semplicit� del protocollo HTTP. A mano a mano che nuove caratteristiche vengono stratificate sopra al modesto server ( per es. supporto alle transazioni multi-server, POD, ecc.) sar� interessante vedere come far� il team Apache a stare al passo.
Il supporto ASP, per esempio, � un driver chiave per IIS nei corporate intranets.
IBM & ApacheRecentemente, IBM ha annunciato il supporto al codice base di Apache nelle applicazioni server del suo WebSphere. Il risultato reale dell'entusiamo della stampa non � ancora chiaro, comunque:
Alcuni altri progetti OSS:
In generale, devono essere inserite molte pi� riflessioni/discussioni nella risposta Microsoft al fenomeno OSS. L'obbiettivo di questo documento � didattico e di analisi sul procedimento OSS, di conseguenza in questa sezione, offro solo una lista molto superficiale di opzioni e preoccupazioni.
Vulnerabilit� del prodottoDove � pi� probabile che Microsoft senta il "pizzicotto" dei progetti OSS nel prossimo futuro?
Server vs. Client
Il server � molto pi� vulnerabile ai prodotti OSS del client. Le ragioni di ci� includono:
Come pu� fare Microsoft ad accapparrarsi parte delle esuberanti capacit� intellettuali degli sviluppatori che sono puntati sui prodotti OSS?
Alcune idee di partenza includono:
Cosa pu� imparare Microsoft dall'esempio OSS? Pi� specificatamente: come possiamo fare per ricreare internamente l'ambiente di sviluppo OSS? Diversi revisori di questo documento hanno costantemente sottolineato che internamente, noi dobbiamo vedere idealmente Microsoft come una comunit� OSS, ma per varie ragioni non lo �:
"Uno sviluppatore in Microsoft che lavori sull'OS non pu� cavarsi uno sfizio che ha con Exel, n� uno sviluppatore di Exel pu� cavarsi il suo sfizio con l'OS -- gli ci vorrebero mesi per immaginare come costruire & correggere & installare, e probabilmente non potrebbe comunque ottenere accesso a sorgenti adeguate"
"" Le persone devono lavorare alle loro parti indipendentemente dal resto , cos� le astrazioni interne fra i componenti sono ben documentate e ben esposte/esportare e anche pi� robuste perch� non sanno come saranno chiamate. Il sistema di sviluppo Linux si � evoluto in ci� concedendo a pi� parti di partecipare senza causare il numero enorme di edizioni di integrazione perch� la robustezza � presente ad ogni livello. Questa � una grande cosa, di lunga durata, per la stabilit� generale, e si vede. " "
Il trucco, naturalmente, � di accapparrarsi questi benefici senza incorrere nei costi dei procedimenti OSS. Questi costi sono il tipico motivo per cui si ersero tali barriere in primo luogo:
Sostenere una comunit� di piattaforma & sviluppo richiede una grande infrastruttura di servizio che OSS non pu� fornire. Questa include PDC's, MSDN, ADCU, ISVs, IHVs, ecc.
L'equivalente "MSDN" delle comunit� OSS, naturalmente, � una libera confederazione di siti web con docs API di varia qualit�. MS ha l'opportunit� di sfruttare realmente il web per l'evangelizzazione degli sviluppatori.
Attutire gli attacchi di OSSIn generale, Microsoft pu� vincere attaccando i punti deboli dei progetti OSS.
De-standardizzare protocolli & applicazioni
David Stutz fa un'osservazione molto buona: nel competere con il livello di integrazione dei desktop Microsoft, "i protocolli standardizzati diventano a tutti gli effetti mezzi di integrazione" per progetti OSS. Una gran quantit� di IQ viene spesa in gruppi di lavoro IETF che stanno creando velocemente il modello architettonico di integrazione per questi progetti OSS.
{ Cio�, i protocolli aperti devono essere messi sotto chiave e l'IETF deve essere schiacciato allo scopo di ``de-standardizzare protocolli & applicazioni'' e fermare il software open-source.Ancora una volta, la migliore risposta dei sostenitori di open-source sta nel sottolineare agli utenti che quando le cose sono ``de-standardizzate'', i venditori ci guadagnano e i clienti ci perdono. }
Alcuni esempi di iniziative Microsoft che stanno estendendo i protocolli standardizzati includono:
Costringere l'integrazione -- specialmente nel server
L'aumento dei server specializzati � una minaccia particolarmente spaventosa e potente che affligge direttamente il flusso delle nostre entrate. Una delle chiavi per combattere questa minaccia sta nella creazione di scenari integrativi che siano utili sulla piattaforma server. David Stutz precisa:
La questione base qui � che chi ha le migliori tecnologie e procedure di integrazione orientate verso la rete vincer� nel business standard dei server. C'� una convergenza di sistemi connessi, connettivit� mobile, e di diffusione dei protocolli di rete che far� esplodere il numero dei server (specialmente "server specializzati"??). Il cliente di prodotti ad uso generale d� un giro d'affari in cui vale la pena essere presenti - sar� schiacciato dai server di prodotti specifici?
Credibilit� organizzativa
Molte persone hanno fornito dati, riletture, interessanti email, e analisi sia su questo documento che sull'analisi di Linux:
Nat Brown
Jim Allchin
Charlie Kindel
Ben Slivka
Josh Cohen
George Spix
David Stutz
Stephanie Ferguson
Jackie Erickson
Michael Nelson
Dwight Krossa
David D'Souza
David Treadwell
David Gunter
Oshoma Momoh
Alex Hopman
Jeffrey Robertson
Sankar Koundinya
Alex Sutton
Bernard Aboba
Cronologia della revisione
|
Data |
Revisione |
Commenti |
|
8/03/98 |
0.95 |
|
|
8/10/98 |
0.97 |
Inizio della revisione Aggiunti i commenti di JoshCo |
|
8/11/98 |
1.00 |
Alcune correzioni, stampate copie per la revisione di PaulMa |