今時今日,開源軟體已廣為企業用家接受,也似乎沒有甚麼新鮮知訊可分享。筆者在企業用開源軟體行業打滾近十五年,先後在商用 Linux 廠商的老二及老大─ SUSE 及 RED HAT 擔任總經理之位,見証了香港企業使用開源科技的心路歷程,也總算有些江湖趣事可與大家分享。
節省成本
「你們的價格真不便宜,跟閉源系統的價格差不多呀!」在筆者記憶中,已不知聽過這句說話多少次。而我們總冷淡的回覆:「要免費,可以自行下載原碼,再打包成軟體使用,但有什麼問題,就不要找我們了。」客戶聽罷,定必馬上閉咀,客戶深明在有問題時需要有人「承擔責任」,也明白付「保護費」是必須的。但無論如何,開源軟體的費用還是便宜的。用香港一家銀行做例子,閉源中間件軟體,三年的使用証及保養費用,千多萬元美金,筆者屈指一算,要是轉用為開源軟體,是它的三份之一價錢。
開源軟體文化能成為主流,多得大型網上服務提供者如 Google 、Amazon 和 Facebook 等世界級數據中心,均以開源軟硬體為主道。這班科技先驅,証明了自家支援的開放源碼軟體,能夠支援海量級的服務需求,可說是開源軟體的「陳列室」。另一邊廂,對成本控制十分敏感的國際大企業,也率先大規模往開源軟體遷移,造就了企業級開源軟體商如 Red Hat 的快速增長。Red Hat 一年生意額已超越二十億美元,但其 CEO Jim Whitehurst 卻打趣說,如果 Red Hat 是一家閉源軟體商,生意額恐怕已超過百億美元了。
安全考慮
開源軟體是危險還是安全,辯論多年。大家都明白,只要是軟體,就有出現漏洞的可能。開源陣營常說,源碼多人見,出錯機會少;閉源陣營卻說,源碼能看見,駭客開心笑。誰對誰錯,各有論點,但事實 Linux 源碼曾發現存在多年的錯誤漏洞,証明就算開放源碼,有興趣及能力去查核的人是少數,而駭客要攻擊,也不一定參考源碼,種入機器碼或改寫記憶體,攻擊更直接徹底。
雖然開閉源軟體均有漏洞,但當中的危機處理手法卻是值得大家探討的。開源軟體如 Linux, 一旦被發現有致命隠疾,各界名醫即時會診斷証,極速藥到病除。而曾經有閉源軟體公司的工程師團隊,在發現程式漏洞後拖延了很長的時間,才發補丁改正。閉門做車,命運只能任人操控,這也正是閉源軟體的毛病。
靈活性及擴展性
至於靈活和包容,開源軟件的優勢無用致疑。筆者常用汽車來比喻:一部電油引擎汽車,上至火咀風隔、下至輪胞和剎車皮,除了有原廠配件外,更有多家第三方供應商的配件可供選擇。汽車結構公開透明,配件接合點依巡國際標準,單是輪胎,至少也有四五家廠商、十多個款式以上任君選擇。開源軟體的原理一樣,設計公開透明,靈活加建擴展全無難度。
閉源軟體商有見及此,也跟風大談開放接合點,加強靈活和擴展性。但閉源軟體商在商言商,往往以唧牙膏方式跟第三方接合,當產品在市場上大賣,客戶完全被控制在其手上時,開放接合並無迫切性。而閉源軟體談開放,也只是提供周邊的程式接合點 (API),開放程度,全由廠商單方面決定,也可隨時隨著版本更新而改變及取消,提供多源的靈活性,並不在閉源軟體的 DNA 體內。
解決方案的選擇
無論是開源閉源,只要平台受客戶歡迎,解決方案必會優先支援。早年在銀行界使用的方案,多以支援 UNIX平台為主力,但近年卻以支援 Linux 及其他開放平台為先。筆者曾遇過一個十分保守的客戶,對開源軟體如 Linux 一直十分抗拒。有一天客戶的技術團隊忽然主動來電,詢問有關 Linux 和 JBoss 中間件的培訓資料。詳細了解之下,原來他們一直使用的一個解決方案,在新的版本上已放棄支援閉源大廠的中間件平台。客戶一直是大廠的忠實粉絲,卻突然從夢中驚醒,那刻真的有點措手不及。
值得關注的是,整體的運算架構,正高速往開源方向發展。由硬件層開始,Facebook 成立了 Open Compute Project, 公開了他們在硬件上的設計;底層運算平台早已有 Linux,中間件有 JBoss,數據庫有一眾 noSQL 如 MongoDB 等開源項目,現在連大數據的核心運算也有開源的 Hadoop,開源部件,已經深入各個軟體層。筆者深信開源閉源並非對與錯的選擇,抱著開放態度多了解多學習,相信是我們 IT 人生存的必要條件。
作者:Peter Man
Red Hat Regional Director