MagicCauldron
From Newzilla Wiki
原文出處:Cathedral Bazaar
Eric Raymond (1999年六月)
[AKA]rover HansB iasc 等翻譯
audrey 轉為繁體並校訂
b6s 重新排版為 mediawiki 格式並校訂
本文分析了正在不斷發展的開放源碼現象的經濟基礎。我們首先推翻了一些流行的關於軟體開發中投資和軟體價格結構的神話,給出了一個關於開放源碼協作穩定性的遊戲規則分析。我們給出了九種開放源碼開發的可發展模型,其中兩種是不盈利的,七種是盈利的。接著我們發展了一種定性的理論,說明什麼時候封閉源碼在經濟上是合理的。然後我們考察了當前市場上發明的幾種新穎的開放源碼開發的盈利方法學,包括贊助系統和任務市場的引入。我們最後做出了結論,試著對將來做了一些預測。
Contents |
近乎魔法
在威爾士的神話中,Ceridwen 女神有一口巨大的鍋,當女神念動只有她自己知道的咒語時,那口鍋就變出奇妙的食物。在現代科學中,Buckminster Fuller 提出了一種“短暫化”的概念,認為在早期的物理資源投資越來越多的被資訊內容所代替的情況下,技術會變得越來越有效和廉價。Arthur C. Clarke指出“任何足夠高級的技術都與魔法別無二致”,從而把二者聯系起來。對很多人來說,開放源碼社區的成功看來就像難以置信的魔法。高質量的軟體變得免費,在充滿競爭而且資源稀缺的現實世界,這似乎不能繼續下去,但是它進行的還不錯。要點在哪?Ceridwen的大鍋只是一個小詭計嗎?如果不是,在這種情況下,“短暫化”是怎麼工作的──女神究竟念動了什麼咒語?
超越高手的天賦
開放源碼文化的經驗肯定使許多學習過軟體開發的人們感到困惑。“大教堂和市集”一文描述了分散協作軟體開發是怎樣有效的推翻了Brooks定律,產生了使一個獨立的工程具有空前可靠性和質量的開發方式。“開拓智域”一文揭示了市集模式開發風格中的社會動力學,這應該用人類學家所謂的“贈與文化”的術語而不是常規的交換經濟術語來理解,在這種文化中,成員在做出貢獻大小方面競爭。本文中我們將開始推翻一些流行的關於軟體生產經濟學的神話;然後對“大教堂和市集”和“開拓智域”兩篇文章進行經濟學、搏弈論和商業模型領域的分析,發展一種新的概念工具,來理解開放源碼開發者的贈與文化在交換經濟裡也可以繼續下去的理由。
先不岔開話題,沿著上面的線索分析,我們需要拋棄(至少要暫時忽略)在"贈予文化"層次上的分析。“開拓智域”中贈予文化的存在是基於生存所需要的物質數據極大的豐富,以至於社會交換已經不很重要的環境裡;這種分析雖然在純粹的精神世界中非常有說服力,但針對現實生活中大多數開放源碼開發者實際所處的綜合經濟環境來說,這種解釋則顯得有些無力。對許多人來說,社會交換仍然是他們努力工作的驅動力,但是已經漸漸失去了吸引力。必須在資源匱乏的經濟學中為他們的行為找到足夠的理由,才能使這些行為在物質數據豐富的贈予文化中得以立足。
因此,我們現在將(從整個資源匱乏經濟學領域)思考維持開放源碼開發的協作和交換模式。在分析的過程中,通過深入剖析和列舉實例,我們同時也就回答了那個非常實際的問題:“我如何通過開放源碼來賺錢?”。不過,這個問題是根據與軟體開發本質相悖的普遍軟體開發經濟模型而提出的,首先我們需要展示一下隱藏在這個問題之後的許多思維誤區。
(在展開分析之前還有最後一個需要說明的是:本文中對開放源碼開發模式的討論和提倡,不能被理解為對封閉源碼模式的徹底否定,也沒有反對現有的軟體知識產權體系,更不是對"共享"的無私呼籲。雖然開發源碼開發團體中的一些人仍然熱衷於這些討論,但從“大教堂和市集”發表以來,經驗已經清楚的表明這些爭論沒有必要的。重要的是開放源碼的開發模式和經濟效益能夠製造出質量更好、可靠性更高、成本更低、可以選擇的方案更多的好產品來。)
製造業的錯覺
我們需要注意的是電腦程式和其它類型的工具和資本貨物一樣,都有兩種經濟價值:使用價值和銷售價值.
程式的使用價值就是它作為工具的經濟價值;銷售價值是它作為作為商品的價值.(用經濟學的專業說法,銷售價值是產品最終價值,使用價值是產品中間價值)
當大多數人說到軟體產業時,總是按照擁有下列特性的"工廠模式"經濟來分析:
1.大多數開發者的勞動由銷售價值的收入來支付
2.軟體的銷售價值與開發成本(例如,功能複製所需的資源花費)和使用價值成一定比例.
換句話說,人們有很強的思維慣性去假定軟體具有標准工業品的特性。但是這兩個假設都錯了。
首先,編寫用於出售的源碼只是編程行業的冰山一角.在微機世界前期,大家普遍認為世界上90%的源碼在銀行和保險公司內部編寫.這雖然已經不再是事實 --現在其它行業也越來越加大了軟體開發的力度,金融行業所占的比例從而下降--但是短期內我們仍將會看到大約95%的源碼是公司內部編寫.
這些源碼包括大多數為中等或大規模公司所定製的MIS,金融和數據庫軟體.包括像設備驅動這樣的專業技術源碼(幾乎沒有人靠賣設備驅動賺錢,這一點我們將會在後面討論);包括日益增長的數控機器的各種嵌入式源碼--從機械工具和噴氣客機、汽車、微波爐甚至烤面包爐.
大多數這種內部源碼與其環境集成在一起,複製和再利用十分困難(不論環境是商業辦公室的程式套件還是聯合收割機的加油系統)。因而一旦環境變化,需要做許多工作使軟體與之同步.
這種工作稱為"維護".任何軟體工程師或系統分析員都會告訴你這就是程式員的大部分工資的來源(超過75%).因此,大多數程式員工時花費在編寫和維護更本不能賣的內部源碼上(當然大多數程式員以此為生)--讀者們也許樂意去查查報紙上的"誠聘資訊"部分的編程工作列表檢驗一下.
我強烈的希望讀者試試瀏覽本地報紙的招聘資訊,看看編程.數據處理,和包含軟體開發工作的軟體工程項目等等.將這些工作按照其目的是使用還是銷售進行分類,你將深受啟發.
很明顯,即使為"銷售"定義了最大範圍,20人中還是至少有19個由使用價值資助(作為產品中間價值).這就是為什麼我們認為軟體工業中以銷售價值驅動的部分只占5%原因.注意,本文中其它部分的分析並非完全倚賴於這個數;即使這個數字達到15%甚至20%,在經濟上的推論結果仍然八九不離十.
(當我在技術討論會上演講時,我經常由討論兩個問題開始:聽眾為寫軟體付多少錢,和有多少薪水是依賴於軟體的銷售價值的.第一個問題應者甚眾,而第二個問題則寥寥無幾,大而且量的聽眾對這個問題十分詫異)
其次,經過對實際客戶行為的調查,軟體銷售價值與其開發和升級成本相關的理論很容易被推翻.開發和升級成本相關的商品(對打折之前來說)占很大比例- -食品,汽車,機械工具,甚至有許多無形的產品--例如,音樂、地圖或數據庫數據的複製權.這產品在生產者倒閉後仍然能保持甚至增加其銷售價值.
與上述形成鮮明對比的是.當一個軟體產品生產者歇業時(或者如果產品開發被終止),幾乎沒有客戶願意為其花錢,而不管它理論上的使用價值或同樣功能產品的開發費用有多高.(要檢驗這個說法,去你附近的軟體商店打折櫃台看看吧:-))
在生產者失敗時,零售商的行為很有啟示.他們知道一些生產者不知道的東東.他們深知:客戶願意花費的價格在很大程度上由賣主未來可以提供的服務決定.(這裡的'服務'被廣義的理解為完善,升級和後續產品).
換句話說,軟體主要是一個穩定的服務性行業,認為它是製造性行業是沒有理由的錯覺.
另外,檢查一下我們為什麼會有這些慣性思維也很有益處.牠們也許來自於軟體生產者大力宣傳的銷售類產品,這些是的軟體業一小部分,也是宣傳的唯一的一部分,大多數明顯和重頭的廣告宣傳的產品是曇花一現的短期產品,就像遊戲,他們幾乎不需要提供後續服務(合同規定的除外)
另外,值得注意的是,製造業錯覺所倡導的價格體系事實上會越過保持開發預算不崩潰的底線.既然(像一般認為地)超過典型軟體產品周期花費的75%在維護,調試和擴展上,那麼通常的那種只採用高額售價,極低相關服務費用的定價策略,只會導致各方面都差的服務.
用戶的損失在於,即使軟體是服務性行業,工廠模式促使生產者減低服務質量.如果生產者靠出賣比特掙錢,大量的努力是製造比特並將牠們推銷出門;幫助服務部分,因為不是利潤的中心,將會成為只付出的一點點努力和資源,為了避免激怒用戶所設的垃圾站.
另一方面是大多數生產者使用這種工廠模式會導致長遠的失敗. 為滿足無限的售後服務和技術支持需要的固定價格產品提供資金,只有在那些膨脹足夠迅速的市場裡 --其過去的銷售和未來的收入能夠滿足支持和生存周期的花費--才能存活.一旦市場成熟和銷量下降,維持生計,大多數生產者除了消減單獨產品的開支之外沒有別的選擇.
不管是直接(廢止產品)還是間接(支持很差),都會把客戶推給競爭對手(因為這些行為損害了依附於服務產品的期望值).短期來看,可以通過將修訂過 bug的版本發布為新產品避免這個陷阱.而長遠來看,避免陷阱的唯一可能是對行業進行有效的市場壟斷.最終,只有唯一的幸存.
事實上,我們一再的看到這種缺乏支持的模式害死一些市場環境中很強大的競爭者,(這種模式對那些那些經歷過電腦發展史幸存下來的人尤其深刻,包括個人操作系統,字處理,通用財務程式或商業軟體).這種不正確的動機來自於工廠模式導致的贏家通吃的態勢,而且最後即使你是贏家的客戶也會遭殃.
如果不是工廠模式,那又是什麼?為了有效的控制軟體生存周期真實的花費體系(同時在經濟學和非正式場合的意義上的"有效"),我們需要一個建立於服務合同,合約,和買賣雙方持續交易基礎上的價格體系.所以,在以效益為目的的自由市場條件下,我們能管窺大多數成熟的軟體工業最終遵循的價格體系.
為什麼說開放源碼軟體的地位日益增長,不僅僅是技術,也是經濟上對主流秩序的挑戰?上述內容給我們一些啟示.軟體開發的"free",會將我們推向以服務支配的世界,同時暴露出一直依賴銷售封閉源碼產品的方式有多脆弱.
"free"的概念很容易被誤解為其它含義。降低產品花費會導致支撐軟體業的整個基礎投入增長,而不是降低。只有汽車的價格降低時,汽車的需求才會上升--這也是為什麼在開放源碼世界中,另外那5%的根據銷售價值付酬的程式員不好受的原因.在free的變革中,有損失的不是程式員而是那些沒看清形勢而將賭注押在封閉源碼策略上的投資者。
「資訊需要免費」的神話
與工廠模式錯覺相呼應的是,思考開放源碼經濟的人們還常常被另外一個神話搞胡塗.那就是"資訊應該免費".這常常以數字資訊產品的複製邊際成本幾乎為零來解釋,這個解釋暗示了其價格似乎就應該為零.
其實你只要考慮一下諸如藏寶圖,瑞士銀行的賬號口令,或電腦服務的確認口令,等等資訊的價值,就很容易看破這個神話.即使這些確認資訊可以不用任何花費的複製,但是被其確認的對像無法複製.也就是說,非零的邊緣成本由被那些確認資訊繼承下來.
提到這個神話的主要目的是聲明它與開放源碼的經濟價值的討論無關;就像我們在後面將會看到的,即使假設軟體是符合製造業產品(非零)價值結構,仍是如此.所以我們沒必要鑽軟體是否應該免費的牛角尖.
駁斥公用悲劇說
質疑主流模式,看看我們是否能建立另一種模式:對是支撐起開放源碼協作的原因作出有力的經濟學解釋.
這個問題需要從兩個不同的方面考查.一個方面是我們要解釋那些為開放源碼作出貢獻的人士的個體行為;另一方面,我們需要理解那種支撐像Linux和Apache這樣的 開放源碼項目的經濟力量.
Hardin的著名寓言告訴我們:設想一個鄉村農夫們擁有一片公用綠地.他們在那裡放牧牲畜.但是放牧使公用性退化,撕裂草皮,留下泥濘,很難恢複. 如果沒有對分配放牧的權利達成協議(或約定)以防止過度放牧;所有牧主都還會贊成盡可能快的增加牲畜數量,以便在公共綠地變成泥潭之前榨取最大的利潤.
大多數人使用像這樣的直覺的合作模式.這事實上並不是對開放源碼--他們是(供不應求的)自由騎士,而不是(被過度使用的)過剩的公共貨物--經濟問題的正確判斷,不過,我在大多數未充分考慮的反對聲後面都聽到過類似的看法.
公共擁有的悲劇預言只會出現三種結果.一種是泥潭;一種是為了村民的利益,強制性的使用某種分配協議(共產主義的解決方案);第三種是公用被打破,村民各築藩籬,保護自己的一小塊草地(私有制的解決方案).
當人們本能的的將這種模式應用於開放源碼合作時,因此預計它只有很不穩定的短暫的半衰期.因為沒有明顯的方法去強制在互聯網上工作的程式員執行工作時間分配策略,這種模式就斷言公用將會打破,結果是出現各種各樣的封閉源碼軟體和反饋給公用的工作量迅速減少.
事實上,經驗清楚的顯示出了與之相反的趨勢.開放源碼開發的廣度和深度(由Matalab和freshmeat.net的每日宣布的數據統計)在穩定增加.很明顯,這些都得出"公用悲劇"模式無法描述事態的發展.
答案的一部分正是建立在軟體使用並不降低其價值的事實基礎之上.實際上,對開放源碼軟體來說,當用戶被其修正和特性(源碼補丁)把握之後,軟體的廣泛使用還會增加其價值.公用悲劇被顛覆了,越放牧,草長得越高.
答案的另一部分是基於很難收取那些為公用源碼基礎所作的小補丁的市場價值.假設我為一個惱人的bug寫了個修正,而且有人認為這個修正值錢;我如何才能從那些人手裡拿到錢?對於這種小額的,通常也是適當的付款,常規的付費體系如此昂貴竟成為真正的問題.
比起價錢不僅僅很難收取,也許如何定價還要難得多.讓我們想一想,假設互聯網上已經擁有理論上完美的小額付費系統--即安全,方便,又不需要更多手續費.而你寫了個補丁叫做"Linux內核的某某修正".你該要價多少?在潛在購買者還沒看到補丁時,他們又該如何判斷值不值得為它付費呢?
我們的問題就像F.A.Hayek的"計算問題"在哈哈鏡中的變形--它就像個超市,即要估價補丁的功能值多少,又要相信定價是合理的以促進交易.
不幸的是,超市方式有一系列的不足,所以補丁的作者--打補丁的黑客有兩種選擇:躺在補丁上收錢,或免費扔出去.第一種選擇將一無所獲.第二種也可能如此,不過或者它會促使其它人提供互惠的給予,以解決上面那位黑客所頭疼的問題.第二種明顯無私的選擇,在這種遊戲情況中,競然事實上是自私的.
在分析這種合作時,自由軟體的開發所面臨的問題會很重要(他們可能會工作在清貧,或沒有足夠的回報的情況下),這並不是由最終用戶的數量決定的.開放源碼項目的複雜性和溝通所帶來的成本幾乎完全和參與的開發者的數量成函數關系;擁有更多的幾乎從不看源碼的最終用戶對此似乎沒有任何益處.這只會增加在項目郵件列表中無聊問題出現頻率,但是建立一個相關的常用問題列表,不理睬那些顯然不讀FAQ的人(事實上這已經是通用做法),可以很容易解決這個問題.
開放源碼軟體的真正最重要的自由軟體開發問題是提交補丁功能時的磨合成本.可能的貢獻者在聲望上小有收獲(見《開拓智域》一文),而沒有金錢上的補償,想著"根本不值得提交這個修訂,因為我不得不打補丁,寫修改記錄,在FSF任務文件上署名...".因為這個原因,擁有大量貢獻者(其次才是成功)的項目很強壯.與之相反的是,每個有許多相互有制約關系的項目都需要有從始到終的貢獻者.這種磨合成本就像政治一樣呆板.總之,自由軟體項目本身可以向你解釋為何松散,無組織的Linux 文化,比緊密組織且集中管理的BSD項目的努力,更能吸引合作能量的意向;以及為何自由軟體基金會,也在Linux崛起時重要性相對的減弱.
這條路不管走多遠都是好的.但是,這只是在黑客寫了補丁並公布了這個補丁後的事後諸葛亮式解釋.我們需要的另一半答案是對為何JRH最初會寫這個補丁,而不是為擁有銷售回報的封閉源碼程式工作.作出經濟解釋.到底什麼商業模式創造了開放源碼開發繁榮發展的環境呢?
封閉源碼的原因
在給開放源碼經營模式分類之前, 我們應該先大致考慮一下封閉的代價.當我們封閉源碼時,我們究竟在保護什麼?
比方說你雇了某人來編寫和組織一個(不妨說)為你的生意專用的結算軟體,那麼和開放源碼比起來,封閉源碼一點也不會有助於解決問題. 如果你想封閉源碼, 唯一合理的理由就是你想把這個軟體賣給別人, 或者不讓你的競爭者使用它.
比較明顯的原因是你在保護銷售價值, 但是對95%的供內部使用的軟體來說這沒意義.那麼封閉還有別的什麼好處嗎?
第二個原因(保持競爭優勢)還有待檢驗. 假如說你把那個結算軟體開放源碼了,它流行起來, 並且從社會上得到了改進. 現在, 你的競爭者也開始使用它了,他沒有花開發費用就得到了好處, 而且影響了你的生意. 這是不是一種反對開放源碼的理由呢?
可能是--也可能不是. 真正的問題在於你從分散開發負擔中得到的好處是否多於由那些不勞而獲的人帶來的競爭損失. 許多人傾向於為這類交易作蒼白的辯解,方法是: (a)避而不談從額外的開發幫助中得到的功能上的改進. (b) 不認為開發費用是降低了, 而是假定你無論如何也是要承擔這些開發費用的, 所以把牠們作為開放源碼(如果你這麼選擇的話)的代價是錯誤的.
還有別的許多封閉源碼的根本就是荒謬的理由. 舉例說, 你可能誤以為封閉源碼可以使你的商用系統更加安全, 不容易被破解或闖入. 如果是這樣, 我建議你立刻找一個口令專家來診斷一下你的系統. 真正的猜疑心很重的人都知道不能相信封閉源碼程式的安全性, 因為這是他們是從慘痛的教訓中學到的.安全性是可靠性的一個方面; 只有那些被徹底檢查過的算法和源碼實現才可能被相信是安全的.
使用價值集資模型
使用價值與銷售價值之間的差別讓我們注意到的一個基本事實是只有銷售價值本身受到了來自從封閉源碼到開放源碼這個轉變的威脅;使用價值並沒有。
如果使用價值,而不是交換價值,的確是軟體發展的根本驅動力;而且開放源碼的發展的確是比源碼封閉要更加有影響力和更加有效率,那麼我們應該期待著去尋找一種環境,在這種環境中光是使用價值已能夠完全地促使 開放源碼向前發展。
實際上,這樣的幾個環境模型並不難以找到。在這樣的模型中,開放源碼的全職開發者的生存完全可以由(開放源碼的)使用價值來實現。
Apache案例:成本分擔
假如你在為一個擁有高效性高可靠性網絡伺服器的商業公司服務。也許這個伺服器是用來為電子商務服務的,也許是作為一個出售廣告的高可視性的媒體輸出裝置,也許只是用來構建一個門戶站點。你需要一天7小時的在線時間,你需要速度,還有規範性。
那麼你該如何做呢?這裡有些基本的策略可以供你參考:
購買一個私有的網絡伺服器,這樣,你是在冒險相信賣方的宣傳與你的需求是一致的,你在冒險相信賣方的技術競爭力能給提供完善的保障。即使假設這兩個方面是有保障的,網絡伺服器本身也會由於缺乏規範的服務而出現問題。你只能通過賣方的經過挑選提供的幾種工具來維護的你的伺服器。這種購買私有的伺服器的路子並非一個很大眾化的方法!
自己做一個!做一個自己的網絡伺服器在目前還是不可忽略的一種調劑辦法;網絡伺服器並不太複雜,當然比瀏覽器要簡單。一個專門用途的網絡伺服器可以做得功能專一但很好用。走這條路的話,你能得到你所需要的各種特性和自己的規範,盡管在其升級的過程中你要付出很多。或許你的公司在你離開或退休後,還會發現這個伺服器有了這樣或那樣的問題。
參加Apache小組!Apache伺服器是有一個通過Internet交流的小組寫出來的--小組成員都是系統管理員,他們相信比較明智的做法是將他們的能力集合起來去寫,並提高一個單一方向的源碼集而不是去花費時間各自同時寫完全不相關的源碼。這樣做的結果是他們能夠同時發揮“自己做一個”和大範圍大規模測試源碼的優勢。
選擇Apache小組的優勢很明顯。到底有多明顯,可以根據Netcraft 的每周回顧來判斷一下。Netcraft上說Apache伺服器從其誕生起一直在穩定地奪取其它私有伺服器的市場份額。1999年6月,Apache 的各種版本占有了61%的市場份額(http://www.netcraft.com/survey);--沒有合法的擁有者,沒有組織機構,也根本沒有合同制約的組織形式在背後操縱。
總的說起來,Apache的故事提供了一個模式:軟體使用者通過支持開放源碼計劃而發現了這個模式,他們發現這樣做能以最小的代價給他們帶來越來越好的軟體,比其它任何方法都要有效。
Cisco案例:風險分散
幾年以前,兩個Cisco(網絡產品製造廠家)的程式員被分配來寫一個分布式的印表系統的程式源碼用做Cisco的合作網絡的應用。這個項目的挑戰性很大。這個系統要使任意一個用戶能在這個網絡上的任意一台印表機上印表東西(而用戶和印表機可能只是隔壁或者相隔幾千公裡),當印表機沒有紙了或其它緊急情況系統要能夠將任務導向另一台附近的印表機。系統還要能夠將這一個突發時間報告給印表機管理員。
他們兩個對Unix上的印表軟體做了一些很不錯的修改,加上一些包的原語言,就做成了那項工作,但接著問題就來了。
問題是兩個程式員都不願意在Cisco永遠待下去。結果兩名程式員都將離開,而軟體也會無人維護而“腐爛”(就是無法滿足實際應用中不斷變化的要求而失去其應用)。沒有任何一個人願意看到這樣的情況在他自己或工作上發生,那兩個程式員也認為他們已經做了Cisco公司要求他們做的事情,其它的問題已經不是他們的工作範圍了。
於是他們跑到他們的經理那裡要求將這個印表軟體的源碼開放。他們認為這樣的話Cisco不僅不會失去什麼反而會得到更多。通過協作鼓勵用戶和軟體開發合作者的組織的發展,Cisco能夠彌補因為軟體原創人員的離開所帶來的損失。
Cisco的故事引出另一個模式:源碼開放使開發一個軟體的風險被眾多協作者分攤了而且投資分花費很小。所有的團體都發現源碼的開放,以及一個成員各自獨立卻互相協作的社區的存在將提供一個無風險的開發環境,而且這個環境是有商業價值的--它能夠自己賺錢養活自己!
為何銷售價值存在問題
開放源碼使得直接獲取軟體銷售利潤非常困難。困難並不是來自技術方面的,因為源碼和可執行源碼一樣易於拷貝,並且版權法和授權法的約束不同使得通過開放源碼軟體來獲取銷售利潤比封閉源碼軟體難。
真正的困難來自維護開放源碼發展的授權本身。因為三個相互推動的原因,大多數的開放源碼授權禁止對用戶使用、分發、修改軟體的權利進行限制,以此避免有人利用開放源碼軟體牟取直接利潤。為了更好的理解這些原因,我們有必要對這些授權所涉及的社會背景──黑客文化(可以參考下面網址: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授權)的細微特徵中表達了黑客群體的思想,牠們(雖然不是有意的,但客觀上)使得獲取直接利潤極為困難。
間接的銷售價值模型
然而,還是有辦法來開拓與軟體服務相關的市場,從而獲得間接銷售價值。有五種已知的和兩種正在探索的模式(未來可能會發展出更多的新發展模式)。
失敗的領導者/市場定位者
在這種模式中,利用開放源碼軟體為直接產生收入的專有軟體來創造或維持一種市場位置。在大多數普遍的情形中,開放源碼的客戶端軟體帶動了服務器軟體的銷售,或者可增加了門戶網站的訪問量/廣告收入。
網景公司(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測試階段。
糖霜策略
這種模式是針對硬體製造商的(這裡的硬體包括從以太網或其它外部設備直到計算器系統的所有東西)。市場壓力迫使硬體公司書寫和維護軟體(從設備驅動程式、配置工具直到整個操作系統的級別),但是軟體本身並不是利潤中心。它是一項開支──通常是一項重要開支。
在這種情況下,開放源碼是一種很好的策略。由於沒有贏利上的損失,所以沒有負面影響。銷售商獲得的是奇跡般膨脹的開發人員隊伍,對用戶需求獲得更加快速、靈活的反應能力,並且通過同行檢查而獲得的更好的可靠性。而且可以免費得到了其它系統的移植。這種做法還可在很大程度上提高客戶對公司的信任度,因為客戶的技術人員可以花費了更多的時間根據自己的需要定製源碼。
有一些經常被銷售商提出的反對開放硬體驅動程式源碼的理由。為了不把牠們和這裡的更加一般的問題攪在一起,我在附錄裡專門討論了這個問題。
開放源碼的“將來獲益”的效果在糖霜策略中體現的尤其強烈。硬體產品有一個有限的製造和支持的生命周期,在那以後,用戶就自己照顧自己了。但如果他們可以獲得驅動程式的源碼,並可根據需要加以修改的話,他們就更可能高高興興的成為同一公司的回頭客。
糖霜模式的一個非常戲劇性的例子是蘋果公司在1999年三月中旬決定開放牠們的MacOSX服務器的操作系統“Darwin”的源碼。
奉送食譜,開辦飯店
在這種模式中,開放源碼軟體建立了一種市場定位,並不是為了像在失敗的領導者/市場定位者模式中一樣針對封閉源碼軟體,而是針對服務。
(我曾經把這種模式稱為“奉送薙刀,銷售刀片”,但是軟體和服務二者的關聯並不如薙刀/刀片所模擬的那麼緊密。)
這是紅帽和其它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)
附加產品
在這種模式中,我們出售開放源碼的附加產品。在低端市場,出售杯子和T恤衫;在高端市場上,出售專門編輯並出版的文檔和書籍。
O'Reilly集團是一個附加產品公司的很好的例子,他出版了很多優秀的開放源碼軟體的參考數據。O'Reilly實際上雇用和支持了一些著名的開放源碼黑客(例如Larry Wall和Brain Behlendorf),並以次提高它在市場上的聲望。
未來免費,出售現在
在這種模式下,我們以封閉的許可証發布軟體的可執行文件和源碼,但是包含一個有關封閉條款的期限。比如,我們可以寫一個許可証,允許免費的散發軟體,禁止不付報酬的商業應用,並保証發布一年以後或開發商終止開發後軟體將在GPL保護之下。
在這種模式下,客戶可以保証產品能夠根據他們的需要定製,因為他們可以得到源碼。產品的將來也是得到保証的──許可証保証了如果始創公司失敗後,開放源碼社區仍能夠接管該產品。
因為銷售價格和數量是依賴於客戶對產品的期望值,始創公司可以享受到比以封閉源碼許可証發行的軟體更優厚的收入。而且,因為老的源碼是在GPL保護下的,所以它可以得到同行認真的檢查、排錯和添加其它小功能,這樣可以為原創者減輕75%的維護負擔。
這種模式被Aladdin公司成功的採用了,它創造了流行的Ghostscript程式(一個PostScript直譯器,它可以把PostScript直譯成許多打印機的內部語言)。
這種模式的主要缺點是那些封閉的條款傾向於抑制產品開發早期的同行檢查和參與,而那時是最需要的大家的參與的時候。
軟體免費,銷售品牌
這還是一個試探性的商業模式。我們開放一項軟體技術,保留測試包或一套兼容性標准,然後賣給用戶一個品牌認証,保証他們對這種技術的實現和其它具有這種品牌的產品相互兼容。
(這是Sun公司應該對待Java和Jini的方式。)
軟體免費,銷售內容
這時另一種試探性的商業模式。想像一些像股票信息訂閱的服務。價值既不在客戶端軟體也不再服務器商,而在於提供客觀的的可靠的信息。因此我們開放所有的軟體,出售內容訂閱。當黑客們把客戶端移植到新的平台上或者以不同方式擴展它時,我們的市場自動擴展了。
(這是為什麼AOL應該開放它的客戶端軟體。)
何時開放,何時封閉
在考察了支持開放源碼軟體開發的幾種商業模型之後,我們可以來討論一下何時開放源碼、何時封閉源碼才有經濟意義這樣的一般性問題了。首先,我們必須弄清楚每種策略如何盈利。
靠什麼盈利?
封閉源碼的方式讓你可以從秘密的程式中收取利潤;另一方面,它阻止了其它同行對源碼進行檢驗的可能性。開放源碼方式為其它同行檢驗創造了條件,而且你也不能從秘密的程式中獲得利潤。
從秘密的程式中盈利很好理解;傳統的軟體商業模型就是圍繞著它建立的。但是直到近來,其它同行檢驗源碼的價值還未被很好的理解。然而,Linux操作系統使得我們對問題的認識更加清晰,這些認識我們本應在幾年前從Internet核心軟體和其它軟體工程分支的發展歷史中就應該學到──開放源碼的同行檢驗是得到高可靠性和高質量的軟體的唯一可伸縮的方法。
因此,在一個競爭的市場上,尋找高可靠性和高質量軟體的客戶會給那些開放源碼軟體開發人員以回報,是他們探索出怎樣在服務、附加值和與軟體相關的輔助市場中維持一個穩定的收支循環。這種現像正是Linux令人驚訝的成功背後的原因,Linux在1996年的一片空白發展到1998年末的商業服務器市場的17%,而且似乎會在兩年之內占領這個市場(1999年初,IDC 預測Linux將在2003年成長的比所有其它操作系統的總和還要快)。
開放源碼的一個幾乎同樣重要的作用是作為一種傳播開放標准,圍繞它建立市場的手段作用。Internet的戲劇性增長得益於沒人擁有TCP/IP;沒人有權封鎖Internet的核心協議。
TCP/IP和Linux成功的所造就的互連網絡對世界的影響是顯而易見的,開放的系統最終減少了信任和平等的問題──如果大家都能夠看到底層結構是怎樣工作的話,他們就會理所當然的更加信任它;人們更加喜歡一個所有人都是平等的底層結構,而不是一個某一方具有獲利的特權並可以施加控制的底層結構。
然而,其實為了向軟體用戶說明平等的重要性時,我們不必非要強調網絡的影響力。沒有哪個軟體用戶在質量和功能類似的開放源碼軟體存在的條件下放棄開放源碼軟體,而去選擇封閉源碼軟體,非要讓自己被某個供應商壟斷控制才高興。軟體對消費者的事務越重要,這個問題就越突出──它越重要,消費者就越不能容忍自己被另外一方控制。
最後,和信任問題相關的開放源碼的重要優勢就是它的光明前景。如果源碼是開放的,即使發行者垮掉了,客戶還是能掌握一些資源。這對於糖霜策略尤其重要,因為硬體趨向於較短的生命周期,但是作用更加普遍,並轉換成開放源碼的增長價值。
他們如何互相作用?
當從秘密程式得到的回報比從開放源碼高的時候,從經濟意義上說應該封閉源碼。當從開放源碼得到的收益比從秘密程式高的時候,那麼無疑開放源碼更有意義。
從表面上看,這是一個很普通的想法。但是當我們注意到開放源碼的回報比秘密程式更加難以度量和預計時,就是說回報常常被低估而不是被高估,這一點就不那麼平淡無奇了。實際上,直到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) 關鍵方法(或等價功能)是公共工程知識的一部分時
Doom:一個學習的案例
id 軟體公司賣得最熱門的遊戲Doom的歷史,展示了市場壓力和產品演化怎樣改變了封閉源碼軟體相對於開放源碼的收益數量。
當Doom在1993年末第一次發布時,它的主觀視角,即時動畫是極為獨特的(條件(e)的對立面)。不僅因為它那令人叫絕的視覺效果,而且在很長一段時間內沒人知道他們是怎樣在低級的處理器上實現這些效果。這些秘密的程式可以獲得非常重要的收益。而且,開放源碼的潛在收益很低。作為一個單獨的遊戲,這個軟體(a) 它的故障的代價很小,(b) 不是非常難於驗証,(c) 對任何一個用戶來說都不是至關重要的,(d) 並不得益於網絡。所以Doom成為封閉源碼在經濟上是很合理的。
然而,Doom周圍的市場不是靜止的。競爭對手發明了它的動畫技術的等價功能,其它的“主觀射擊”遊戲比如毀滅公爵(Duke Nukem)等開始出現。當這些遊戲侵蝕Doom的市場份額時,秘密程式的收益開始下降。
另一方面,擴展市場份額的努力帶來了新的技術挑戰──更好的可靠性,更多的遊戲特色,更大的用戶群,和跨平台。隨著"deathmatch" 的多人遊戲模式和Doom遊戲服務的出現,市場開始顯示出對網絡的依賴。所有這些需求都要求id公司在下面版本的遊戲中花費更多的精力。
所有這些趨勢都提升了開放源碼的回報。在某一點回報曲線交叉,開放源碼成為id公司在經濟上合理的選擇,他們可以從諸如遊戲擴展選集等第二市場上獲益。在這一點之後的某個時間,事情確實發生了。 1997年末Doom的完整源碼被公開發行。
知道何時該放手
Doom是一個有趣的案例,因為它既不是一個操作系統也不是一個通訊/網絡軟體;因此這遠離了開放源碼的通常的明顯的例子。確實,Doom的生命周期,包括交叉點,可以作為今天的源碼生態中應用軟體的典型──在這個生態環境中,通訊和分布計算軟體要求較高健壯性/可靠性/可擴充性、只能通過同行檢驗來驗証,並且常常超越技術環境和競爭者之間的界限(包含信任和平等)。
Doom從一個單機遊戲演化到deathmatch模式。網絡計算越來越重要。同樣的趨勢可以從最重要的商業應用程式,如ERP系統看到。商務網絡把供應商和客戶更加緊密的聯系在一起──當然,它們包含在整個萬維網的體系結構之中。這種情況到處可見,開放源碼的回報穩步增加。
如果當前的趨勢繼續下去的話,下個世紀軟體技術和產品管理的核心挑戰將是知曉應該何時放手──何時把封閉源碼轉變為開放源碼體系結構,從而得到同行檢驗的好處,並從服務和其它第二市場上得到更高的回報。
大家很明顯都不想在任何一個方向上離交叉點太遠。除了這個,等待太長時間面臨著嚴重的風險──你可能會被一個走向開放源碼的同一市場上的競爭對手鏟平。
這個問題之所以嚴重的原因是,可以被吸引到某類產品的開放源碼合作者的用戶群和專家群是有限的,而且這些人很難於轉移。如果兩個功能基本相同的競爭源碼一先一後開放源碼,那麼先開放的更加可能吸引更多數的用戶和更多數的最激情的合作開發人員;後開放的則不得不吃剩飯。吸引來的人員難以轉移,因為用戶對軟體已經熟悉,而開發人員已經在源碼上投資了很多的時間。
開放源碼的商業運作
在開放式源碼的社區中,通常是以一種傾向於增強開放式源碼生產效益的方式來組織其自身的商業活動的。尤其在Linux的世界裡,存在著一個具有重要經濟意義的事實,那就是存在有許多相互競爭的發行商,而他們形成了一個與開發團體相分離的、獨立的層次。
開發人員寫源碼,並且使得這些源碼在互連網上是可以被下載的。每個發行商都從這些可下載的源碼中選取一些,並將牠們進行綜合,包裝,並且注冊商標,最後將其買給顧客。用戶可以選擇發行商的產品,也可以通過直接從開發商的網站下載源碼而增補其自己已安裝的發行版。
這一分化出來由發行商形成的層的作用是為創造了一個非常易於改變、可對產品不斷完善的內在市場。開發人員為了吸引更多的發行商和顧客的注意力,在他們軟體的質量上彼此競爭。而發行商則為了從用戶那裡賺得更多的錢,互相在他們選擇源碼的策略以及他們給軟體帶來的附加價值上競爭。
內在市場結構中的第一特徵就是網絡中沒有什麼源碼是不可缺少的。開發商可能倒閉,即使他們的那部分底層源碼沒有直接被其它開發者所用,為吸引更多注意力而導致的競爭將傾向於盡快產生一個在功能上可替代的產品。發行商可能在沒有破壞或修改開放源碼的情況下就破產了。整個開放式源碼的商業系統作為一個整體,與任何一個獨立的封閉源碼的操作系統的發行商相比較而言,對市場需求有著更快的反應,並且在抑制巨大的波動及自我創新方面有著更強的能力。
開放源碼另一個重要的特徵就是通過分工降低成本,提高了效率。開發商不願經受傳統的封閉源碼項目中那種例行公事般的壓力,而是像這樣來工作:沒有來自市場方面的那些不得要領、分散注意力的表單;沒有要求他們使用不適合的而且已過時的語言或開發環境的強制命令;沒有打著突出產品的特性和保護知識產權的幌子要求用一種新的,不兼容的方式重新設計“輪胎”的命令;而且最重要的是沒有項目完成最後期限的約束。這樣,公司就不會在產品還沒有做好以前,就匆匆忙忙地推出一個1.0版本,正如Demarco和Lister在從對"做完了再喊我"管理模式的討論中所作出的評論(見《開發隊伍與產品》一文)那樣,這種模式通常不僅會有益於質量的提高,而且實際上有助於一項真正的研究成果以最快的速度進行傳播。
另一方面,發行商們可以專門從事他們能高效完成的事情。這樣,他們就可以集中精力在系統的綜和一體化,包裝,質量保証及服務方面,而不用去考慮所需要的大量的資金問題以及使正在進行的軟體開發保持其競爭力的問題。
通過作為開放式源碼商業模式中不可缺少的一部分,即來自於用戶的不斷的資訊反饋和監督,無論是發行商還是開發商都會比較誠實一些。
成功的複製
「公有地悲劇」也許並不在於他們對現如今存在的開放式源碼商業模式發展的適應性,但這並不意味著不存在任何理由去懷疑開放式源碼社區內目前的狀況是否能持續下去。主要的參與者是否會隨著風險的進一步增大而背叛共同的合作?
這一問題可以從幾種不同的層次來提出。我們的那個與"成功的公用"相反的故事是基於這樣一種論斷的,那就是個人對開放式源碼的貢獻價值很難以量化的方式來衡量。但是這一論斷對於像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的光碟還沒有真正的成發售。
但是,Red Hat自己並未對此事怒不可遏,因為他們非常清楚的知道他們沒有也不可能擁有他們他們產品中二進制數據中的任一個位元。因為Linux社區裡的社會准則不允許他們這樣做。在後來的日子裡出現了John Gilmore的著名的論斷,那就是互連網上的人將對互連網的檢查制度,解釋為對它的破壞,並且會自動繞過它。基於此,對Linux負責的黑客們則巧妙地將企圖控制源碼也解釋為是對牠們的破壞和一些例行公事的手續。對於Red Hat來說,他們如果反對對他們的新產品在發行之前進行仿製,這一行為將嚴重地使他們未來吸引開發商們進行共同合作的能力大打折扣。
也許就目前來說,以一種與法律相結合的形式來表達Linux社區准則的軟體許可証制度正積極主動的阻止了Red Hat對他們的基於開放源碼產品的壟斷。他們唯一能賣的就是一個品牌、服務以及與那些自願付給他們錢的用戶之間的技術支持關係。這不會讓壓倒性的壟斷局面出現有太大的的可能性。
開放研發和二次開發
投資者向開放源碼世界投資的另一個原因就是要改變它。開發者逐漸感覺到他們可以從他們想幹的事情中獲得報酬,而不是用自己的正式工作的收入來維持他們對開放源碼運動的愛好。像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這些公司和他們的客戶以及開發人員之間的關系和傳統的製造業完全不同。這是一種非常有意思的特別模式,是一種知識密集型的服務產業。除了技術工業以外,我們還可以從法律界、臨床醫學界和學院中找到這種模式的影子。
實際上,我們可以看出開放源碼公司雇佣優秀的黑客和大學聘請知名教授之間有異曲同工之妙。在實現方式上,二者都有些像工業革命前貴族們對精緻藝術的投資方式,一些方面的相似性是顯而易見的。
由此及彼
資金支持(當然也要從中獲利)源碼開放開發的市場機制仍然在迅速的發展之中。本文中所述及的商業模型並不是最終的定論。投資商還在不斷從軟體產業變革的結果中不斷總結經驗,這種新模式面向服務的而不是強調保護知識產權,他們將會在一個適當
軟體業在思想上的革命將給原來人們僅通過向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和其它開放源碼系統已經是互連網上主機所採用的主流系統,而且在以比封閉系統更快的速度擴大市場占有率。不斷開拓互連網領域自由軟體的需要並不只是由編制更多的軟體來決定,更重要的是各個公司的商業行為和軟體的使用/購買模式使然。這個趨勢現在看來正在不斷加快。
結論:自由軟體變革之後
在向自由軟體形式過渡完成之後,整個軟體產業將會是什麼樣子呢?
為了回答這個問題,有必要根據軟體所需要為用戶提供的服務程度將軟體分分類,服務體現了軟體的開放性,這種劃分又是與軟體所業服務的市場化程度緊密相關的。這個提法的精髓恰好與我們日常所說的三個名詞相似:應用程式(基本沒有商品化的服務,沒有或缺少開放的技術標准)、構件(服務商品化、標准性很強)、中間件(需要一些商品化的服務、有技術標准但是不完善)。當前(1999年)對於上面三種軟體的典型例子就是字處理軟體(應用程式)、TCP/IP 協議包(構件)和資料庫引擎(中間件)。
前面關於分配方式的分析向我們展示了構件、應用程式和中間件三種軟體形式將會以不同的方式向自由軟體體系過渡,以及他們各自體現出的自由軟體與封閉軟體相結合的形式。還需要指出的是,在軟體業的某一領域自由軟體普及程度還要受到那裡的網絡影響力是否很強,軟體企業倒閉所帶來的負面影響程度以及軟體產品在多大程度上還是一種商業上敏感的資本資源等因素的影響。
如果不局限於某個特定的領域,從軟體業的整體角度考慮我們可以大膽的作出如下預言:
像網際網路、互連網、操作系統以及其它需要在競爭的軟體各方互相交叉的底層通訊軟體等構件產品會逐漸全部開放,這些軟體將由今天像 RedHat? 這樣營利的軟體發行商或其它服務機構將會與用戶團體來共同維護。
另一方面,應用程式類型的軟體會繼續保持封閉的狀態。這種軟體通常是他們未公開的算法使用價值非常高或使用的技術非常先進,促使用戶仍然願意花錢去購買這些封閉源碼的軟體,同時這也意味著這種軟體可靠性要求非常底,並且可能導致行業壟斷的風險還在可以容忍的範圍內。這種現象最有可能出現在網絡影響比較小的垂直性市場領域中。我們以前提到的一個 lumber-mill 就是這種產品,1999 年最亮麗的軟體產品──生物分子結構識別軟體也屬於這一類。
中間件,像資料庫工具、開發工具或其它用於特定領域的高端應用程式協議軟體包將是一種自由與封閉的融合。這些中間件軟體產品是會逐漸走向封閉還是開放或許將取決於軟體的破產風險,為打開市場而所需的成本越高的軟體將更需要開放。
不管怎樣,為描繪一個完整的藍圖,我們仍然應該看到無論是應用程式還是中間件,這都是一個靜態的劃分。在前文“何時會開放”一節裡面我們已經分析了對於任何一個軟體產品都將要走過一個從理智的封閉到理智的開放這樣一個生命周期,對整個軟體產業來說同樣是這個道理。
隨著關鍵技術的普及和標準化,隨著商品化的服務在軟體產業中所占的比重越來越大,應用程式會逐漸轉化為中間件,比如在將資料庫前端接口和資料庫引擎分開以後,資料庫接口就成為了一種中間件。當中間件產品所需服務越來越要商品化時,就輪到他們逐漸轉化為開放源碼的構件了,我們今天看到的操作系統的變革就是這種例子。
我們可以預料到在未來,隨著自由軟體所帶來的強大競爭力,某個軟體的最終命運將不是走向滅亡就是成為開放構件系統的一部分。雖然這對於那些打算永遠從封閉軟體中賺取利潤的軟體企業來說的確是個壞消息,但是軟體產業作為一個整體仍然是一種產業,那時新的高層應用軟體將不斷開放,私有化的智力資源壟斷某個軟體將只有一個有限的生命周期,最終將紛紛轉化為自由軟體。
最後,我們要看到這種從封閉到開放的變革還是主要要由軟體產品的用戶來推動才能不斷發展。越來越多的高質量軟體將被創造出來並得到長期使用,而不是被某些人藏在密室裡得不到發展。這種奇蹟用 Ceridwen 的魔鍋來比喻還不夠恰當,因為魔鍋變出來的食品如果不吃就會逐漸腐爛掉,而自由軟體世界中的軟體將是取之不盡的寶藏。在自由軟體中你擁有最自由的自由,無論你是打算提供商業服務還是打算為他作出貢獻,自由軟體世界將向所有人提供一個不斷積累、取之不竭的寶貴財富。
參考文獻和致謝
[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對於無視自由騎士現象給了我當頭一棒。
附錄:為何封閉驅動程式源碼的硬體廠商會浪費投資商的金錢
週邊設備開發商,象網卡、硬碟驅動器或顯卡的製造商,他們的傳統作法就是將驅動程式的源代碼封閉起來。但是這種現象現在已經有所改變,比如 Adaptec公司和Cyclades公司已經習慣於將他們的各種板卡的驅動程式源代碼和相應文檔公開化。不過要想讓開放源代碼成為一種普遍的作法還是有 不少困難的。在本附錄中我們就是打算澄清在商業領域中仍然維持封閉源代碼體系的一些錯誤觀念。
假定你是一個硬體製造商,你也許會擔心將驅動程式代碼的開放會洩露你硬體如何工作的許多重要秘密,從而讓你的競爭對手可以通過分析你的源代碼來給你造 成一種不公平的競爭環境。這種想法在三、五年才會將產品更新換代的時代裏也許還站得住腳;但是今天即使將源代碼開放,你的競爭對手也將不得不花費占整個產 品更新週期的一大部分來琢磨你已經公開了的代碼,因為現在產品更新的週期大大的縮短了,你的競爭對手將沒有足夠的時間來好好思考和革新他們自己的產品。所 以說他們去研究你開放的源代碼的時刻實際上已經鑽進了你的圈套。
不管怎樣,在今天代碼中的秘密不會被隱藏很久了。硬體驅動程式並不象作業系統或應用程式那麼複雜,他們一般都很小,很容易被反編譯和模仿,這種活連一 個十幾歲的電腦初學者也可以搞定,而且實際上常常也被這些人搞定。可以毫不誇張的說,世界上現有數以千計的為Linux或FreeBSD工作的有激情的優 秀程式師,他們願意為任何一種新的板卡編寫驅動程式。由於許多種類的硬體設備有著相對簡單和標準化的介面規範,比如常見的磁片控制器或網卡,熱情澎湃的黑 客們即使在沒有文檔也不需要反編譯已有的驅動程式的條件下就可以迅速的寫出正確的驅動程式來,而且常常比原生產廠家還要來得快。
即使遇到象顯卡這樣的複雜設備,也難不倒用反編譯工具武裝起來的牛人。這種工作即不需要花費很大的精力,也很難說是否違法,而且在全球程式師的共同努 力下,已經可以對Linux做任何在法律上合法反向工程了。從Metalab網站查一查Linux核心和設備驅動程式庫所能支援的硬體類型列表,你就會立 刻明白前面所言非虛,Metalab的網址是:<http://metalab.unc.edu/pub/Linux/hardware/!INDEX.html>。訪問該網站時你還可以留意一下新的驅動程式正在以何等迅速的速度不斷湧現。
保守你驅動程式中的秘密從短期效應上來說還是有誘惑力的,但是從長期戰略的角度來看則不可取,特別是當你的競爭對手都已經將源碼開放的時候。如果你非 要固執的封閉你的源代碼,那就只能將那些代碼燒到電路板上的ROM中,而只對外公開訪問介面了。所以趕緊開放你的源代碼吧,迅速擴大市場,你要相信自己有 能力通過自身的不斷思考和創新來吸引更多的本來屬於你的競爭對手的潛在用戶群。
堅持走封閉的路線是一條死胡同,你的秘密將不可避免的被逐步暴露,你將無法得到自由程式師的幫助,也沒有什麼愚蠢的競爭對手會去花時間模仿你的設計。 更重要的是你如果及早採納開放的思想本來可以獲得更廣闊的發展空間,但是你卻遺憾的錯過了。由於你的設備太保守、缺少資料和固步自封,並且不能認識到你自 己的錯誤,因此互連網上大部分的網路管理員和超過17%的商業資料中心所形成的巨大市場將把你的硬體設備從他們的採購清單中刪除,而把目光轉向其他開放的 硬體廠商中去。
本文檔修訂記錄
你現在看到的是本文件的1.15版
在下面的列表中,一些微小的修訂和印刷版就不再列出了。
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的幫助下給了“熱門貨”一個更好的解釋。
