# 四十、策略V:公開源代碼的經濟因素
我讀大學時修了兩門經濟課程:總體經濟和個體經濟。總體經濟滿是「低失業率 導致通貨膨脹」等現實中不太能成立的理論,不過個體經濟則是酷又有用。里頭 都是討論供需間關系而且真正可用的概念。舉例來說,如果你的對手降價而你不 跟進,你的產品需求就會減少。
我想在今天的文章指出,其中一個概念如何能解釋某些熟悉的計算機公司。我注 意到開放源碼軟件有件事很有意思,就是大多數砸大錢發展開放源碼軟件的公司, 并不是突然愛上言論自由放棄資本主義,而是認為這是個好的商業策略。
市場上所有的產品都有替代激逼和互存激逼。替代物品是首選商品太貴時會改買 的另一種東西。雞肉就是牛肉的代替物品。如果你是雞農而牛肉的價格上升,大 家都要買更多雞肉而你的銷量就增加。
互補物品是通常會和其他產品一起購買的產品。車和汽油是互補物品。計算機硬 件是典型的計算機操作系統互補物品。褓姆則是高級餐廳用餐的互補物。當小鎮 的五星級餐廳提供兩人同行一人免費的情人節特惠方案時,當地的褓姆也會忙得 不得了(事實上連九歲的小朋友要出動了。)
其他事都一樣,當商品的價格下降時互補物品的需求就會增加。
讓我重復一遍以免你打瞌睡沒看到這個重點。當商品的價格下降時互補物品的需 求就會增加。舉例來說,如果到邁阿密的機票降價,當地旅館的住房需求就會 上升,因為會有更多人去邁阿密就會需要房間住。當計算機變便宜就會有更多人 買,由于計算機要有操作系統,于是操作系統的需求就增加,而操作系統的售價 也水漲船高。
這時候大家常常會出來打岔,他們會說:「啊哈!可是Linux是免費的!」好吧。 首先經濟學家談到價格時是指整體價格,里面包括安裝時間、人員再教育、現有 流程轉換等無形的事物。這所有的東西我們稱之為「整體持有成本」。
再來這些支持者會因為免費啤酒的說法,試圖相信自己不受經濟定律限制,因為 他們有個很棒的零,而任何數字乘以都沒有了。這里有個例子。Slashdot包Linux
開發者Moshe Ba「未來的Linux核心是否能與現有設備驅動器兼容,他回答不需要: 「專屬軟件每行除錯好的程序代碼收費50到200美元。這樣的價格不適用于開放 源碼軟件。」Moshe繼續聲稱,每次Linux核心改版讓現有驅動程序失效是正常 的,因為重寫現有驅動程序的成本是零。這實在是錯得離譜。他等于是聲稱維持 核心向后相容所花的小工夫,等價于重寫所有驅動程序的大量程序作業,因為兩 者都會乘以各自的「成本」,而他們相信這個成本都是零。這是一個似是而非的 謬論。修改現有設備驅動器需要開發人員投入數千甚至數百萬小時,一定會產 生某些費用。而且在這些工作完成之前,Linux因為不能支持現有硬件,在市場 上等于又再變回殘廢。把這些「零成本」的工夫拿來改良Gnome或支持新硬件不 是更好嗎?
不管是專屬軟件還是開放源碼軟件,除錯絕對不會是免費的。即使沒有實際付錢, 還是有機會成本和時間成本。投入開放源碼計劃的志愿性程序人力是有限的, 所有開放源碼計劃都在爭取同一群有限的程序設計資源,只有最具吸引力的計劃 才能擁有超過需要的志愿開發者。總而言之,我不認同這些試圖證明啤酒免費 這種荒唐經濟的人,因為我認為他們只會得到「零除」的錯誤。
開放源碼并不能免于重力或經濟法則。由Eazel,A「sDigita的事就可以知道,這 家公司以前以VA Linux和很多其他企圖而聞名。不過有些在開放源碼世界中很少 人真正了解的事還在繼續進行:很多有責任盡量提升股東價值的大型上市公司, 投入很多資金支持開放源碼軟件(通常是負擔大型程序團隊的開發費用)。而這 正可以用互補物的原理來解釋。
再說一遍:當商品的價格下降時互補物品的需求就會增加。通常公司的策略利益 是讓互補商品的價格愈低愈好。理論上能維持住的最低價格是「普及價格 (commodity price)」,也就是會有很多競爭者提供相同商品時的價格。所以: 聰明的公司試圖讓產品的互補物普及化(commoditize)。 如果你能做到這一點,產品的需求就會上升而你就可以賣貴一點然后賺更多錢。
當IBM設計PC架構時是用現成的零件而非訂制零件,而且他們很小心地編寫零件 間的接口文件IBM-PC技術參考手冊(革命性的作法)。為什么要這樣做呢?因為這 樣子其他制造商就可以進來一起做。只要你遵循接口,就可以用在PC里。IBM的 目標是要普及附加產品,而附加產品正是PC市場的互補物品。他們做得相當成功。 在短時間內就涌現大量的公司提供內存卡、硬盤、顯示適配器、打印機等商品。 便宜的附加產品意味更大的PC需求。
當微軟把操作系統PC-D0S授權給IBM時,很小心的沒有賣出獨占授權。于是微軟 就可以把相同的東西,授權給Compaq和其他幾百家利用IBM自己的文件合法復制 IBM PC的OEM廠商。微軟的目標是要讓PC市場普及化。不久PC本身也成為日用品 了,價格愈來愈低,功能持續提升,而且也很難有獲利的空間。而低價當然就會 提升需求。PC需求增加表示其互補物MS-DOS的需求也增加了。.沒有例外的,產 品需求愈大賺到的錢就愈多。難怪比爾蓋茨買得起瑞典而你不行。
今年微軟想再玩一次:他們的新游戲主機XBox也是用普及的PC硬件而非訂制零件。 他們的理論(這本書里有解釋)普及的硬件每年都會愈來愈便宜,所以XBox可以 順勢降價。不幸的是他們弄巧成拙:顯然PC硬件已經被壓到普及價格,所以XBox
的制作成本下降并不如微軟預期快。微軟XBox另一個策略是使用DirectX,利用 這個繪圖鏈接庫寫的程序能在所有的視訊芯片上執行。這里的目標是想普及化視 訊芯片并使它降價,就能賣出更多真正能藉以獲利的游戲。那么為什么視訊芯 片廠商不想辦法去普及化游戲呢?因為浪難做到。雖然最后一戰你a/o)這個游戲 瘋狂大賣,可是并沒存真正的替代品。你并不會跑去電影院想看最新的星際大戰, 卻又認為改看伍迪艾倫的電影也可以滿足你。這些都是好電影,不過絕對不能彼 此替代。好啦,你想當游戲發行商還是視訊芯片廠商呢?
讓你的互補物品普及化。
要解釋為何這么多商業公司對開放源碼投入很大的貢獻,了解這個策略有非常大 的幫助。讓我們來看看。
頭條:IBM投入數百萬美元發展開放源碼軟件。
神話:他們會這樣做,是因為Lou Gerstne「讀了GNU Manifesto后決定自己其實 不喜歡資本主義。
現實:IBM是因為自己已成為IT顧問公司才會這樣做。IT顧問是企業軟件的互補 物品,所以IBM必須讓企業軟件普及化,而最好的方法就是支持開放源碼軟件。 看吧,他們的顧問部門靠這個策略大獲全勝。
頭條:Netscape公開其Web瀏覽器的源碼。
神話:他們這樣做是為了取得某些紐西蘭網咖客貢獻的免費程序代碼。
現實:他們是要讓web瀏覽器普及化。
及一方:始這就已經是Netscape的策略了。看看Netscape早期第一份公開新聞:這 個瀏覽器是「免費軟件」。Netscape發放瀏覽器是為了要讓服務器來賺錢。瀏覽 器和服務器是典型的互補產品。瀏覽器愈便宜,賣出的服務器就會愈多。這在1994 年有最真實的呈現。當MCI進門把那么多錢倒在他們身上時,Netscape是真的嚇 到了,他們了解到瀏覽器本身也可以賺錢。這時當初的商業計劃書沒有寫到的。
Netscape把Mozilla以開放源碼方式發行,是因為他們看到降低瀏覽器開發成本 的機會。這樣就能以較低的成本獲得普及化的利益。
稍后A0L/時代華納并購了 Netscape。服務器軟件應該是瀏覽器普及化的受益者, 可是賣得不好就被拋棄了。問題來了:為什么A0L/時代華納要繼續投入開放源碼 呢?
A0L/時代華納是個娛樂公司。娛樂公司是各種型式娛樂傳遞平臺(包括web瀏覽器) 的互補。這個巨人集團的策略利益在于讓娛樂傳遞(也就是web瀏覽器)普及到沒 有人能因而收費。
Internet Explore「免費的這個事實有點動搖我的論點。微軟也想讓web瀏覽器普 及化,這樣他們才能販賣桌上型及服務器的操作系統。他們想再進一步提供一組 兀件,讓大家都能快速拼湊出一個web瀏覽器。Neoplanet和A0L還有Juno就用這 些組件建立他們自己的web瀏覽器。既然IE免費,那么Netscape還有什么動機讓 瀏覽器「更便宜」呢?答案是Netscape要搶先機,他們必須防止微軟的web瀏覽 器完全獨大,即使是免費的web瀏覽器也不行。因為理論上如果微軟獨占的話就 有機會以別的方式(比如Windows增加的價格)增加網絡瀏覽的成本。
(顯然Barksdale當家時,Netscape確實不了解狀況,這也使我的論點更加不穩。要解釋Netscape的行為,比較可能的說法是高層管理不了解技術,所以只好被開 發人員牽著鼻子走,而不懂經濟的開發人員巧合地想出能配合他們策略的機制。 不過還是讓我們當他們是真的聰明吧。)
頭條:Transmeta雇用Linus,花錢請他研究Linux。
神話:他們純粹是為了宣傳。否則有誰聽說過Transmeta呀?
現實:Transmeta是家CPU公司,而CPU天生的互補產品就是操作系統。Transmeta 想要讓操作系統普及化。 頭條:Sun和HP付錢請Ximian研究Gnome。
神話:Sun和HP支持免費軟件是因為他們喜歡市集(Bazaars)而非大教堂 (Cathedrals)。
現實:Sun和HP都是硬件公司,他們做的是盒子。為了要在桌上型市場賺錢,他 們需要窗口式系統(桌面計算機的互補物)成為普及化的產品。那么為什么不把 付給Ximian的錢拿去發展一套專屬的窗口式系統呢?他們以前試過(Sun有NeWS 而HP有New Wave)不過這些公司骨子里都是硬件公司,軟件技術非常的粗糙, 而且他們需要讓窗口式系統成為蘑價普及淄,而不是要付錢取得的專屬優勢。所 以他們雇用Ximian的優秀人員來做,理由和Sun買下Star Off ice然后開放源碼一 樣:讓軟件普及化然后由硬件賺更多錢。
頭條:Sun開發出Java這套全新的”Bytecode”系統,寫一次程序可以到處執行。
Bytecode的想法并不新,程序員一直在嘗試讓自己的程序盡可能在更多的機器上 執行(這就是讓你的互補物普及化的方法)。多年前微軟就擁有自己的p-code編 譯程序和可移植的窗口層,讓Excel能在麥金塔、Windows、OS/2等系統以及 Motorola、Intel、Alpha、MIPS和PowerPC等芯片上執行。Quark也有一個中間 層可以在Windows上執行麥金塔的程序。C程序語言最佳的描述方式就是一個獨 立于硬件的匯編語言。對軟件開發人員來說這并不是新點子。
如果任何地方都執行執行自己軟件,硬件就更像是普及化產品了。而硬件價格下 降會驅動更大的軟件需求(而且讓客戶由硬件省下更多錢去買如今會更貴的軟 件。)
Sun對WORA的狂熱可說是奇怪游,因為他們是家硬件公司,而硬件公司最不應該 瀲游事就是讓硬件普及化。
真是令人太驚訝了!
Sun是計算機界有名的怪公司。他們無法看透自己對微軟激烈的恐懼及痛恨,所 以其策略都是基于激憤而非自身利益。Sun的兩大策略是分別是(a)推廣并發展 免費軟件(Star Off ice、Linux、Apache、Gnome等)讓軟件普及化,以及(b)推廣 Java及其bytecodeWORA架構和讓硬件普及化。好吧,來問Sun—個問題:當音樂 結束時你想坐在哪里?你在硬件或軟件上都沒有獨有的優勢,這樣只能接受普及 化價格。這種收入只能勉強維持墨西哥的廉價工廠,可養不起你在硅谷舒適的 辦公室。
「約耳等一下,」賈里德說:「Sun是想Transmeta像那樣讓操作系統普及化,并 不是要普及化硬件。」或許吧,不過事實上Java bytecode也讓硬件普及化了, 因而會為他們帶來相當重大的附帶傷害。
這所有的例子里都有一件很重要的事,軟件是很容易讓硬件普及化的(只要寫個 小小的硬件抽象層,比像Windows NT的HAL就只有很小一段程序),不過硬件想讓 軟件普及化卻是難上加難。就如StarOffice營銷團隊所學到的教訓,軟件是不能 互換的。即使價格為零,由微軟Office切換過來還是需要成本。除非切換成本 變成零,否則桌面辦公室軟件不可能真的普及化。兩套軟件間即使差異極其微小, 還是會造成切換時的痛告。雖然Mozilla的確擁有我所有想要的功能,而且單單 是擋廣告的功能就讓我會愛用它,可是我實在太習慣按Alt+D跳到網址列了。你 能怎么辦?去告我嗎?只是一個小小的差異就失去普及化的狀態。可是我可以 由IBM的計算機抽出硬盤,直接塞進Dell的計算機里,打開電源整個系統還是完 全正常的啟動并運作,就像沒換計算機似的。
Creo的執行長Amos M i che l son告訴我,他公司里的所有員工都被要求去聽一間叫 「經濟思考」的課。真是好主意。因為即使個體經濟學的基本觀念,對了解現在 發生的重要變化都很有幫助。
- 第一部分 位與字節:編程實踐點滴
- 一、語言的選擇
- 二、深入底層
- 三、joel測試:改進代碼的12個步驟
- 四、每一位軟件開發人員必須、絕對要至少具備UNICODE 與字符集知識(沒有任何例外!)
- 五、輕松寫就功能規格說明書 - 第1節:為什么煩心?
- 六、輕松寫就功能規格說明書 - 第2節:什么是規格說明書?
- 七、輕松寫就功能規格說明書 - 第3節:但是……如何?
- 八、輕松寫就功能規格說明書 - 第4節:技巧
- 九、輕松制訂軟件進度表
- 十、每日連編是朋友
- 十一、難伺候的故障修復
- 十二、軟件開發中的5個世界
- 十三、稿紙原型開發
- 十四、不要被太空架構師所嚇倒
- 十五、開火與運動
- 十六、人員技能
- 十七、源于計算機學科的三個錯誤思想
- 十八、二元文化
- 十九、自動獲取用戶故障報表
- 第二部分 開發人員的管理
- 二十、面試游擊指南
- 二十一、重金激勵害多利少
- 二十、二不配備測試人員的五個首要(錯誤)原因
- 二十三、任務換人有害無益
- 二十四、絕不去做的事情,第一部
- 二十五、冰川下的秘密
- 二十六、漏洞抽象定律
- 二十七、程序設計界的LordPalmerston
- 二十八、評測
- 第三部分 Joel對常態問題的遐想
- 二十九、RickChapman解讀愚昧
- 三十、在這個國家狗是干什么的? 我們有多么天真?
- 三十一、作為哼哈二將,只管去做事
- 三十二、兩個故事
- 三十三、巨無霸麥當勞與天才廚師JamieOliver
- 三十四、沒有什么像IT看起來那么簡單
- 三十五、提防非自主開發綜合癥
- 三十六、策略I:BEN&JERRY公司與AMAZON
- 三十七、策略II:雞與蛋問題
- 三十八、策略III:讓我回去!
- 三十九、策略IV:大件與80/20神話
- 四十、策略V:公開源代碼的經濟因素
- 四十一、墨菲法則肆掠的禮拜
- 四十二、微軟公司是如何敗北API之戰的
- 第四部分 對.NET稍多的評說
- 四十三、微軟精神失常了
- 四十四、我們的.NET對策
- 四十五、請問,我可以使用連接程序嗎