策略書之五

作者:周思博 (Joel Spolsky)
譯:Paul May 梅普華
Wednesday, June 12, 2002
屬於Joel on Software, http://www.joelonsoftware.com


我讀大學時修了兩門經濟課程:總體經濟和個體經濟。總體經濟滿是「低失業率導致通貨膨脹」等現實中不太能成立的理論,不過個體經濟則是酷又有用。裡頭都是討論供需間關係而且真正可用的概念。舉例來說,如果你的對手降價而你不跟進,你的產品需求就會減少。

我想在今天的文章指出,其中一個概念如何能解釋某些熟悉的電腦公司。我注意到開放源碼軟體有件事很有意思,就是大多數砸大錢發展開放源碼軟體的公司,並不是突然愛上言論自由放棄資本主義,而是認為這是個好的商業策略。

市場上所有的產品都有替代物品互補物品。替代物品是首選商品太貴時會改買的另一種東西。雞肉就是牛肉的代替物品。如果你是雞農而牛肉的價格上升,大家都要買更多雞肉而你的銷量就增加。

互補物品是通常會和其他產品一起購買的產品。車和汽油是互補物品。電腦硬體是典型的電腦作業系統互補物品。褓姆則是高級餐廳用餐的互補物。當小鎮的五星級餐廳提供兩人同行一人免費的情人節特惠方案時,當地的褓姆也會忙得不得了(事實上連九歲的小朋友要出動了。)

其他事都一樣,當商品的價格下降時互補物品的需求就會增加。

讓我重複一遍以免你打瞌睡沒看到這個重點。當商品的價格下降時互補物品的需求就會增加。舉例來說,如果到邁阿密的機票降價,當地旅館的住房需求就會上升,因為會有更多人去邁阿密就會需要房間住。當電腦變便宜就會有更多人買,由於電腦要有作業系統,於是作業系統的需求就增加,而作業系統的售價也水漲船高。

這時候大家常常會出來打岔,他們會說:「啊哈!可是Linux是免費的!」好吧。首先經濟學家談到價格時是指整體價格,裡面包括安裝時間、人員再教育、現有流程轉換等無形的事物。這所有的東西我們稱之為「整體持有成本」。

再來這些支持者會因為免費啤酒的說法,試圖相信自己不受經濟定律限制,因為他們有個很棒的零,而任何數字乘以都沒有了。這裡有個例子。SlashdotLinux開發者Moshe Bar未來的Linux核心是否能與現有裝置驅動程式相容,他回答不需要:「專屬軟體每行除錯好的程式碼收費50到200美元。這樣的價格不適用於開放源碼軟體。」Moshe繼續聲稱,每次Linux核心改版讓現有驅動程式失效是正常的,因為重寫現有驅動程式的成本是零。這實在是錯得離譜。他等於是聲稱維持核心向後相容所花的小工夫,等價於重寫所有驅動程式的大量程式作業,因為兩者都會乘以各自的「成本」,而他們相信這個成本都是零。這是一個似是而非的謬論。修改現有裝置驅動程式需要開發人員投入數千甚至數百萬小時,一定會產生某些費用。而且在這些工作完成之前,Linux因為不能支援現有硬體,在市場上等於又再變回殘廢。把這些「零成本」的工夫拿來改良Gnome或支援新硬體不是更好嗎?

不管是專屬軟體還是開放源碼軟體,除錯絕對不會是免費的。即使沒有實際付錢,還是有機會成本和時間成本。投入開放源碼計畫的志願性程式人力是有限的,所有開放源碼計畫都在爭取同一群有限的程式設計資源,只有最具吸引力的計畫才能擁有超過需要的志願開發者。總而言之,我不認同這些試圖證明啤酒免費這種荒唐經濟的人,因為我認為他們只會得到「除以零」的錯誤。

Eazel closed.開放源碼並不能免於重力或經濟法則。由Eazel, ArsDigita的事就可以知道,這家公司以前以VA Linux和很多其他企圖而聞名。不過有些在開放源碼世界中很少人真正瞭解的事還在繼續進行:很多有責任儘量提升股東價值的大型上市公司,投入很多資金支持開放源碼軟體(通常是負擔大型程式團隊的開發費用)。而這正可以用互補物的原理來解釋。

