魔法大鍋爐-Eric Raymond

魔法大鍋爐
—— 前言、目錄
 
Eric Raymond (1999年六月)
[AKA]rover HansB iasc等翻譯

--------------------------------------------------------------------------------

  本文分析了正在不斷髮展的開放源代碼現象的經濟基礎。我們首先推翻了一些流行的關於軟件開發中投資和軟件價格結構的神話,給出了一個關於開放源代碼協作穩定性的遊戲規則分析。我們給出了九種開放源代碼開發的可發展模型,其中兩種是不盈利的,七種是盈利的。接着我們發展了一種定性的理論,說明什麼時候封閉代碼在經濟上是合理的。然後我們考察了當前市場上發明的幾種新穎的開放源代碼開發的盈利方法學,包括贊助系統和任務市場的引入。我們最後做出了結論,試着對將來做了一些預測。

目錄
==========================

1.近乎魔法

2.超越高手的天賦

3.製造業的錯覺

4."信息需要免費"的神話

5.駁斥公用悲劇說

6.封閉源碼的原因

7.使用價值集資模型
  7.1 Apache案例:成本分擔
  7.2 Cisco案例:風險分散

8.爲何銷售價值存在問題

9.間接的銷售價值模型
  9.1 失敗的領導者/市場定位者
  9.2 糖霜策略
  9.3 奉送食譜,開辦飯店
  9.4 衍生物
  9.5 現在收費,未來免費
  9.6 軟件免費,賣標準
  9.7 軟件免費,賣內容

10.何時開放,何時封閉
  10.1 靠什麼盈利?
  10.2 他們如何互相作用?
  10.3 Doom:一個學習的案例
  10.4 知道何時該放手

11.開放原代碼的商業運作

12.成功的複製

13.開放研發和二次開發

14.由此及彼

15.結論:自由軟件變革之後

16.參考文獻和致謝

17.附錄:爲何封閉驅動程序損失賣主金錢

18.本文檔修訂記錄

 


1. 近乎魔法


  在威爾士的神話中,Ceridwen女神有一口巨大的鍋,當女神念動只有她自己知道的咒語時,那口鍋就變出奇妙的食物。在現代科學中,Buckminster Fuller 提出了一種“短暫化”的概念,認爲在早期的物理資源投資越來越多的被信息內容所代替的情況下,技術會變得越來越有效和廉價。Arthur C. Clarke指出“任何足夠高級的技術都與魔法別無二致”,從而把二者聯繫起來。對很多人來說,開放源代碼社區的成功看來就象難以置信的魔法。高質量的軟件變得免費,在充滿競爭而且資源稀缺的現實世界,這似乎不能繼續下去,但是它進行的還不錯。要點在哪?Ceridwen的大鍋只是一個小詭計嗎?如果不是,在這種情況下,“短暫化”是怎麼工作的——女神究竟念動了什麼咒語?

 


2. 超越高手的才能


  開放源代碼文化的經驗肯定使許多學習過軟件開發的人們感到困惑。“大教 堂和市集”一文描述了分散協作軟件開發是怎樣有效的推翻了Brooks的定律,產生了使一個獨立的工程具有空前可靠性和質量的開發方式。“開拓智域”一文揭示了市集模式開發風格中的社會動力學,這應該用人類學家所謂的“贈與文化”的術語而不是常規的交換經濟術語來理解,在這種文化中,成員在做出貢獻大小方面競爭。本文中我們將開始推翻一些流行的關於軟件生產經濟學的神話;然後對“大教堂和市集”和“開拓智域”兩篇文章進行經濟學、搏弈論和商業模型領域的分析,發展一種新的概念工具,來理解開放源代碼開發者的贈與文化在交換經濟裏也可以繼續下去的理由。


  先不岔開話題,沿着上面的線索分析,我們需要拋棄(至少要暫時忽略)在"贈於文化"層次上的分析。“開拓智域”中贈於文化的存在是基於生存所需要的物質資料極大的豐富,以至於社會交換已經不很重要的環境裏;這種分析雖然在純粹的精神 世界中非常有說服力,但針對現實生活中大多數開放源碼開發者實際所處的綜合經濟環境來說,這種解釋則顯得有些無力。對許多人來說,社會交換仍然是他們努力工作的驅動力,但是已經漸漸失去了吸引力。必須在資源匱乏的經濟學中爲他們的行爲找到足夠的理由,才能使這些行爲在物質資料豐富的贈於文化中得以立足。


  因此,我們現在將(從整個資源匱乏經濟學領域)思考維持開放源碼開發的協作和交換模式。在分析的過程中,通過深入剖析和列舉實例,我們同時也就回答了那個非常實際的問題:“我如何通過開放源碼來賺錢?”。不過,這個問題是根據與軟件開發本質相悖的普遍軟件開發經濟模型而提出的,首先我們需要展示一下隱藏在這個問題之後的許多思維誤區。


  (在展開分析之前還有最後一個需要說明的是:本文中對開放源碼開發模式的討論和提倡,不能被理解爲對封閉源碼模式的徹底否定,也沒有反對現有的軟件知識產權體系,更不是對"共享"的無私呼籲。雖然開發源碼開發團體中的一些人仍然熱衷於這些討論,但從“大教堂和市集”發表以來,經驗已經清楚的表明這些爭論沒有必要的。重要的是開放源碼的開發模式和經濟效益能夠製造出質量更好、可靠性更高、成本更低、可以選擇的方案更多的好產品來。)

 

3.製造業的錯覺


  我們需要注意的是計算機程序和其他類型的工具和資本貨物一樣,都有兩種經濟價值:使用價值和銷售價值.


  程序的使用價值就是它作爲工具的經濟價值;銷售價值是它作爲作爲商品的價值.(用經濟學的專業說法,銷售價值是產品最終價值,使用價值是產品中間價值)


  當大多數人說到軟件產業時,總是按照擁有下列特性的"工廠模式"經濟來分析:


  1.大多數開發者的勞動由銷售價值的收入來支付


  2.軟件的銷售價值與開發成本(例如,功能複製所需的資源花費)和使用價值成一定比例.


  換句話說,人們有很強的思維慣性去假定軟件具有標準工業品的特性。但是這兩個假設都錯了。


  首先,編寫用於出售的代碼只是編程行業的冰山一角.在微機世界前期,大家普遍認爲世界上90%的代碼在銀行和保險公司內部編寫.這雖然已經不再是事實--現在其他行業也越來越加大了軟件開發的力度,金融行業所佔的比例從而下降--但是短期內我們仍將會看到大約95%的代碼是公司內部編寫.


  這些代碼包括大多數爲中等或大規模公司所定製的MIS,金融和數據庫軟件.包括象設備驅動這樣的專業技術代碼(幾乎沒有人靠賣設備驅動賺錢,這一點我們將會在後面討論);包括日益增長的數控機器的各種嵌入式代碼--從機械工具和噴氣客機、汽車、微波爐甚至烤麪包爐.


  大多數這種內部代碼與其環境集成在一起,複製和再利用十分困難(不論環境是商業辦公室的程序套件還是聯合收割機的加油系統)。因而一旦環境變化,需要做許多工作使軟件與之同步.


  這種工作稱爲"維護".任何軟件工程師或系統分析員都會告訴你這就是程序員的大部分工資的來源(超過75%).因此,大多數程序員工時花費在編寫和維護更本不能賣的內部代碼上(當然大多數程序員以此爲生)--讀者們也許樂意去查查報紙上的"誠聘信息"部分的編程工作列表檢驗一下.


  我強烈的希望讀者試試瀏覽本地報紙的招聘信息,看看編程.數據處理,和包含軟件開發工作的軟件工程項目等等.將這些工作按照其目的是使用還是銷售進行分類,你將深受啓發.


  很明顯,即使爲"銷售"定義了最大範圍,20人中還是至少有19個由使用價值資助(作爲產品中間價值).這就是爲什麼我們認爲軟件工業中以銷售價值驅動的部分只佔5%原因.注意,本文中其他部分的分析並非完全倚賴於這個數;即使這個數字達到15%甚至20%,在經濟上的推論結果仍然八九不離十.


  (當我在技術討論會上演講時,我經常由討論兩個問題開始:聽衆爲寫軟件付多少錢,和有多少薪水是依賴於軟件的銷售價值的.第一個問題應者甚衆,而第二個問題則寥寥無幾,大而且量的聽衆對這個問題十分詫異)


  其次,經過對實際客戶行爲的調查,軟件銷售價值與其開發和升級成本相關的理論很容易被推翻.開發和升級成本相關的商品(對打折之前來說)佔很大比例--食品,汽車,機械工具,甚至有許多無形的產品--例如,音樂、地圖或數據庫資料的複製權.這產品在生產者倒閉後仍然能保持甚至增加其銷售價值.


  與上述形成鮮明對比的是.當一個軟件產品生產者歇業時(或者如果產品開發被終止),幾乎沒有客戶願意爲其花錢,而不管它理論上的使用價值或同樣功能產品的開發費用有多高.(要檢驗這個說法,去你附近的軟件商店打折櫃檯看看吧:-))


  在生產者失敗時,零售商的行爲很有啓示.他們知道一些生產者不知道的東東.他們深知:客戶願意花費的價格在很大程度上由賣主未來可以提供的服務決定.(這裏的'服務'被廣義的理解爲完善,升級和後續產品).


  換句話說,軟件主要是一個穩定的服務性行業,認爲它是製造性行業是沒有理由的錯覺.


  另外,檢查一下我們爲什麼會有這些慣性思維也很有益處.它們也許來自於軟件生產者大力宣傳的銷售類產品,這些是的軟件業一小部分,也是宣傳的唯一的一部分,大多數明顯和重頭的廣告宣傳的產品是曇花一現的短期產品,就像遊戲,他們幾乎不需要提供後續服務(合同規定的除外)


  另外,值得注意的是,製造業錯覺所倡導的價格體系事實上會越過保持開發預算不崩潰的底線.既然(像一般認爲地)超過典型軟件產品週期花費的75%在維護,調試和擴展上,那麼通常的那種只採用高額售價,極低相關服務費用的定價策略,只會導致各方面都差的服務.


  用戶的損失在於,即使軟件是服務性行業,工廠模式促使生產者減低服務質量.如果生產者靠出賣比特掙錢,大量的努力是製造比特並將它們推銷出門;幫助服務部分,因爲不是利潤的中心,將會成爲只付出的一點點努力和資源,爲了避免激怒用戶所設的垃圾站.


  另一方面是大多數生產者使用這種工廠模式會導致長遠的失敗. 爲滿足無限的售後服務和技術支持需要的固定價格產品提供資金,只有在那些膨脹足夠迅速的市場裏 --其過去的銷售和未來的收入能夠滿足支持和生存週期的花費--才能存活.一旦市場成熟和銷量下降,維持生計,大多數生產者除了消減單獨產品的開支之外沒有別的選擇.


  不管是直接(廢止產品)還是間接(支持很差),都會把客戶推給競爭對手(因爲這些行爲損害了依附於服務產品的期望值).短期來看,可以通過將修訂過bug的版本發佈爲新產品避免這個陷阱.而長遠來看,避免陷阱的唯一可能是對行業進行有效的市場壟斷.最終,只有唯一的倖存.


  事實上,我們一再的看到這種缺乏支持的模式害死一些市場環境中很強大的競爭者,(這種模式對那些那些經歷過計算機發展史倖存下來的人尤其深刻,包括個人操作系統,字處理,通用財務程序或商業軟件).這種不正確的動機來自於工廠模式導致的贏家通吃的態勢,而且最後即使你是贏家的客戶也會遭殃.


  如果不是工廠模式,那又是什麼?爲了有效的控制軟件生存週期真實的花費體系(同時在經濟學和非正式場合的意義上的"有效"),我們需要一個建立於服務合同,合約,和買賣雙方持續交易基礎上的價格體系.所以,在以效益爲目的的自由市場條件下,我們能管窺大多數成熟的軟件工業最終遵循的價格體系.


  爲什麼說開放源碼軟件的地位日益增長,不僅僅是技術,也是經濟上對主流秩序的挑戰?上述內容給我們一些啓示.軟件開發的"free",會將我們推向以服務支配的世界,同時暴露出一直依賴銷售封閉源碼產品的方式有多脆弱.


  "free"的概念很容易被誤解爲其他含義。降低產品花費會導致支撐軟件業的整個基礎投入增長,而不是降低。只有汽車的價格降低時,汽車的需求才會上升--這也是爲什麼在開放源碼世界中,另外那5%的根據銷售價值付酬的程序員不好受的原因.在free的變革中,有損失的不是程序員而是那些沒看清形勢而將賭注押在封閉源碼策略上的投資者。

 

