軟件行業三十六計之三: 借刀殺人

前面的嘻話里我講了一些關于開源軟件的思考。有一個問題總是縈繞在腦海,也總是有人問起,好像我還沒有回答好。那就是,如果開源不以賺錢為目的,為什么公司還趨之若鶩?如果賺了錢,是否還會回饋到社區助其繼續成長?

以前我經常舉的一個經典例子是”Visual Studio“和”Eclipse“在集成開發環境(IDE)的牛耳之爭。

當年,在這個領域領先的軟件公司是不愿意免費貢獻源代碼的。可是2001年11月左右IBM大筆一揮,推出Eclipse社團, 整合了Borland,Together Soft,以及Rational Software等等軟件工具開發商的同仁一起推廣。

當時大眾,包括我在內,得到的印象是,IBM資助了價值4000萬美元的源代碼,免費提供給軟件開發人員使用,以便打破微軟在Visual Studio IDE方面事實上的壟斷。

當時,Eclipse的名字叫得十分響亮,讓人聯想到日月食,以至于之后的產品系列有很多命名為太陽系的星球(Europa,Jupiter等等) (參見前面關于程序命名之煩惱的嘻話,咱們學著點!)

由于Eclipse SDK開源,衍生出來的產品也紛紛開源,而且一致地接受Eclipse Public License(EPL)而不是GNU自由軟件的GPL,這是因為從商業的角度考慮,IBM的律師把軟件授權書字斟句酌,保證不讓相關開發商的利益受損。(關于EPL我以后還有一些故事可以講,但在這里因為不是重點就先略過了)。

在2007年前后,響應Tao Xie(謝濤)和Ahmed Hassan等同事的號召,我們也開始研究軟件資料挖掘。

因為對Eclipse相對比較了解,我專門搜集了它6年來演化的源代碼,對它的體系結構和模塊關系等方面的變化做了一些有益的探索(Wermelinger et al., 2008), 從技術上發現一些有意思的現象。

比如Eclipse體系結構演化從1.0開始就存在一個恒古不變的核心,以不變應萬變,利用插件的可擴展性應對了不少需求的可變性,等等(Wermelinger et al., 2009; 2011)。


這里你可以清楚地看到,盡管時時增加和減少插件,Eclipse SDK原始1.0版本的30來個插件中有26個自始至終貫穿所有后續版本的SDK。

進一步分析其錯誤報告人之間的社交網絡及其抽象概念關系,我們發現Eclipse的開發團隊也分散在全球各地。

其中多倫多和蘇黎世的兩個IBM團隊為主力,分別維護不同的核心插件(比如加拿大團隊@ca.ibm.com專注于PLATFORM界面,瑞士團隊@ch.ibm.com專注于Java Development Tool (JDT)界面)。

而個別有影響的成員,比如Erich Gamma@ch.ibm.com(Design Pattern一書的作者)則橫跨多個插件項目,作為協調人為他們穿針引線,等等有趣的現象,參見(Wermelinger et al, 2009)。


回到前面的話題,驅動IBM干這么一件大事背后的商業動機究竟是什么呢?Rational Software的Cernosek在回顧Eclipse簡短歷史的文字里透露了實話(Cernosek,2005)。

原來,當年IBM意識到自己的開發工具已經落伍于競爭對手微軟的Visual Studio了。與其逐漸喪失競爭優勢,被對手把市場蠶食干凈,不如壯士斷腕,割血止損。而開源的目的,用一句話,In fact the name “Eclipse” actually means “to eclipse Visual Studio.” 翻譯過來就是,Eclipse取名的來由是為了“跳過”Visual Studio,彎道超車。這里的名詞Eclipse又可以作為動詞用,一語雙關!

IBM不愧是商業的老手!在向競爭對手進攻的時候,不忘了籠絡一個社團,組織友軍,借刀殺人!說句難聽的話,開源社區有點被當槍使了。

還好經過多年的發展,Eclipse已經茁壯成長,脫離了純粹的商業目的。

而微軟在這個過程中也表現得很好,處變不驚。事實上,微軟還專門為Eclipse開發了不少插件,來引導軟件開發人員更方便地進入其陣營。Eclipse的C#語言開發工具也用不少來自于微軟的貢獻。

時過境遷,今天倒過來看,最后做到你中有我,我中有你,化敵為友了。

對于要不要支持開源軟件開發,尤其是在公司的朋友們千萬不要過于糾結于一時的利益,看問題要從長計議!

參看文獻

Gary Cernosek (2005). A brief history of Eclipse. http://www.ibm.com/developerworks/rational/library/nov05/cernosek/

Michel Wermelinger, Yijun Yu, Angela Lozano, Andrea Capiluppi: Assessing architectural evolution: a case study. Empirical Software Engineering 16(5): 623-666 (2011)

Michel Wermelinger, Yijun Yu, Markus Strohmaier: Using formal concept analysis to construct and visualise hierarchies of socio-technical relations. ICSE Companion 2009: 327-330。

Michel Wermelinger, Yijun Yu: Some Issues in the 'Archaeology' of Software Evolution. GTTSE 2009: 426-445

Wermelinger, Michel; Yu, Yijun and Lozano Rodriguez, Angela (2008). Design Principles in Architectural Evolution: a Case Study. In: Proceedings of the 24th IEEE International Conference on Software Maintenance, 28 Sept - 4 Oct 2008, Beijing, China, IEEE, pp. 396–405.

Michel Wermelinger and Yijun Yu. 2008. Analyzing the evolution of eclipse plugins. In Proceedings of the 2008 international working conference on Mining software repositories (MSR '08). ACM, New York, NY, USA, 133-136.

最后忘了說,這篇小文也是我的“軟件行業三十六計”系列嘻話之三:

“借刀殺人是兵法三十六計的第三計,比喻不是透過自己,而是假借別人的手去害人。

原文為:「敵已明,友未定。引友殺敵,不自出力,以《損》推演。」此計的含義是借用一方的力量來消滅另一方的力量。這個計謀經常被使用與演義,歷史上有很多與這個成語相關的故事和典故。即使在今天,很多非常吸引人的,高潮迭起的電影也是貫穿著這樣的情節。”

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 230,247評論 6 543
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 99,520評論 3 429
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 178,362評論 0 383
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,805評論 1 317
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 72,541評論 6 412
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,896評論 1 328
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,887評論 3 447
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 43,062評論 0 290
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,608評論 1 336
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 41,356評論 3 358
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,555評論 1 374
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 39,077評論 5 364
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,769評論 3 349
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 35,175評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,489評論 1 295
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 52,289評論 3 400
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,516評論 2 379

推薦閱讀更多精彩內容