今天很有興致來思考思考和討論討論這個問題,我對軟件標準是很感興趣的,我也相信有很多人對軟件標準也是很感興趣的,但是是不是每個人都能看到軟件標準發
展的統一規律呢,未必,我也不能,我只是想探討一下一個軟件標準在發展的過程中競爭與合作彼此交替出現的現象,以及這個現象背后的原理。
我們以一種抽象的軟件標準為例。假設這種軟件標準在創立之前,人們只能通過使用其它方法或技巧(technics),
或者某個父領域的標準中的某一段來
解決問題,我們統稱這些解決方案為舊標準,即使它并沒有標準存在,用字母A待指。此時,一種新生的軟件標準——專門用來解決這一問題的解決方案誕生了,我
們稱為B標準。B標準在其創立之初是
非常有潛力的,非常有生命力的,但它必須面對A標準的全面打擊,不過不用擔心,一般情況下第一個吃螃蟹的人不會太慘。
B標準頑強的生存了下來,并逐漸被人們接受。
當B標準正在被人們接受的同時,其它標準也應時代而生,因為與B標準可能采用不同的解決方案,它們不得不制定別的標準。當然也有這種可能,這些標準的制訂
者在考慮問題時并不知道B標準的存在——因為它當時還十分弱小,或根本沒把B放在眼里。于是B2、B3應運而生,在他們的壓力下,B標準不得不澄清與它們
在實現方式上的不同,而轉變為B1。
競爭再度開始,B1、B2、B3之間的競爭是更激烈的,(達爾文稱為種間競爭),因為它們彼此相互排斥,不會有一個大型項目采用其中的兩種或兩種以上。但又由于它們面對同樣的問題域,最后導致的結果只能是相互學習,因為只有這樣才能保證不被擊垮。
事務的發展往往具有戲劇性的效果,正是因為它們選擇了一條不會被取代的道路,它們才注定會被取代!新的標準必將取代群雄逐鹿的局面,才能穩定市場,因為客
戶其實是不希望多個標準同時存在的。于是C標準被建立起來,C標準的建立有兩種渠道,一種是大型廠商如IBM等的介入,它們支持B中的一個以合并其它標
準,另一種情況是其它標準自己將自己貢獻給其中最強大的一個,彌補它在其它方式解決方案上面的不足。在經歷了一段穩定期后,C標準最終成熟起來。
大量商業應用會建立在C標準之上,因為它確實太出色了。但是好景不長,隨著市場的發展,C標準的生命周期也會有終結的時候,此時它又面臨兩種可能的境地。
第一,問題域進一步細分,又出現了很多0解決方案的領域,如果讀者稍加注意,就會發現C標準目前已經處在當初A標準所處的位置了(注意前面紅字的位置)。
第二,可能會存在另一個與C標準競爭的新解決方案誕生,它一誕生就具有強大的生命力,且采用與B標準不可能調和的解決方案,如同Java和DotNet一
樣,(這和前面藍字的部分是有區別的),我們稱為D標準,此時D標準要做的不只一件事,它既要和C標準爭天下,又要盡量平息自己內部的矛盾,在兩線作戰的
情況下,D標準可能曇花一現或者干脆把C干掉,坐到A的位置上去。
做軟件的泡泡
posted on 2005-03-20 23:43
Brian Sun 閱讀(2375)
評論(4) 編輯 收藏 所屬分類:
軟件