4. "信息應該免費"的神話


  與工廠模式錯覺相呼應的是,思考開放源碼經濟的人們還常常被另外一個神話搞糊塗.那就是"信息應該免費".這常常以數字信息產品的複製邊際成本幾乎爲零來解釋,這個解釋暗示了其價格似乎就應該爲零.


  其實你只要考慮一下諸如藏寶圖,瑞士銀行的賬號口令,或計算機服務的確認口令,等等信息的價值,就很容易看破這個神話.即使這些確認信息可以不用任何花費的複製,但是被其確認的對象無法複製.也就是說,非零的邊緣成本由被那些確認信息繼承下來.


  提到這個神話的主要目的是聲明它與開放源碼的經濟價值的討論無關;就象我們在後面將會看到的,即使假設軟件是符合製造業產品(非零)價值結構,仍是如此.所以我們沒必要鑽軟件是否應該免費的牛角尖.


5.駁斥公用悲劇說


  質疑主流模式,看看我們是否能建立另一種模式----對是支撐起開放源碼協作的原 因作出有力的經濟學解釋.


  這個問題需要從兩個不同的方面考查.一個方面是我們要解釋那些爲開放源碼作出 貢獻的人士的個體行爲;另一方面,我們需要理解那種支撐象Linux和Apache這樣的 開放源碼項目的經濟力量.


  Hardin的著名寓言告訴我們:設想一個鄉村農夫們擁有一片公用綠地.他們在那裏放牧牲畜.但是放牧使公用性退化,撕裂草皮,留下泥濘,很難恢復.如果沒有對分配放牧的權利達成協議(或約定)以防止過度放牧;所有牧主都還會贊成儘可能快的增加牲畜數量,以便在公共綠地變成泥潭之前榨取最大的利潤.


  大多數人使用象這樣的直覺的合作模式.這事實上並不是對開放源碼--他們是(供不應求的)自由騎士,而不是(被過度使用的)過剩的公共貨物--經濟問題的正確判斷,不過,我在大多數未充分考慮的反對聲後面都聽到過類似的看法.


  公共擁有的悲劇預言只會出現三種結果.一種是泥潭;一種是爲了村民的利益,強制性的使用某種分配協定(共產主義的解決方案);第三種是公用被打破,村民各築藩籬,保護自己的一小塊草地(私有制的解決方案).


  當人們本能的的將這種模式應用於開放源碼合作時,因此預計它只有很不穩定的短暫的半衰期.因爲沒有明顯的方法去強制在互聯網上工作的程序員執行工作時間分配策略,這種模式就斷言公用將會打破,結果是出現各種各樣的封閉代碼軟件和反饋給公用的工作量迅速減少.


  事實上,經驗清楚的顯示出了與之相反的趨勢.開放源碼開發的廣度和深度(由Matalab和freshmeat.net的每日宣佈的數據統計)在穩定增加.很明顯,這些都得出"公用悲劇"模式無法描述事態的發展.


  答案的一部分正是建立在軟件使用並不降低其價值的事實基礎之上.實際上,對開放源碼軟件來說,當用戶被其修正和特性(代碼補丁)把握之後,軟件的廣泛使用還會增加其價值.公用悲劇被顛覆了,越放牧,草長得越高.


  答案的另一部分是基於很難收取那些爲公用源碼基礎所作的小補丁的市場價值.假設我爲一個惱人的bug寫了個修正,而且有人認爲這個修正值錢;我如何才能從那些人手裏拿到錢?對於這種小額的,通常也是適當的付款,常規的付費體系如此昂貴竟成爲真正的問題.


  比起價錢不僅僅很難收取,也許如何定價還要難得多.讓我們想一想,假設互聯網上已經擁有理論上完美的小額付費系統--即安全,方便,又不需要更多手續費.而你寫了個補丁叫做"Linux內核的某某修正".你該要價多少?在潛在購買者還沒看到補丁時,他們又該如何判斷值不值得爲它付費呢?


  我們的問題就像F.A.Hayek的"計算問題"在哈哈鏡中的變形--它就象個超市,即要估價補丁的功能值多少,又要相信定價是合理的以促進交易.


  不幸的是,超市方式有一系列的不足,所以補丁的作者----打補丁的黑客有兩種選擇:躺在補丁上收錢,或免費扔出去.第一種選擇將一無所獲.第二種也可能如此,不過或者它會促使其他人提供互惠的給予,以解決上面那位黑客所頭疼的問題.第二種明顯無私的選擇,在這種遊戲情況中,競然事實上是自私的.


  在分析這種合作時,自由軟件的開發所面臨的問題會很重要(他們可能會工作在清貧,或沒有足夠的回報的情況下),這並不是由最終用戶的數量決定的.開放源碼項目的複雜性和溝通所帶來的成本幾乎完全和參與的開發者的數量成函數關係;擁有更多的幾乎從不看源碼的最終用戶對此似乎沒有任何益處.這隻會增加在項目郵件列表中無聊問題出現頻率,但是建立一個相關的常用問題列表,不理睬那些顯然不讀FAQ的人(事實上這已經是通用做法),可以很容易解決這個問題.


  開放源碼軟件的真正最重要的自由軟件開發問題是提交補丁功能時的磨合成本.可能的貢獻者在聲望上小有收穫(見《開拓智域》一文),而沒有金錢上的補償,想着"根本不值得提交這個修訂,因爲我不得不打補丁,寫修改記錄,在FSF任務文件上署名...".因爲這個原因,擁有大量貢獻者(其次纔是成功)的項目很強壯.與之相反的是,每個有許多相互有制約關係的項目都需要有從始到終的貢獻者.這種磨合成本就像政治一樣呆板.總之,自由軟件項目本身可以向你解釋爲何鬆散,無組織的Linux 文化,比緊密組織且集中管理的BSD項目的努力,更能吸引合作能量的意向;以及爲何自由軟件基金會,也在Linux崛起時重要性相對的減弱.


  這條路不管走多遠都是好的.但是,這只是在黑客寫了補丁並公佈了這個補丁後的事後諸葛亮式解釋.我們需要的另一半答案是對爲何JRH最初會寫這個補丁,而不是爲擁有銷售回報的封閉源碼程序工作.作出經濟解釋.到底什麼商業模式創造了開放源碼開發繁榮發展的環境呢?

 