再說一遍:當商品的價格下降時互補物品的需求就會增加。通常公司的策略利益是讓互補商品的價格愈低愈好。理論上能維持住的最低價格是「普及價格(commodity price)」,也就是會有很多競爭者提供相同商品時的價格。所以:

聰明的公司試圖讓產品的互補物普及化(commoditize)。

如果你能做到這一點,產品的需求就會上升而你就可以賣貴一點然後賺更多錢。

當IBM設計PC架構時是用現成的零件而非訂製零件,而且他們很小心地編寫零件間的介面文件IBM-PC技術參考手冊(革命性的作法)。為什麼要這樣做呢?因為這樣子其他製造商就可以進來一起做。只要你遵循介面,就可以用在PC裡。IBM的目標是要普及附加產品,而附加產品正是PC市場的互補物品。他們做得相當成功。在短時間內就湧現大量的公司提供記憶體卡、硬碟、顯示卡、印表機等商品。便宜的附加產品意味更大的PC需求。

當微軟把作業系統PC-DOS授權給IBM時,很小心的沒有賣出獨占授權。於是微軟就可以把相同的東西,授權給Compaq和其他幾百家利用IBM自己的文件合法複製IBM PC的OEM廠商。微軟的目標是要讓PC市場普及化。不久PC本身也成為日用品了,價格愈來愈低,功能持續提升,而且也很難有獲利的空間。而低價當然就會提升需求。PC需求增加表示其互補物MS-DOS的需求也增加了。. 沒有例外的,產品需求愈大賺到的錢就愈多。難怪比爾蓋茨買得起瑞典而你不行。

今年微軟想再玩一次:他們的新遊戲主機XBox也是用普及的PC硬體而非訂製零件。他們的理論(這本書裡有解釋)普及的硬體每年都會愈來愈便宜,所以XBox可以順勢降價。不幸的是他們弄巧成拙:顯然PC硬體已經被壓到普及價格,所以XBox的製作成本下降並不如微軟預期快。微軟XBox另一個策略是使用DirectX,利用這個繪圖程式庫寫的程式能在所有的視訊晶片上執行。這裡的目標是想普及化視訊晶片並使它降價,就能賣出更多真正能藉以獲利的遊戲。那麼為什麼視訊晶片廠商不想辦法去普及化遊戲呢?因為難做到。雖然最後一戰(Halo)這個遊戲瘋狂大賣,可是並沒真正的替代品。你並不會跑去電影院想看最新的星際大戰,卻又認為改看伍迪艾倫的電影也可以滿足你。這些都是好電影,不過絕對不能彼此替代。好啦,你想當遊戲發行商還是視訊晶片廠商呢?

讓你的互補物品普及化。

要解釋為何這麼多商業公司對開放源碼投入很大的貢獻,瞭解這個策略有非常大的幫助。讓我們來看看。

頭條:IBM投入數百萬美元發展開放源碼軟體

神話:他們會這樣做,是因為Lou Gerstner讀了GNU Manifesto後決定自己其實不喜歡資本主義。

現實:IBM是因為自己已成為IT顧問公司才會這樣做。IT顧問是企業軟體的互補物品,所以IBM必須讓企業軟體普及化,而最好的方法就是支持開放源碼軟體。看吧,他們的顧問部門靠這個策略大獲全勝

頭條:Netscape公開其Web瀏覽器的源碼

神話:他們這樣做是為了取得某些紐西蘭網咖客貢獻的免費程式碼。

現實:他們是要讓web瀏覽器普及化。

從一開始這就已經是Netscape的策略了。看看Netscape早期第一份公開新聞:這個瀏覽器是「免費軟體」。Netscape發放瀏覽器是為了要讓伺服器來賺錢。瀏覽器和伺服器是典型的互補產品。瀏覽器愈便宜,賣出的伺服器就會愈多。這在1994年有最真實的呈現。當MCI進門把那麼多錢倒在他們身上時,Netscape是真的嚇到了,他們瞭解到瀏覽器本身也可以賺錢。這時當初的商業計畫書沒有寫到的。

Netscape把Mozilla以開放源碼方式發行,是因為他們看到降低瀏覽器開發成本的機會。這樣就能以較低的成本獲得普及化的利益。

