科技新知

開放原始碼大勢所趨

作者/李輝超   [發表日期:2015/8/5]

前言

不過是幾年前而已,當許多企業還在爭論開源(開放原始碼open source)是否是未來趨勢,令人印象特別深刻的是,微軟前CEO Steve Ballmer形容開源為癌症,微軟創辦人Bill Gates更是批評說,Linux像是學生在玩遊戲,商業市場也不成熟,相信根本做不出什麼厲害的東西。

近幾年隨著主流的開發平臺逐漸開源化,Linux接管了超級電腦的市場,以全球前500大超級電腦來看,2014年,內含Linux作業系統的超級電腦,已經成長到了485臺(在2000年為54臺,約只占百分之十),其實早在2007年Linux 作業系統就已經大舉進駐華爾街,利用開源幫助他們處理龐大的金錢及股匯市。更由於輸入工具,如觸控、聲音、手勢、情感訊號等越來越普及,讓更多的類比表意訊息進入數位世界,再沿著新的輸出方式,如立體印製、擴增實境與可程式化物質進入生活,讓開源專案的內容也將不受平面影音文字媒材的侷限,而應用到更多的層面之中。Android (基於Linux之作業系統) 的興起,進一步帶起行動化領域的蓬勃發展,舉凡隨身攜帶的智慧型手機、平板、家裡用的桌上型電腦、智慧型電視、辦公室的筆電、公司機房內的伺服器、無人飛機、無人駕駛汽車、3D列印、機器人、雲端、智慧城市、物聯網等等,都有開源的身影,開源可說是無所不在如日中天,深深地滲入了企業、產業和你我的日常生活裡。

在過去的15年間,開發者已經表露出對開源工具和平台的偏愛,逼的蘋果不得不對外開放,計劃2015年底開源Swift系統核心,同時也要將Swift應用於Linux中,甚至競爭十多年的Windows世界,也在2014年微軟新任CEO Staya Nadella上任後,開始喊出「微軟愛Linux」,更在同年11月,決定開源釋出 .NET伺服器端核心,讓 .NET應用可以執行在Linux和OS X上,為開源界投下了一顆震撼彈,是開源史上的新里程碑,連谷歌也不得不承認,開源已經成為今日IT產業的主流趨勢。

雲端時代將是開源的天下

在雲端界被譽為雲端Linux的開源雲端作業系統OpenStack,在開源Linux基金會公布的2014年度最受歡迎的開源專案中奪得第一名,甚至可以說已經成為雲端平臺作業系統的標準。

自2010年OpenStack成立以來,吸引了許多軟體或硬體的龍頭廠商,來搶食OpenStack商機,包括紅帽宣布OpenStack商用版提供3年技術支援、Ubuntu/Canonical提供5年技術支援,惠普與IBM相繼推出了用OpenStack為基礎所打造的自家雲端服務平臺,連微軟早在幾年前宣布Hyper-V能與OpenStack互通,還包括了英特爾、思科、戴爾、惠普、甲骨文、紅帽、AMD、IBM、VMware、Ubuntu、SUSE、EMC、SAP、Seagate、WD、NetApp與NEC等。

而許多傳統的企業IT部門,也開始採用OpenStack來打造內部的IaaS平臺,如AT&T、法國Orange電信、雅虎、Paypal、淘寶網與BMW等,在各方人馬不斷湧入後, OpenStack已經改變了雲端產業市場,在OpenStack生態系統中,現在已出現了數百家廠商,提供服務給數千家企業或機構,OpenStack也推出了OpenStack市集,其中包括公有雲、流通與應用、訓練與顧問、系統整合與驅動程式等,協助企業可以透過詳細的技術規格與產品資訊等,來比較各廠商提供的服務。

在講求速度為王的世界中,由於企業需要更大的彈性與自由來擴充規模,開源釋出的OpenStack讓企業可以隨時取用各式各樣的功能與程式碼等,大大提高了企業擴充雲端基礎架構的速度與彈性。再來,由於開源領域變化得太快,開發者必須比一般應用商業軟體的IT人,更隨時關注科技最新的變化,走在世界的最前端,企業使用了開源專案,就能一直跟上世界最新的進展,讓產品更具有競爭力。此外,開放原始碼的計畫或是專案,更是很好的機會讓企業或是廠商了解,世界上其他的專家,擁有什麼樣的知識與技術。

在OpenStack之後,問世才近2年的開源輕量級虛擬化技術Docker也席捲了IT世界。2013年2月,Linux之父Linux Torvalds宣布了發表Linux核心3.8版的消息,其中強化了Control Group和Namespaces的機制,實現了開源社群努力多年的Linux Container(LXC)技術。LXC顛覆了開發者打造應用程式的思維,也改變了MIS傳統的維運模式,許多IT企業紛紛開始支援Docker,如微軟就宣布要在Windows Server內建Docker引擎等。不過,真正的讓LXC產生巨大影響力的是,Docker公司打造出了Container的標準化平臺,Docker創辦人暨技術長Solomon Hykes表示,Docker真正的價值就是讓人們建立共識,而非在於技術,真正實現了開源的精神。

開發社群平臺顛覆開源經濟模式