6. 封閉源碼的原因


  在給開放源碼經營模式分類之前, 我們應該先大致地考慮一下封閉的代價.當我們封閉源碼時,我們究竟在保護什麼?


  比方說你僱了某人來編寫和組織一個(不妨說)爲你的生意專用的結算軟件,那麼和開放源碼比起來,封閉源碼一點也不會有助於解決問題. 如果你想封閉源碼, 唯一合理的理由就是你想把這個軟件賣給別人, 或者不讓你的競爭者使用它.


  比較明顯的原因是你在保護銷售價值, 但是對95%的供內部使用的軟件來說這沒意義.那麼封閉還有別的什麼好處嗎?


  第二個原因(保持競爭優勢)還有待檢驗. 假如說你把那個結算軟件開放源碼了,它流行起來, 並且從社會上得到了改進. 現在, 你的競爭者也開始使用它了,他沒有花開發費用就得到了好處, 而且影響了你的生意. 這是不是一種反對開放源碼的理由呢?


  可能是--也可能不是. 真正的問題在於你從分散開發負擔中得到的好處是否多於由那些不勞而獲的人帶來的競爭損失. 許多人傾向於爲這類交易作蒼白的辯解,方法是: (a)避而不談從額外的開發幫助中得到的功能上的改進. (b) 不認爲開發費用是降低了, 而是假定你無論如何也是要承擔這些開發費用的, 所以把它們作爲開放源碼(如果你這麼選擇的話)的代價是錯誤的.


  還有別的許多封閉源碼的根本就是荒謬的理由. 舉例說, 你可能誤以爲封閉源碼可以使你的商用系統更加安全, 不容易被破解或闖入. 如果是這樣, 我建議你立刻找一個密碼專家來診斷一下你的系統. 真正的猜疑心很重的人都知道不能相信封閉源碼程序的安全性, 因爲這是他們是從慘痛的教訓中學到的.安全性是可靠性的一個方面; 只有那些被徹底檢查過的算法和代碼實現纔可能被相信是安全的.

 

7.使用價值集資模型


  使用價值與銷售價值之間的差別讓我們注意到的一個基本事實是隻有銷售價值本身受到了來自從封閉原碼到開放原碼這個轉變的威脅;使用價值並沒有。


  如果使用價值,而不是交換價值,的確是軟件發展的根本驅動力;而且開放原代碼的發展的確是比原代碼封閉要更加有影響力和更加有效率,那麼我們應該期待着去尋找一種環境,在這種環境中光是使用價值已能夠完全地促使 開放原代碼向前發展。


  實際上,這樣的幾個環境模型並不難以找到。在這樣的模型中,開放原代碼的全職開發者的生存完全可以由(開放原代碼的)使用價值來實現。


  7.1 Aapache的個案:(價值分享)


  假如你在爲一個擁有高效性高可靠性網絡服務器的商業公司服務。也許這個服務器是用來爲電子商務服務的,也許是作爲一個出售廣告的高可視性的媒體輸出裝置,也許只是用來構建一個門戶站點。你需要一天7小時的在線時間,你需要速度,還有規範性。


  那麼你該如何做呢?這裏有些基本的策略可以供你參考:


  購買一個私有的網絡服務器,這樣,你是在冒險相信賣方的宣傳與你的需求是一致的,你在冒險相信賣方的技術競爭力能給提供完善的保障。即使假設這兩個方面是有保障的,網絡服務器本身也會由於缺乏規範的服務而出現問題。你只能通過賣方的經過挑選提供的幾種工具來維護的你的服務器。這種購買私有的服務器的路子並非一個很大衆化的方法!


  自己做一個!做一個自己的網絡服務器在目前還是不可忽略的一種調劑辦法;網絡服務器並不太複雜,當然比瀏覽器要簡單。一個專門用途的網絡服務器可以做得功能專一但很好用。走這條路的話,你能得到你所需要的各種特性和自己的規範,儘管在其升級的過程中你要付出很多。或許你的公司在你離開或退休後,還會發現這個服務器有了這樣或那樣的問題。


  參加Apache小組!Apache服務器是有一個通過Internet交流的小組寫出來的--小組成員都是系統管理員,他們相信比較明智的做法是將他們的能力集合起來去寫,並提高一個單一方向的代碼集而不是去花費時間各自同時寫完全不相關的代碼。這樣做的結果是他們能夠同時發揮“自己做一個”和大範圍大規模測試代碼的優勢。


  選擇Apache小組的優勢很明顯。到底有多明顯,可以根據Netcraft 的每週回顧來判斷一下。Netcraft上說Apache服務器從其誕生起一直在穩定地奪取其他私有服務器的市場份額。1999年6月,Apache 的各種版本佔有了61%的市場份額<http://www.netcraft.com/survey>;--沒有合法的擁有者,沒有組織機構,也根本沒有合同制約的組織形式在背後操縱。


  總的說起來,Apache的故事提供了一個模式:軟件使用者通過支持開放原代碼計劃而發現了這個模式,他們發現這樣做能以最小的代價給他們帶來越來越好的軟件,比其他任何方法都要有效。


  7.2 Cisco的各案:風險均攤


  一些年以前,兩個Cisco(網絡產品製造廠家)的程序員被分配來寫一個分佈式的打印系統的程式代碼用做Cisco的合作網絡的應用。這個項目的挑戰性很大。這個系統要使任意一個用戶能在這個網絡上的任意一臺打印機上打印東西(而用戶和打印機可能只是隔壁或者相隔幾千公里),當打印機沒有紙了或其他緊急情況系統要能夠將任務導向另一臺附近的打印機。系統還要能夠將這一個突發時間報告給打印機管理員。


  他們兩個對Unix上的打印軟件做了一些很不錯的修改,加上一些包的原語言,就做成了那項工作,但接着問題就來了。


  問題是兩個程序員都不願意在Cisco永遠呆下去。結果兩名程序員都將離開,而軟件也會無人維護而“腐爛”(就是無法滿足實際應用中不斷變化的要求而失去其應用)。沒有任何一個人願意看到這樣的情況在他自己或工作上發生,那兩個程序員也認爲他們已經做了Cisco公司要求他們做的事情,其他的問題已經不是他們的工作範圍了。


  於是他們跑到他們的經理那裏要求將這個打印軟件的原代碼開放。他們認爲這樣的話Cisco不僅不會失去什麼反而會得到更多。通過協作鼓勵用戶和軟件開發合作者的組織的發展,Cisco能夠彌補因爲軟件原創人員的離開所帶來的損失。


  Cisco的故事引出另一個模式:原代碼開放使開發一個軟件的風險被衆多協作者分攤了而且投資分花費很小。所有的團體都發現原代碼的開放,以及一個成員各自獨立卻互相協作的社區的存在將提供一個無風險的開發環境,而且這個環境是有商業價值的----它能夠自己賺錢養活自己!

 