稍後AOL/時代華納併購了Netscape。伺服器軟體應該是瀏覽器普及化的受益者,可是賣得不好就被拋棄了。問題來了:為什麼AOL/時代華納要繼續投入開放源碼呢?

AOL/時代華納是個娛樂公司。娛樂公司是各種型式娛樂傳遞平台(包括web瀏覽器)的互補。這個巨人集團的策略利益在於讓娛樂傳遞(也就是web瀏覽器)普及到沒有人能因而收費。

Internet Explorer免費的這個事實有點動搖我的論點。微軟也想讓web瀏覽器普及化,這樣他們才能販售桌上型及伺服器的作業系統。他們想再進一步提供一組元件,讓大家都能快速拼湊出一個web瀏覽器。Neoplanet和AOL還有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 Office然後開放源碼一樣:讓軟體普及化然後由硬體賺更多錢。

頭條:Sun開發出Java這套全新的"Bytecode"系統,寫一次程式可以到處執行。

Bytecode的想法並不新,程式師一直在嘗試讓自己的程式盡可能在更多的機器上執行(這就是讓你的互補物普及化的方法)。多年前微軟就擁有自己的p-code編譯器和可移植的視窗層,讓Excel能在麥金塔、Windows、OS/2等系統以及Motorola、Intel、Alpha、MIPS和PowerPC等晶片上執行。Quark也有一個中間層可以在Windows上執行麥金塔的程式。C程式語言最佳的描述方式就是一個獨立於硬體的組合語言。對軟體開發人員來說這並不是新點子。

如果任何地方都執行執行自己軟體,硬體就更像是普及化產品了。而硬體價格下降會驅動更大的軟體需求(而且讓客戶由硬體省下更多錢去買如今會更貴的軟體。)

Sun對WORA的狂熱可說是奇怪的,因為他們是家硬體公司,而硬體公司最不應該做的事就是讓硬體普及化。

真是令人太驚訝了!

Sun是電腦界有名的怪公司。他們無法看透自己對微軟激烈的恐懼及痛恨,所以其策略都是基於激憤而非自身利益。Sun的兩大策略是分別是(a)推廣並發展免費軟體(Star Office、Linux、Apache、Gnome等)讓軟體普及化,以及(b)推廣Java及其bytecodeWORA架構和讓硬體普及化。好吧,來問Sun一個問題:當音樂結束時你想坐在哪裡?你在硬體或軟體上都沒有獨有的優勢,這樣只能接受普及化價格。這種收入只能勉強維持墨西哥的廉價工廠,可養不起你在矽谷舒適的辦公室。

「約耳等一下,」傑瑞德說:「Sun是想Transmeta像那樣讓作業系統普及化,並不是要普及化硬體。」或許吧,不過事實上Java bytecode也讓硬體普及化了,因而會為他們帶來相當重大的附帶傷害。

這所有的例子裡都有一件很重要的事,軟體是很容易讓硬體普及化的(只要寫個小小的硬體抽象層,比像Windows NT的HAL就只有很小一段程式),不過硬體想讓軟體普及化卻是難上加難。就如StarOffice行銷團隊所學到的教訓,軟體是不能互換的。即使價格為零,由微軟Office切換過來還是需要成本。除非切換成本變成零,否則桌面辦公室軟體不可能真的普及化。兩套軟體間即使差異極其微小,還是會造成切換時的痛告。雖然Mozilla的確擁有我所有想要的功能,而且單單是擋廣告的功能就讓我會愛用它,可是我實在太習慣按Alt+D跳到網址列了。你能怎麼辦?去告我嗎?只是一個小小的差異就失去普及化的狀態。可是我可以由IBM的電腦抽出硬碟,直接塞進Dell的電腦裡,打開電源整個系統還是完全正常的啟動並運作,就像沒換電腦似的。

Creo的執行長Amos Michelson告訴我,他公司裡的所有員工都被要求去聽一間叫「經濟思考」的課。真是好主意。因為即使個體經濟學的基本觀念,對瞭解現在發生的重要變化都很有幫助。

 

 

這些網頁的內容為表達個人意見。
All contents Copyright © 1999-2006 by Joel Spolsky. All Rights Reserved.