跳到主要內容

科技大觀園商標

分類項目
Menu

奠定資訊工業基礎的自由軟體與開放原始碼(菁華版)

107/05/18 瀏覽次數 1799
Apple和Google(在行動通訊領域)是敵人還是朋友?他們是百分之百的競爭對手,但雙方卻在工程和技術研發長期合作,而合作的形式就是透過開放原始碼(open source)。
 
黃敬群以網頁瀏覽器引擎為例,蘋果在macOS使用了由開放原始碼KHTML修改而來的WebKit,並在2005年貢獻回開源社群。之後Google在開發瀏覽器時也以Webkit為架構。雖然後來Google另外開發Blink瀏覽器核心,但顛峰時期,兩家公司都出動了300名全職工程師做WebKit的開發。
 
開放原始碼儼然是資訊科技工業不可或缺的開發模式,其中開發者往往兼具協作者和商業競爭的雙重身分,這對產業造成巨大影響。另外,根據資訊服務公司Black Duck 統計,完全不使用開放原始碼的公司不到3%,而78%的公司使用開放原始碼技術建構自身產品和服務來獲利。自2010年起,使用開放原始碼做為服務基礎的公司,在數量上成長兩倍。

怎麼有傻子去貢獻程式碼?
 
探討這問題之前,先看看保險公司的例子。保戶為了更低的保費,通常願意交出部份個人資料(證明自己是良民)。你用Google或facebook的服務,也是類似的交換。開放原始碼在某個角度也是像這樣。例如,Apple和Google是競爭對手,但為了共同利益會去創造專案,彼此分享知識和成果。
 
但開放原始碼如何獲利?黃敬群指出,前提就是要活絡經濟︰「看看誠品書店,非書的營業佔比高達70%,書店不到30%。因此,獲利的關鍵就是把影響力做大,也就是把餅做大。」市場一旦缺乏多樣性,往往無法有效因應變革,正如人們對書店的互動模式已非限於書本的購買,誠品書店很早即導入多角經營。用類似的道理來看資訊科技產業,透過開放原始碼讓相通的技術基礎得以快速累積,廠商自然可開拓更多元的市場,從而尋覓更大的商機,再創造正向循環。
 
回到Apple和Google。大家熟悉的Apple的iTunes 看似是個獨立應用程式,但主要內容其實建構在網頁前端技術──兩家公司都希望市場存在更多高品質的網頁導向的應用程式,可降低跨平台開發需求。因此,兩家公司想把瀏覽器引擎做好的動機很具體:降低彼此的開發與維護成本。此外,兩家公司因應高速發展的行動運算晶片和執行環境,而在 LLVM(另一項開放原始碼編譯器開發框架) 上合作,也是基於同樣道理。

開放原始碼的啟發
 
以智慧財產歸屬的觀點來看,開放原始碼以公共財的形式存在,刺激了基礎軟體建設(如作業系統核心、資料庫管理系統、網路伺服器等)的發展。這有點像高速公路,大家把基礎建設做好,就能增加資訊需求,間接帶動經濟發展。
 
如今企業之間的競爭,不是著重單一產品或服務,而是生態體系(ecosystem)的競爭。在這場競爭中,大型公司可以透過外部創新(例如利用開放原始碼)達到永續經營,小型創新公司也可透過開放原始碼爭取戰略位置。
 
黃敬群以自己開過的公司為例。這家公司曾是全世界前十大Android開放原始碼專案(AOSP) 的程式碼貢獻者,雖然員工人很少、資本額很小,卻能以此為號召而接到大訂單。這跟以前為了樂趣(for fun)而做已經大不相同,現在大型的開放原始碼軟體專案往往由全職工程師主導開發。
 
像 Linux 核心一開始是不折不扣for fun的個人專案,但發展至今已是由超過九成全職工程師投入,並透過資訊廠商基於各家生態圈需求,刺激 Linux核心的發展,從而強化整體品質和多樣性。
 
開放原始碼的世界至少有三種性格的人。一種人是像自由軟體基金會創始人史托曼(Richard Stallman)那樣的願景家,提倡完全的自由、流通。另一種人是像Linux之父托瓦茲(Linus Torvalds)這樣的工程師,他相對務實,認為拿開放原始碼賺錢未嘗不可,只要依循授權規範發佈開放原始碼。另外一種人則是商人,他們讓經濟活動更活絡。
 
「如果你問我,投身在自由軟體和開放原始碼軟體發展20年,看到了什麼風景?」黃敬群說:「這其中有各種不同性格的人存在,看似衝突,但有種方法能讓彼此協作,這就是開放原始碼生態最美妙的地方。」
 
【整理/科學人】
OPEN
回頂部