8.爲何銷售價值存在問題


  開放源碼使得直接獲取軟件銷售利潤非常困難。困難並不是來自技術方面的,因爲源代碼和可執行代碼一樣易於拷貝,並且版權法和許可證法的約束不同使得通過開放源碼軟件來獲取銷售利潤比封閉源碼軟件難。


  真正的困難來自維護開放源碼發展的許可證本身。因爲三個相互推動的原因,大多數的開放源碼許可證禁止對用戶使用、分發、修改軟件的權利進行限制,以此避免有人利用開放源碼軟件牟取直接利潤。爲了更好的理解這些原因,我們有必要對這些許可證所涉及的社會背景——黑客文化(可以訪問下面網址:http://www.tuxedo.org/~esr/faqs/ hacker-howto.html>做一番探討。


  原因與對市場的敵視無關,雖然這樣的誤解在黑客圈外至今廣爲流傳。不排除有小部分的黑客確實一直對商業動機抱有敵意,但大部分的黑客還是願意與一些以盈利爲目的Linux集成商(如RED HAT、SUSE、Caldera)合作的。這也表明只要符合他們的意願,大多數的黑客會樂意和商家合作的。如此看來,黑客們敵視以獲取直接利潤爲目的的許可證的真正原因非常微妙也非常有趣。


  原因之一,對等原則。大多數開放源碼的開發者允許別人利用他們的成果來獲取利益,還有許多開放源碼的開發者同時還規定不允許某一方(有時源碼的開發者除外)出於特權地位來牟取利潤。只要黑客們自己潛意識裏打算從他們開發的軟件或補丁中贏利,他們一般也願意別人來與他合作,共同贏利。


  原因之二,意想不到的後果。黑客們發現在許可證中對軟件的商業應用與銷售進行限制和收費(爲獲得銷售利潤而通常採用的做法)會使得人際關係變得淡漠。其中一個特例就是所謂的“盜版光盤”,這本來應該鼓勵的,但現在卻被認爲是違法和不道德的。總的來說,對用戶使用、銷售、修改、分發軟件的權力(以及版權協議中其他複雜權利)進行限制會導致人們循規蹈矩,時時刻刻擔心自己會犯法(這種擔心會隨着人們使用的軟件包的增加而愈演愈烈)。這無疑是非常不妙的,因此簡化許可證,解除許可證中的各項限制已成爲大勢所趨。


  原因之三,也是最關鍵的一個原因,就是代碼共享。這種贈與文化在《開拓智域》一文中有生動的描述。某些許可證體系中用來保護知識產權或者限制直接獲取銷售利潤的各項規定使得人們不能合法的實現代碼共享,(如Sun公司的Jini&Java "社區資源"許可證)。然而代碼共享卻被認爲是最後一根救命“稻草”(《開拓智域》一文中大段大段的解釋了這個問題),當軟件維護者無力承擔或者放棄對代碼的維護時(比方說是一個非常封閉的許可證),代碼共享就非常關鍵了。


  黑客羣體對於對等原則還是有所妥協的,所以他們能夠容忍一些象Netscape的NPL(NPL明確規定不允許非公開源碼的產品使用開放源碼的Mozilla代碼)一樣給予源碼創作者一些特權的許可證。對於第二條原因,妥協的就少一些。而對第三條原因極少會作出讓步(這也是Sun公司的JAVA and Jini Community License計劃遭到黑客們廣泛反對的原因)。


  上述原因解釋了開放源碼定義中的各項條款。這些條款從一些典型的自由軟件版權協議(如GPL協議,BSD協議,MIT協議以及Artistic協議)的細微特徵中表達了黑客羣體的思想,它們(雖然不是有意的,但客觀上)使得獲取直接利潤極爲困難。

 

9. 間接銷售價值模式


  然而,還是有辦法來開拓與軟件服務相關的市場,從而獲得間接銷售價值。有五種已知的和兩種正在探索的模式(未來可能會發展出更多的新發展模式)。


  9.1 失敗的領導者/市場定位者


  在這種模式中,利用開放源代碼軟件爲直接產生收入的專有軟件來創造或維持一種市場位置。在大多數普遍的情形中,開放源代碼的客戶端軟件帶動了服務器軟件的銷售,或者可增加了門戶網站的訪問量/廣告收入。


  網景公司(Netscape)在1998年開放了Mozilla瀏覽器的源代碼時,就是使用了這種策略。他們瀏覽器端的商業收入只佔總收入的13%,而且在Microsoft開始發佈Internet Explorer後市場份額還在下降。IE強大的市場營銷(及其捆綁策略後來成爲反托拉斯案的核心問題)迅速的吞噬了Netscape瀏覽器的市場份額,造成了Microsoft試圖壟斷瀏覽器市場,並利用微軟強加給用戶的HTML的“標準”,形成逐步把Netscape 趕出服務器市場的態勢。


  通過開放仍然流行的Netscape瀏覽器的源代碼,Netscape有效的阻止了Microsoft壟斷瀏覽器的可能性。他們期望開放源代碼協作會加速瀏覽器的開發和測試,並希望能降低Microsoft的IE的發展速度,阻止它獨自定義HTML標準。


  這個策略生效了。在1998年11月,Netscape實際上開始從IE那裏奪回市場份額。在1999年初Netscape被AOL收購時,保持Mozilla所取得的競爭優勢是很明顯的,這一點可以從AOL的行動中顯而易見,AOL首先對外的承諾的就是繼續支持Mozilla計劃,雖然她還處在alpha測試階段。


  9.2. 糖霜策略


  這種模式是針對硬件製造商的(這裏的硬件包括從以太網或其他外部設備直到計算機系統的所有東西)。市場壓力迫使硬件公司書寫和維護軟件(從設備驅動程序、配置工具直到整個操作系統的級別),但是軟件本身並不是利潤中心。它是一項開支——通常是一項重要開支。


  在這種情況下,開放源代碼是一種很好的策略。由於沒有贏利上的損失,所以沒有負面影響。銷售商獲得的是奇蹟般膨脹的開發人員隊伍,對用戶需求獲得更加快速、靈活的反應能力,並且通過同行檢查而獲得的更好的可靠性。而且可以免費得到了其他系統的移植。這種做法還可在很大程度上提高客戶對公司的信任度,因爲客戶的技術人員可以花費了更多的時間根據自己的需要定製代碼。


  有一些經常被銷售商提出的反對開放硬件驅動程序源代碼的理由。爲了不把它們和這裏的更加一般的問題攪在一起,我在附錄裏專門討論了這個問題。


  開放源代碼的“將來獲益”的效果在糖霜策略中體現的尤其強烈。硬件產品有一個有限的製造和支持的生命週期,在那以後,用戶就自己照顧自己了。但如果他們可以獲得驅動程序的源代碼,並可根據需要加以修改的話,他們就更可能高高興興的成爲同一公司的回頭客。


  糖霜模式的一個非常戲劇性的例子是蘋果公司在1999年三月中旬決定開放它們的MacOSX服務器的操作系統“Darwin”的代碼。


  9.3 奉送食譜,開辦飯店


  在這種模式中,開放源代碼軟件建立了一種市場定位,並不是爲了象在失敗的領導者/市場定位者模式中一樣針對封閉源代碼軟件,而是針對服務。


  (我曾經把這種模式稱爲“奉送剃刀,銷售刀片”,但是軟件和服務二者的關聯並不如剃刀/刀片所類比的那麼緊密。)


  這是紅帽和其他Linux發行商所採用的模式。他們賣的其實並不是軟件代碼本身,而是通過組合和測試一個能轉的操作系統產生的附加價值,這個操作系統被擔保有銷路並與同一品牌的操作系統兼容。構成他們的價值的其他元素包括免費安裝和提供可選的持續技術支持合同。


  開放源代碼的創造市場的能力極爲強大,尤其是對那些天生就作服務的公司來說更是如此。進來一個非常有教育意義的例子是Digital Creations公司,它是一個創建於1998年的web站點設計機構,專長於複雜的數據庫和事務站點的開發。他們的主要工具,公司的知識財產——皇冠上的明珠,是一個對象發佈系統,它曾經有過幾個名字,現在被稱爲Zope。


  當Digital Creations的人尋找風險投資時,風險投資商仔細的估計了他們的預期市場份額,他們的人力資源和那套工具後,就建議Digital Creations開放Zope的源代碼。


  從傳統的軟件工業標準來看,這看起來絕對是一個瘋狂的舉動。常規的商業學校認爲象Zope這種核心知識財富是一個公司的掌上明珠,是在任何情況下也不能放棄的。但是那位風險投資商從兩個相互關聯的角度來考慮問題,一個是Zope的真實核心資產實際上是它的人員的大腦和技術;第二個是Zope作爲一個創造新市場的標準而不僅僅是一個祕密武器會產生更多的價值。


  爲了看清這一點,請比較兩種情況。在通常情況下,Zope保留爲Digital Creations的祕密武器。讓我們假定它是一個很有效的武器。結果,公司可以在很短的時間內交付高質量的軟件——但是沒人知道這個祕密武器。滿足客戶是容易的,但是建造一個客戶羣體是困難的。


  然而那個風險投資商看到了對Zope系統開放源碼可以爲Digital Creations的真正財富——它的技術員工產生巨大的廣告效應。他期望使用Zope的客戶會認爲僱用象Digital Creations這樣的專家會比自己開發自己的Zope技術更加高效。


  Zope的一個負責人曾經非常公開的確認了他們的開放源代碼策略“開啓了許多其它方式無法開啓的門”。潛在的客戶確實反應了這種情況——所以Digital Creations公司迅速發展起來。


  另一個很近的例子是e-smith公司<http://www.e-smith.net>。這個公司出售定製的開放源代碼的Linux的Internet安全服務器。他們的一個負責人描述了e-smith迅速擴展的免費下載服務,他說“大多數公司都要考慮軟件盜版問題,而我們把它看作一個自由市場。” <http://www.globetechnology.com/gam/News/19990625/BAND.html>


  9.4 附加產品


  在這種模式中,我們出售開放源代碼的附加產品。在低端市場,出 售杯子和T恤衫;在高端市場上,出售專門編輯並出版的文檔和書籍。


  O'Reilly集團是一個附加產品公司的很好的例子,他出版了很多優秀的開放源代碼軟件的參考資料。O'Reilly實際上僱用和支持了一些著名的開放源代碼黑客(例如Larry Wall和Brain Behlendorf),並以次提高它在市場上的聲望。


  9.5 未來免費,出售現在


  在這種模式下,我們以封閉的許可證發佈軟件的可執行文件和源代碼,但是包含一個有關封閉條款的期限。比如,我們可以寫一個許可證,允許免費的散發軟件,禁止不付報酬的商業應用,並保證發佈一年以後或開發商終止開發後軟件將在GPL保護之下。


  在這種模式下,客戶可以保證產品能夠根據他們的需要定製,因爲他們可以得到源代碼。產品的將來也是得到保證的——許可證保證瞭如果始創公司失敗後,開放源代碼社區仍能夠接管該產品。


  因爲銷售價格和數量是依賴於客戶對產品的期望值,始創公司可以享受到比以封閉源代碼許可證發行的軟件更優厚的收入。而且,因爲老的代碼是在GPL保護下的,所以它可以得到同行認真的檢查、排錯和添加其他小功能,這樣可以爲原創者減輕75%的維護負擔。


  這種模式被Aladdin公司成功的採用了,它創造了流行的Ghostscript程序(一個PostScript解釋器,它可以把PostScript翻譯成許多打印機的內部語言)。


  這種模式的主要缺點是那些封閉的條款傾向於抑制產品開發早期的同行檢查和參與,而那時是最需要的大家的參與的時候。


  9.6 軟件免費,銷售品牌


  這還是一個試探性的商業模式。我們開放一項軟件技術,保留測試包或一套兼容性標準,然後賣給用戶一個品牌認證,保證他們對這種技術的實現和其他具有這種品牌的產品相互兼容。


  (這是Sun公司應該對待Java和Jini的方式。)


  9.7 軟件免費,銷售內容


  這時另一種試探性的商業模式。想象一些象股票信息訂閱的服務。價值既不在客戶端軟件也不再服務器商,而在於提供客觀的的可靠的信息。因此我們開放所有的軟件,出售內容訂閱。當黑客們把客戶端移植到新的平臺上或者以不同方式擴展它時,我們的市場自動擴展了。


  (這是爲什麼AOL應該開放它的客戶端軟件。)

 

10. 何時開放,何時封閉


  在考察了支持開放源代碼軟件開發的幾種商業模型之後,我們可以來討論一下何時開放源代碼、何時封閉源代碼纔有經濟意義這樣的一般性問題了。首先,我們必須弄清楚每種策略如何盈利。


10.1 靠什麼盈利?


  封閉源代碼的方式讓你可以從祕密的比特中收取利潤;另一方面,它阻止了其他同行對代碼進行檢驗的可能性。開放源代碼方式爲其他同行檢驗創造了條件,而且你也不能從祕密的比特中獲得利潤。


  從祕密的比特中盈利很好理解;傳統的軟件商業模型就是圍繞着它建立的。但是直到近來,其他同行檢驗代碼的價值還未被很好的理解。然而,Linux操作系統使得我們對問題的認識更加清晰,這些認識我們本應在幾年前從Internet核心軟件和其他軟件工程分支的發展歷史中就應該學到——開放源代碼的同行檢驗是得到高可靠性和高質量的軟件的唯一可伸縮的方法。


  因此,在一個競爭的市場上,尋找高可靠性和高質量軟件的客戶會給那些開放源代碼軟件開發人員以回報,是他們探索出怎樣在服務、附加值和與軟件相關的輔助市場中維持一個穩定的收支循環。這種現象正是Linux令人驚訝的成功背後的原因,Linux在1996年的一片空白發展到1998年末的商業服務器市場的17%,而且似乎會在兩年之內佔領這個市場(1999年初,IDC 預測Linux將在2003年成長的比所有其它操作系統的總和還要快)。


  開放源代碼的一個幾乎同樣重要的作用是作爲一種傳播開放標準,圍繞它建立市場的手段作用。Internet的戲劇性增長得益於沒人擁有TCP/IP;沒人有權封鎖Internet的核心協議。


  TCP/IP和Linux成功的所造就的互連網絡對世界的影響是顯而易見的,開放的系統最終減少了信任和平等的問題——如果大家都能夠看到底層結構是怎樣工作的話,他們就會理所當然的更加信任它;人們更加喜歡一個所有人都是平等的底層結構,而不是一個某一方具有獲利的特權並可以施加控制的底層結構。


  然而,其實爲了向軟件用戶說明平等的重要性時,我們不必非要強調網絡的影響力。沒有哪個軟件用戶在質量和功能類似的開放源代碼軟件存在的條件下放棄開放源碼軟件,而去選擇封閉源代碼軟件,非要讓自己被某個供應商壟斷控制才高興。軟件對消費者的事務越重要,這個問題就越突出——它越重要,消費者就越不能容忍自己被另外一方控制。


  最後,和信任問題相關的開放源代碼的重要優勢就是它的光明前景。如果源代碼是開放的,即使發行者垮掉了,客戶還是能掌握一些資源。這對於糖霜策略尤其重要,因爲硬件趨向於較短的生命週期,但是作用更加普遍,並轉換成開放源代碼的增長價值。


  10.2 它們怎樣相互作用?


  當從祕密比特得到的回報比從開放源碼高的時候,從經濟意義上說應該封閉源代碼。當從開放源代碼得到的收益比從祕密比特高的時候,那麼無疑開放源代碼更有意義。


  從表面上看,這是一個很普通的想法。但是當我們注意到開放源代碼的回報比祕密比特更加難以度量和預計時,就是說回報常常被低估而不是被高估,這一點就不那麼平淡無奇了。實際上,直到1998年初業界主流開始重新考慮遵從Mozilla發行源代碼的前提時,開放源代碼的回報一直被普遍錯誤的認爲是零。


  那麼我們怎樣評價開放源代碼的回報呢?一般的說這是一個困難的問題,但是我們可以象處理其他任何一個預言性問題一樣來處理它。我們可以從觀察開放源代碼成功和失敗的案例開始。試着抽象出一個模型,至少給出一個定性的感覺,在什麼情況下開放源代碼對投資者或追求最大回報的商業操能產生淨收益。然後我們再用數據來細化這個模型。


  從《大教堂和市集》一文的分析中,我們可以得到開放源代碼在(a) 可靠性/穩定性/可擴展性至關重要時,和(b) 設計和實現的正確性除了採用其他同行檢驗的辦法外難以驗證時具有高的投資回報。 (在實踐中多數重要程序都符合第二個標準。


  當軟件對一個消費者至關重要時,消費者爲避免被一個壟斷的供應商所控制的願望提升了他對開放源代碼的興趣(也因此提升了開放源代碼廠商的市場競爭力)。因此,另一個標準(c)當軟件是一項非常重要的資產時(例如,很多企業中的MIS部門),封閉源碼會把用戶推向開放源代碼一方。


  在應用程序領域,我們看到開放源代碼底層軟件創造了信任和平等的結果,隨着時間的推移,一定會吸引到更多的客戶,從而勝過封閉源代碼底層軟件;在這個迅速擴張的市場上佔有較小的份額常常比在封閉的和遲緩的市場上佔有較大份額還要好。因此,對於基礎結構軟件,開放源代碼的方式比利用知識產權得到收益的封閉源代碼方式會得到更高的長期回報。


  實際上,潛在用戶根據發行商的策略推知它的將來發展能力,同時他們有不願接受一個壟斷供貨商的本能,因爲這將意味着要處處受到約束;除非已經有了一個壓倒性的市場力量,否則你可以選擇一個開放源代碼的方式也可以選擇一個從封閉代碼直接受益的方式——但是不可能同時選擇二者。(在別的地方可以看到類似的情況,舉例來說,在電子市場上用戶常常拒絕購買單獨貨源的設計。)這種情況的消極性可以消除一些:在網絡佔支配地位的地方,開放源代碼似乎是正確的選擇。


  我們可以總結一下這種邏輯:在(d) 創建一個公共計算和通訊的底層結構時,開放源代碼軟件似乎可以比封閉源代碼軟件成功的獲得更大的回報。


  最後,我們注意到,相對於核心算法和基礎知識已被很好理解的服務提供商,提供唯一或獨特服務的商家更加擔心競爭對手會模仿他們的方法。因此,在(e) 核心方法(或功能)是公有知識一部分時,開放源代碼更加可能取勝。


  實現了Internet核心軟件,Apache, 和ANSI標準的Unix API的Linux系統是上面分析的五個標準的典型樣板。在十五年建造自己的封閉協議(如DECNET,XNS,IPX等等)帝國的嘗試失敗之後,90年代中期數據網絡重又向TCP/IP集中,這生動的印證了這種市場向開放源代碼演化的道路。


  另一方面,開放源代碼對擁有自己獨特的創造價值的軟件資產的公司沒有太多意義(強烈滿足條件(e)),下面這些情況也不太適用與開放源碼,比如軟件(a) 對失效相對不敏感,(b) 可以用同行檢驗以外的方式來驗證,不是(c) 關鍵事務的,並且不是主要從(d) 網絡作用或普遍使用上獲得價值的。


  作爲一個極端的例子,1999年初由一家公司問我“我們是否應該開放源代碼?”,這家公司爲鋸木機編寫計算切割模式的軟件,可以從原木中獲得最大的板材。我的結論是“不”。他們唯一接近滿足的條件是(c);但是在緊要關頭一個熟練的操作員可以手工的決定切割模式。


  值得指出的是,滿足這些條件的特定產品或技術會隨時間發生變化,從下文的案例中我們會看到這一點。


  總而言之,下面的條件宜於採用開放源代碼模式:

   (a) 可靠性/穩定性/可擴充性非常關鍵時
   (b) 設計和實現的正確性不能很容易的用其他同行檢驗以外的方法驗證時
   (c) 軟件對用戶控制他/她的事務非常關鍵時
   (d) 軟件用來創建一個公共計算和通訊基礎結構時
   (e) 關鍵方法(或等價功能)是公共工程知識的一部分時


  10.3 Doom: 一個案例


  id 軟件公司賣得最火的遊戲Doom的歷史展示了市場壓力和產品演化怎樣改變了封閉源代碼軟件相對於開放源代碼的收益數量。


  當Doom在1993年末第一次發佈時,它的主觀視角,實時動畫是極爲獨特的(條件(e)的對立面)。不僅因爲它那令人叫絕的視覺效果,而且在很長一段時間內沒人知道他們是怎樣在低級的處理器上實現這些效果。這些祕密的比特可以獲得非常重要的收益。而且,開放源代碼的潛在收益很低。作爲一個單獨的遊戲,這個軟件(a) 它的故障的代價很小,(b) 不是非常難於驗證,(c) 對任何一個用戶來說都不是至關重要的,(d) 並不得益於網絡。所以Doom成爲封閉源代碼在經濟上是很合理的。


  然而,Doom周圍的市場不是靜止的。競爭對手發明了它的動畫技術的等價功能,其他的“主觀射擊”遊戲比如毀滅公爵(Duke Nukem)等開始出現。當這些遊戲侵蝕Doom的市場份額時,祕密比特的收益開始下降。


  另一方面,擴展市場份額的努力帶來了新的技術挑戰——更好的可靠性,更多的遊戲特色,更大的用戶羣,和跨平臺。隨着"deathmatch" 的多人遊戲模式和Doom遊戲服務的出現,市場開始顯示出對網絡的依賴。所有這些需求都要求id公司在下面版本的遊戲中花費更多的精力。


  所有這些趨勢都提升了開放源代碼的回報。在某一點回報曲線交叉,開放源代碼成爲id公司在經濟上合理的選擇,他們可以從諸如遊戲擴展選集等第二市場上獲益。在這一點之後的某個時間,事情確實發生了。 1997年末Doom的完整源代碼被公開發行。


  10.4. 知曉何時放手


  Doom是一個有趣的案例,因爲它既不是一個操作系統也不是一個通訊/網絡軟件;因此這遠離了開放源代碼的通常的明顯的例子。確實,Doom的生命週期,包括交叉點,可以作爲今天的代碼生態中應用軟件的典型——在這個生態環境中,通訊和分佈計算軟件要求較高健壯性/可靠性/可擴充性、只能通過同行檢驗來驗證,並且常常超越技術環境和競爭者之間的界限(包含信任和平等)。


  Doom從一個單機遊戲演化到deathmatch模式。網絡計算越來越重要。同樣的趨勢可以從最重要的商業應用程序,如ERP系統看到。商務網絡把供應商和客戶更加緊密的聯繫在一起——當然,它們包含在整個萬維網的體系結構之中。這種情況到處可見,開放源代碼的回報穩步增加。


  如果當前的趨勢繼續下去的話,下個世紀軟件技術和產品管理的核心挑戰將是知曉應該何時放手——何時把封閉源代碼轉變爲開放源代碼體系結構,從而得到同行檢驗的好處,並從服務和其他第二市場上得到更高的回報。


  大家很明顯都不想在任何一個方向上離交叉點太遠。除了這個,等待太長時間面臨着嚴重的風險——你可能會被一個走向開放源代碼的同一市場上的競爭對手鏟平。


  這個問題之所以嚴重的原因是,可以被吸引到某類產品的開放源代碼合作者的用戶羣和專家羣是有限的,而且這些人很難於轉移。如果兩個功能基本相同的競爭代碼一先一後開放源代碼,那麼先開放的更加可能吸引更多數的用戶和更多數的最激情的合作開發人員;後開放的則不得不吃剩飯。吸引來的人員難以轉移,因爲用戶對軟件已經熟悉,而開發人員已經在代碼上投資了很多的時間。

 

11. 開放原代碼的商業運作


  在開放式原代碼的社區中,通常是以一種傾向於增強開放式原代碼生產效益的方式來組織其自身的商業活動的。尤其在LINUX的世界裏,存在着一個具有重要經濟意義的事實,那就是存在有許多相互競爭的發行商,而他們形成了一個與開發團體相分離的、獨立的層次。


  開發人員寫原代碼,並且使得這些原代碼在互連網上是可以被下載的。每個發行商都從這些可下載的原代碼中選取一些,並將它們進行綜合,包裝,並且註冊商標,最後將其買給顧客。用戶可以選擇發行商的產品,也可以通過直接從開發商的網站下載原代碼而增補其自己已安裝的發行版。


  這一分化出來由發行商形成的層的作用是爲創造了一個非常易於改變、可對產品不斷完善的內在市場。開發人員爲了吸引更多的發行商和顧客的注意力,在他們軟件的質量上彼此競爭。而發行商則爲了從用戶那裏賺得更多的錢,互相在他們選擇原代碼的策略以及他們給軟件帶來的附加價值上競爭。


  內在市場結構中的第一特徵就是網絡中沒有什麼原代碼是不可缺少的。開發商可能倒閉,即使他們的那部分底層代碼沒有直接被其他開發者所用,爲吸引更多注意力而導致的競爭將傾向於儘快產生一個在功能上可替代的產品。發行商可能在沒有破壞或修改開放原代碼的情況下就破產了。整個開放式原代碼的商業系統作爲一個整體,與任何一個獨立的封閉原代碼的操作系統的發行商相比較而言,對市場需求有着更快的反應,並且在抑制巨大的波動及自我創新方面有着更強的能力。


  開放源碼另一個重要的特徵就是通過分工降低成本,提高了效率。開發商不願經受傳統的封閉原代碼項目中那種例行公事般的壓力,而是象這樣來工作:沒有來自市場方面的那些不得要領、分散注意力的表單;沒有要求他們使用不適合的而且已過時的語言或開發環境的強制命令;沒有打着突出產品的特性和保護知識產權的幌子要求用一種新的,不兼容的方式重新設計“輪胎”的命令;而且最重要的是沒有項目完成最後期限的約束。這樣,公司就不會在產品還沒有做好以前,就匆匆忙忙地推出一個1.0版本,正如DEMARCO和LISTER在從對"做完了再喊我"管理模式的討論中所作出的評論(見《開發隊伍與產品》一文)那樣,這種模式通常不僅會有益於質量的提高,而且實際上有助於一項真正的研究成果以最快的速度進行傳播。


  另一方面,發行商們可以專門從事他們能高效完成的事情。這樣,他們就可以集中精力在系統的綜和一體化,包裝,質量保證及服務方面,而不用去考慮所需要的大量的資金問題以及使正在進行的軟件開發保持其競爭力的問題。


  通過作爲開放式原代碼商業模式中不可缺少的一部分,即來自於用戶的不斷的信息反饋和監督,無論是發行商還是開發商都會比較誠實一些。

 

12.成功的複製


  公用的悲劇也許並不在於他們對現如今存在的開放式原代碼商業模式發展的適應性,但這並不意味着不存在任何理由去懷疑開放式原代碼社區內目前的狀況是否能持續下去。主要的參與者是否會隨着風險的進一步增大而背叛共同的合作?


  這一問題可以從幾種不同的層次來提出。我們的那個與"成功的公用"相反的故事是基於這樣一種論斷的,那就是個人對開放式原代碼的貢獻價值很難以量化的方式來衡量。但是這一論斷對於像LINUX的發行商那些已經擁有一部分與開放式原代碼相連繫的收入的公司來說,就沒有太大的影響力了。而且,他們每天的貢獻價值已經量化了。但是,現在這種合作角色穩固嗎?


  對這一問題的研究將導致我們對一些問題有趣的思考,譬如現如今真實世界中開放式原代碼軟件的經濟狀況,以及什麼纔是未來軟件業中真正的軟件服務行業中的典範。


  從實際的角度來講,適用於現存的開放式原代碼社區的這一問題通常可以用兩種不同的方式來提出。一種LINUX將分裂嗎?另一種是與第一個相反的,LINUX將發展成爲一個處於支配地位,類似於壟斷性的產品?


  當暗示LINUX將分裂時,我們不能不聯想到20世紀80年代UNIX版本分裂的歷史,許多人又重新開始思考歷史是否回重演。儘管無休止的有關開放標準的討論,儘管有許許多多的聯盟,協作和合同,UNIX的所有權歸屬還是分裂了。事實證明賣方通過增加或改變操作系統設備從而使他們的產品與衆不同的願望比他們通過維持其兼容性,不斷的減少獨立軟件開發商的進入障礙,以及降低維持與顧客的固定業務關係的總成本,來增大UNIX的整個市場份額的興趣要更強烈。


  但是上述情況不大可能發生在LINUX身上,這是基於一個很簡單的原因,那就是LINUX的所有開發商都被限制基於開放原碼這樣的根基來進行開發和其他運作。而且事實上,對於他們其中的任何一個發行商來說都不太可能保持他們產品的與衆不同,因爲使得LINUX的原代碼得以高效發展的許可證條款要求他們與所有的發行商一起分享原代碼。任何一個發行商只要一開發出新的特性,他們有的競爭對手都可以免費克隆它。


  因爲所有的發行商都深知這一點,所以甚至沒有人想過要實施一個陰謀,一個和導致UNIX標準分裂的策略類似的計劃。相反,LINUX的發行商被迫以一種實際上對顧客和整個市場有利的方式進行競爭。那就是,他們必須在服務、技術支持、以及實際上能使得安裝和使用都比較方便的設計方面進行競爭。


  共同的開放的原代碼還去除了壟斷的可能性。當LINUX社區內的人們擔心這一問題時,通常會抱怨一個叫"RED HAT(紅帽子)"的名字,而"RED HAT"是LINUX最大的也是最成功的發行商,它幾乎擁有美國市場上90%的份額。但是還有一個值得引人注目的事情,那就是在被大家期盼已久的RED HAT的6.0版本在1999年5月份宣佈發行後的一段時間裏,通過從RED HAT自己的FTP站點下載光盤鏡像,一個圖書發行商和許多其他光盤軟件發行商就已經開始以比RED HAT更底的價格進行銷售了,而且事實上在這段時間裏RED HAT的CD-ROMS還沒有真正的成批裝船銷售。


  但是,RED HAT自己並未對此事怒不可遏,因爲他們非常清楚的知道他們沒有也不可能擁有他們他們產品中二進制數據中的任一個比特。因爲LINUX社區裏的社會準則不允許他們這樣做。在後來的日子裏出現了JOHN GILMORE的著名的論斷,那就是互連網上的人將對互連網的檢查制度解釋爲對它的破壞和一些例行公事的程序。基於此,對LINUX負責的黑客們則巧妙地將企圖控制原代碼也解釋爲是對它們的破壞和一些例行公事的手續。對於RED HAT來說,他們如果反對對他們的新產品在發行之前進行克隆,這一行爲將嚴重地使他們未來吸引開發商們進行共同合作的能力大打折扣。


  也許就目前來說,以一種與法律相結合的形式來表達LINUX社區準則的軟件許可證制度正積極主動的阻止了RED HAT對他們的基於開放源碼產品的壟斷。他們唯一能賣的就是一個品牌、服務以及與那些自願付給他們錢的用戶之間的技術支持關係。這不會讓壓倒性的壟斷局面出現有太大的的可能性。

 

13. 開放研發和再開發


  投資者向開放源碼世界投資的另一個原因就是要改變他。開發者逐漸感覺到他們可以從他們想幹的事情中獲得報酬,而不是用自己的正式工作的收入來維持他們對開放源碼運動的愛好。象Red Hat, O'Reilly Associates和VA Linux System這樣的公司正在探索通過僱傭並維持穩定且能幹的開放源碼程序員來建立半獨立的研發機構需要多大的投入。


  這種方式只有在公司通過迅速擴大市場所帶來的收入能夠足夠用於支付那種研究實驗室時纔是經濟上可行的。O'Reilly之所以能夠負擔Perl和Apache的主要作者來完成他們的工作是因爲經過努力公司能夠出售和Perl以及Apache相關的書;VA Linux System能夠讓實驗室有足夠的經費來源的原因是隨着Linux的繁榮,他們可以賣掉更多的工作站和服務器;Red Hat可以負擔他的高級研發實驗室也是由於實驗室可以不斷提升公司的Linux產品的價值並吸引更多的用戶。


  在將專利、商業祕密等知識產權看成是企業的掌上明珠的文化的薰陶中,這種思想(開放源碼)對於傳統軟件產業的戰略家來說簡直是無法解釋(儘管自由軟件市場事實上在不斷地擴大)。爲什麼你花錢來做的研究得到的成果卻可以讓你的每個競爭對手都可以無償享用呢?


  看來可以有兩個合理的解釋。一個是隨着這些公司繼續在他們的市場中保持領先位置,他們就可以從開放研發中獲得巨大的市場佔有率所帶來的回報。通過開放研發來換取“明天”的利潤,這似乎有些天方夜談,不過有意思的是要不是真的如此,爲什麼那些公司都毫不遲疑的容忍了自由的存在呢?


  在這個資本家都拼命盯着投資風險評估的世界上,雖然風險投資分析是必要的,但是這並不能很好的解釋明星效應,因爲實際上投資人自己也對投資風險不是很清楚。如果被問及,他們就會告訴你他們做了他們所從屬的團體所認爲是對的的事情。拙筆和前面所提及的三個公司的總裁非常熟悉,因此可以說明我所說的結論絕對不是騙人。實際上我還在1998年末親自在VA Linux Systems公司幹過一段,因此我可以對他們提出一些“正確的”建議,我發現公司對我所做的基本上沒有任何反對。


  經濟學家會問,那麼如何爲這些工作計算報酬呢?如果我們已經接受了前面提到的“做正確的事”的說法不是空洞的做作的話,我們接下來就會想到,“做正確的事”會給公司帶來什麼好處呢?對這個問題的回答既不令人驚訝,也不困難。實際上在其他產業,表面上的大公無私,實際上都是爲了給企業贏得好的名氣。


  爲名氣努力,並將此看成是一種可以在未來的市場中得到回報的無形資產,這已經不是一件新鮮事了。這些公司的行爲顯示他們正在建立信譽,這是一個很高價值的多麼大的利益啊。他們很明確的希望能夠不惜高價請到真正的高人來做項目,並非爲了直接從中贏利,即使是在股票準備上市前資本非常匱乏的階段也是如此。而且至少到現在爲止,這種做法已經開始從市場中獲得回報了。


  這些公司的頭頭們心裏都十分清楚信譽對公司來說是多麼重要。客戶羣中的志願者們不僅幫助他們做研發,也是一種非正式的市場夥伴,這些都是他們的靠山。公司和用戶之間的關係是非常親密的,通常是建立在公司內部或外部相互信任的私人關係之上。


  這些現象增進了我以前從另一個角度所作出的推斷的理解。象Red Hat,VA和O'Reilly這些公司和他們的客戶以及開發人員之間的關係和傳統的製造業完全不同。這是一種非常有意思的特別模式,是一種知識密集型的服務產業。除了技術工業以外,我們還可以從法律界、臨牀醫學界和學院中找到這種模式的影子。


  實際上,我們可以看出開放源碼公司僱傭優秀的黑客和大學聘請知名教授之間有異曲同工之妙。在實現方式上,二者都有些象工業革命前貴族們對高雅藝術的投資方式,一些方面的相似性是顯而易見的。

 

14. 由此及彼


  資金支持(當然也要從中獲利)源碼開放開發的市場機制仍然在迅速的發展之中。本文中所述及的商業模型並不是最終的定論。投資商還在不斷從軟件產業變革的結果中不斷總結經驗,這種新模式面向服務的而不是強調保護知識產權,他們將會在一個適當


  軟件業在思想上的革命將給原來人們僅通過向5%的市場價值投資來贏利的方式帶來好處;傳統意義上服務業不如製造業有利可圖(可是醫生或律師會告訴你,服務業的創業者所獲得的回報更高)。然而,當軟件用戶可以從自由軟件產品中獲得許多好處並可以節省開支的時候,從投資中可以獲得更多的利潤。一個類似的例子是從傳統的語音電話網絡向現在的互連網發展所帶來的巨大影響。


  對於節約開支和更好用的承諾正在創造一個巨大的市場機會,許多企業和風險投資商們開始來開拓這個市場了。在本文的第一份草稿完成的時候,硅谷一家非常著名的風險投資機構開始下了頭注,他們投資了一家提供24*7的Linux技術支持的服務公司,一般預計在1999年年底之前,會有幾家Linux廠商和一些與自由軟件相關的股票上市,他們的融資應該會非常成功。


  另一個很有意思的發展方向是系統性的創造一個自由軟件開發上的外包市場。SourceXchange 公司<http://www.sourcexchange.com/ process.html>和CoSource公司<http://www.cosource.com/>分別代表了兩種稍有區別的將減價拍賣模式應用於開放源碼軟件開發的新嘗試。


  整體的趨勢已經很明顯了。在前面提到的IDC預測中可以看出Linux 會在2003年之前以比其他操作系統都快得多的速度增長。Apache現在佔有60%的市場份額,而且還在不斷增長。互連網的傳播是爆炸式的,象Internet Operating System Counter 給出的調查報告顯示Linux和其他開放源碼系統已經是互連網上主機所採用的主流系統,而且在以比封閉系統更快的速度擴大市場佔有率。不斷開拓互連網領域自由軟件的需要並不只是由編制更多的軟件來決定,更重要的是各個公司的商業行爲和軟件的使用/購買模式使然。這個趨勢現在看來正在不斷加快。

 

15. 結論:自由軟件變革之後


  在向自由軟件形式過渡完成之後,整個軟件產業將會是什麼樣子呢?


  爲了回答這個問題,有必要根據軟件所需要爲用戶提供的服務程度將軟件分分類,服務體現了軟件的開放性,這種劃分又是與軟件所業服務的市場化程度緊密相關的。這個提法的精髓恰好與我們日常所說的三個名詞相似:應用程序(基本沒有商品化的服務,沒有或缺少開放的技術標準)、構件(服務商品化、標準性很強)、中間件(需要一些商品化的服務、有技術標準但是不完善)。當前(1999年)對於上面三種軟件的典型例子就是字處理軟件(應用程序)、TCP/IP協議包(構件)和數據庫引擎(中間件)。


  前面關於分配方式的分析向我們展示了構件、應用程序和中間件三種軟件形式將會以不同的方式向自由軟件體系過渡,以及他們各自體現出的自由軟件與封閉軟件相結合的形式。還需要指出的是,在軟件業的某一領域自由軟件普及程度還要受到那裏的網絡影響力是否很強,軟件企業倒閉所帶來的負面影響程度以及軟件產品在多大程度上還是一種商業上敏感的資本資源等因素的影響。


  如果不侷限於某個特定的領域,從軟件業的整體角度考慮我們可以大膽的作出如下預言:


  象因特網、互連網、操作系統以及其他需要在競爭的軟件各方互相交叉的底層通訊軟件等構件產品會逐漸全部開放,這些軟件將由今天象RedHat這樣贏利的軟件發行商或其他服務機構將會與用戶團體來共同維護。


  另一方面,應用程序類型的軟件會繼續保持封閉的狀態。這種軟件通常是他們未公開的算法使用價值非常高或使用的技術非常先進,促使用戶仍然願意花錢去購買這些封閉源碼的軟件,同時這也意味着這種軟件可靠性要求非常底,並且可能導致行業壟斷的風險還在可以容忍的範圍內。這種現象最有可能出現在網絡影響比較小的垂直性市場領域中。我們以前提到的一個lumber-mill就是這種產品,1999年最亮麗的軟件產品——生物分子結構識別軟件也屬於這一類。


  中間件,象數據庫工具、開發工具或其他用於特定領域的高端應用程序協議軟件包將是一種自由與封閉的融合。這些中間件軟件產品是會逐漸走向封閉還是開放或許將取決於軟件的破產風險,爲打開市場而所需的成本越高的軟件將更需要開放。


  不管怎樣,爲描繪一個完整的藍圖,我們仍然應該看到無論是應用程序還是中間件,這都是一個靜態的劃分。在前文“何時會開放”一節裏面我們已經分析了對於任何一個軟件產品都將要走過一個從理智的封閉到理智的開放這樣一個生命週期,對整個軟件產業來說同樣是這個道理。


  隨着關鍵技術的普及和標準化,隨着商品化的服務在軟件產業中所佔的比重越來越大,應用程序會逐漸轉化爲中間件,比如在將數據庫前端接口和數據庫引擎分開以後,數據庫接口就成爲了一種中間件。當中間件產品所需服務越來越要商品化時,就輪到他們逐漸轉化爲開放源碼的構件了,我們今天看到的操作系統的變革就是這種例子。


  我們可以預料到在未來,隨着自由軟件所帶來的強大競爭力,某個軟件的最終命運將不是走向滅亡就是成爲開放構件系統的一部分。雖然這對於那些打算永遠從封閉軟件中賺取利潤的軟件企業來說的確是個壞消息,但是軟件產業作爲一個整體仍然是一種產業,那時新的高層應用軟件將不斷開放,私有化的智力資源壟斷某個軟件將只有一個有限的生命週期,最終將紛紛轉化爲自由軟件。


  最後,我們要看到這種從封閉到開放的變革還是主要要由軟件產品的用戶來推動才能不斷髮展。越來越多的高質量軟件將被創造出來並得到長期使用,而不是被某些人藏在密室裏得不到發展。這種奇蹟用Ceridwen的魔鍋來比喻還不夠恰當,因爲魔鍋變出來的食品如果不吃就會逐漸腐爛掉,而自由軟件世界中的軟件將是取之不盡的寶藏。在自由軟件中你擁有最自由的自由,無論你是打算提供商業服務還是打算爲他作出貢獻,自由軟件世界將向所有人提供一個不斷積累、取之不竭的寶貴財富。

 

16. 參考文獻和致謝


  [CatB] 大教堂和市集
<http://www.tuxedo.org/~esr/writings/cathedral-bazaar/>


  [HtN] 開拓智域
<http://www.tuxedo.org/~esr/writings/homesteading/>


  [DL] De Marco and Lister, Peopleware 合著的 Productive Projects and Teams (New York; Dorset House, 1987; ISBN 0-932633-05-6)


  [SH] Shawn Hargreaves 寫過的一篇關於如何將開放源碼和遊戲製作相結合的佳作 Playing the Open Source Game
<http://www.talula.demon.co.uk/games.html>.


  在完成本文的過程中,通過與David D. Friendman的幾次激烈討論幫我進一步提煉了介紹如何加強開放源碼團體合作的“翻身的平民”一 章。感謝Marshall van Alstyne爲我指出了“熱門信息產品”的確切含義,我欠了他一個人情。Indiana組織的Ray Ontko給了我許多有益的批評。還有許許多多在我今年6月發表演講時的熱心聽衆也給了我很多幫助,如果你是聽衆中的一員,你就會明白我指的是誰。


  在我公佈這篇文章以後,我還通過電子郵件收到了許多關於自由軟件發展模式的材料,這些材料不斷充實了這篇文章的內容。Lloyd Wood指出了“將來獲益”自由軟件發展模式的重要性;Doug Dante提醒我注意“未來免費”這種商業模式;Lionel Oliviera Gresse幫我給一個商業運作模式起了一個更好聽的名字;Stephen Turnbull對於無視自由騎士現象給了我當頭一棒。

 

17.附錄:爲何封閉驅動程序源碼的硬件廠商會浪費投資商的金錢


  外圍設備開發商,象網卡、硬盤驅動器或顯卡的製造商,他們的傳統作法就是將驅動程序的源代碼封閉起來。但是這種現象現在已經有所改變,比如Adaptec公司和Cyclades公司已經習慣於將他們的各種板卡的驅動程序源代碼和相應文檔公開化。不過要想讓開放源代碼成爲一種普遍的作法還是有不少困難的。在本附錄中我們就是打算澄清在商業領域中仍然維持封閉源代碼體系的一些錯誤觀念。


  假定你是一個硬件製造商,你也許會擔心將驅動程序代碼的開放會泄露你硬件如何工作的許多重要祕密,從而讓你的競爭對手可以通過分析你的源代碼來給你造成一種不公平的競爭環境。這種想法在三、五年纔會將產品更新換代的時代裏也許還站得住腳;但是今天即使將源代碼開放,你的競爭對手也將不得不花費佔整個產品更新週期的一大部分來琢磨你已經公開了的代碼,因爲現在產品更新的週期大大的縮短了,你的競爭對手將沒有足夠的時間來好好思考和革新他們自己的產品。所以說他們去研究你開放的源代碼的時刻實際上已經鑽進了你的圈套。


  不管怎樣,在今天代碼中的祕密不會被隱藏很久了。硬件驅動程序並不象操作系統或應用程序那麼複雜,他們一般都很小,很容易被反編譯和模仿,這種活連一個十幾歲的電腦初學者也可以搞定,而且實際上常常也被這些人搞定。可以毫不誇張的說,世界上現有數以千計的爲Linux或FreeBSD工作的有激情的優秀程序員,他們願意爲任何一種新的板卡編寫驅動程序。由於許多種類的硬件設備有着相對簡單和標準化的接口規範,比如常見的磁盤控制器或網卡,熱情澎湃的黑客們即使在沒有文檔也不需要反編譯已有的驅動程序的條件下就可以迅速的寫出正確的驅動程序來,而且常常比原生產廠家還要來得快。


  即使遇到象顯卡這樣的複雜設備,也難不倒用反編譯工具武裝起來的牛人。這種工作即不需要花費很大的精力,也很難說是否違法,而且在全球程序員的共同努力下,已經可以對Linux做任何在法律上合法反向工程了。從Metalab網站查一查Linux核心和設備驅動程序庫所能支持的硬件類型列表,你就會立刻明白前面所言非虛,Metalab的網址是:<http://metalab.unc.edu/pub/Linux/hardware/!INDEX.html>。訪問該網站時你還可以留意一下新的驅動程序正在以何等迅速的速度不斷涌現。


  保守你驅動程序中的祕密從短期效應上來說還是有誘惑力的,但是從長期戰略的角度來看則不可取,特別是當你的競爭對手都已經將源碼開放的時候。如果你非要固執的封閉你的源代碼,那就只能將那些代碼燒到電路板上的ROM中,而只對外公開訪問接口了。所以趕緊開放你的源代碼吧,迅速擴大市場,你要相信自己有能力通過自身的不斷思考和創新來吸引更多的本來屬於你的競爭對手的潛在用戶羣。


  堅持走封閉的路線是一條死衚衕,你的祕密將不可避免的被逐步暴露,你將無法得到自由程序員的幫助,也沒有什麼愚蠢的競爭對手會去花時間模仿你的設計。更重要的是你如果及早採納開放的思想本來可以獲得更廣闊的發展空間,但是你卻遺憾的錯過了。由於你的設備太保守、缺少資料和固步自封,並且不能認識到你自己的錯誤,因此互連網上大部分的網絡管理員和超過17%的商業數據中心所形成的巨大市場將把你的硬件設備從他們的採購清單中刪除,而把目光轉向其他開放的硬件廠商中去。

 

18. 本文檔修訂記錄


  你現在看到的是本文檔的1.14版


  在下面的列表中,一些微小的修訂和印刷版就不再列出了。


  1999年5月20日,1.1版 -- 草稿

  1999年6月18日,1.2版 -- 第一用於私下交流的版本

  1999年6月24日,1.5版 -- 對外公佈的第一個版本

  1999年6月24日,1.6版 -- 作了一些小改動,給出了'hacker'的定義。

  1999年6月24日,1.7版 -- 澄清了一些標準

  1999年6月24日,1.9版 -- 增加了關於“將來獲益”、“未來免費”發展模式的討論和關於封閉的代價的章節

  1999年6月24日,1.10版 -- 給“刀片”模式取了一個更好的標題

  1999年6月25日,1.13版 -- 更正了關於Netscape公司13%收入的問題,增加了關於自由騎士的分析,更正了封閉網絡協議的列表。

  1999年6月25日,1.14版 -- 增加了e-smith公司的例子

  1999年7月9日,1.15版 -- 更新了關於硬件驅動附錄的內容,並在Rich Morin的幫助下給了“熱門貨”一個更好的解釋。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章