自2008年開始,大幅改變開源界互動模式的就是版本控制服務GitHub,短短7年,GitHub成為全球最大開源專案代管平臺,超過9百萬名開發者註冊,建立了超過2千萬個開發專案,連Google都計劃關閉自家Google Code服務轉而力推GitHub,也是微軟開源釋出 .NET核心程式碼的首選。

以前程式設計師很難可以看到別人的程式碼,不過在GitHub之中,由於有追蹤功能,來讓開發者共同撰寫程式碼,與開發各式各樣的開源專案,不同於過去只有少數科技人參與的開源社群,隨著GitHub出現,讓沒有軟體開發經驗的人,也能透過GitHub增加的記錄、發布、版本追蹤等功能,讓更多的人可以進入開源圈。GitHub 首先是藉由易用的Web界面,普及了Git的分散治理模式,幾乎完全取代了以Subversion為代表的集中模式。GitHub將開源程式碼、修訂、瑕疵回報等開發過程的產物定址成鍵連資料,進而將它們轉化成社會物件,因此產生了類似新興社群媒體的網路效應,使Google Go和Microsoft .NET團隊都放棄了自家的開放原始碼平臺,移轉到GitHub上開發,以爭取社群的支援。

GitHub的成功,不只是因分散式設計的Git軟體,另一個關鍵是GitHub選擇了SaaS的商業模式,GitHub商業模式最大的威力是自助式服務(Self-Service)。過去因為開源軟體人人都可免費取得,所以,傳統的開源軟體公司大多靠授權和提供支援服務來營利,例如Red Hat就是這種第一代開源商業模式的典型代表。「傳統開源模式是服務合約式(Service Contract)商業模式」,缺點是,銷售過程需要和客戶大量接觸,如得派業務人員和客戶協商合約。但GitHub的商業模式是,免費提供,盡可能地讓顧客愛用,顧客越用越多後,自然而然就會想要購買進階功能,完全不需要銷售說服的過程。GitHub服務的定價策略是,凡是對外公開的專案完全免費使用,不限使用人數或資料量,只有使用者或企業想要在GitHub上建立不公開的封閉專案時才需要按月付費,而且不公開的專案越多,費用越高。顛覆了傳統開源軟體公司的免費套裝搭付費服務的模式,後續,不少開源新創公司,如Docker也跟隨GitHub採用了這種與過去截然不同的開源新商業模式。

反思開源的安全性

趨勢科技近期公布了當前全球重要的資安發展趨勢,其中POS惡意程式及行動裝置等攻擊與日俱增,針對Shellshock漏洞,報告也指出:Shellshock漏洞影響到Bash 4.3版以前所有版本,在美國國家漏洞資料庫的分類中嚴重性為10(總分10),駭客可透過Shellshock漏洞取得權限執行任意指令,且攻擊的容易程度令人咋舌。

Shellshock漏洞所影響的範圍非常廣泛,簡單來說,Bash無所不在,在許多缺乏正常更新或支援機制的系統中,都有它的存在,也就是世界上仍有許多的裝置都存在這個漏洞。我們除了設法做好防範,更重要的是必須重新思考Linux及開放原始碼軟體的整體安全性。

Shellshock漏洞被確認後,人們才開始認真思考開放原始碼專案的安全管理;相關的爭論未來必定還會持續下去,但卻無法改變駭客可以輕易找到開放原始碼軟體漏洞的事實。我們必須謹記,處於防禦地位的我們同樣也能取得原始程式碼,並且迅速地修正任何被揭發的漏洞,但封閉原始碼的軟體則必須仰賴程式維護人員來提供更新,因此好壞參半。

這個漏洞真正突顯的是,開放原始碼專案以及使用者社群有必要多花心思於使用者安全性。對於開放原始碼專案來說,專責的安全審核是有其必要性的。大多數的專案都擁有良好的問題回報及解決流程,但這樣還不夠,我們必須預先防範這類問題發生,因此須要靠大家同心協力,若企業使用了開放原始碼軟體,那就應該審查這些應用程式的原始碼是否有任何安全上漏洞,並於完成審查後將結果回報給專案小組。

結論

開源從1990年代只有少數對開源具有狂熱的開發者組成,到了21世紀,開源已經深入運用到各個領域中且成為主流的趨勢。2014年物聯網(IoT)在全球迅速爆紅,未來兩三年,更將會是物聯網應用的大爆發期,物聯網開源也同時跟著快速發展,如:華為推出專為物聯網而設計的開源化系統 LiteOS,以打造全球物聯網生態系統,Google發表新開源計畫Physical Web,希望能夠建立人們與物聯網裝置互動的新標準,Apple也透過開源Swift展開對物聯網的卡位佈局,Swift以先進的LLVM技術為基礎兼具簡單易學與高效率的雙重優點,以Swift作為主要的韌體開發語言,估計不用三年時間,Swift就會成為開發物聯網應用時最主要的程式語言。根據IDC國際數據資訊最近所作研究顯示,IT現行封閉式解決方案,預估到了2018年,將會有6成轉成使用開源軟硬體,有助驅動物聯網走向普及化。(作者目前服務於凌群電腦NSK服務總處)

資料來源

1. iThome 新聞 發表日期 2015-01-22 、 2015-04-22
2. 網管人 第108期 產業趨勢