現今軟體開發的一個重要議題:開源授權與私有授權的混用

jollen 發表於 January 1, 2012 9:45 AM

文/Jollen Chen(原文刊載於零組件雜誌2012年1月號)

軟體取代硬體成為主流價值

觸控手機與平板電腦的成功,正式宣告軟體與網路時代的來臨,這表示硬體獲利模式時代的結束,以硬體為主的商業模式,成為上一個世代的故事了。軟體是產品開發的主角,這已經是大家所公認的主流價值。

因此,可以看到一個事實,台灣有許多硬體公司,已經將軟體列為重點項目,除了利用軟體提升硬體的價值外,也提供軟體服務的新商業模式。

軟體取代硬體,成為主流價值的時代,有更多非技術面議題需要探討。除了專利問題外,在軟體開發的過程中,還有一個幾乎被遺忘的重要議題,在這裡與大家分享。

一個非技術面議題

現今市場上流通的產品,有很高的比例都是採取開放平臺與開源軟體。我們都知道,軟體太重要了,所以企業開始大量投入軟體研發。但與其說是「軟體研發」,不如說是「軟體工程」;因為,這些軟體有相當高的比例都是開放平臺或開放源碼,意思是,絕大多數,甚致是全部的軟體,都是取之於他人(透過網路),而非自行「研究」與「開發」,所以事實是,我們都是在他人的基礎之上做工(工程)。

也就是說,現今企業「從零開始」開發真正私有程式碼的比例變得相當低。從產品的角度來看,可能有99%的程式碼都是外來,例如,使用Google提供的Android程式碼;又如,網路上數以萬計的開放原始碼計畫 (Open source software)。可能只有1%或更低的比率,是私有的程式碼。

因此,我們將產品上的程式碼分為「公眾財」與「私有財」二大類。開放源碼採用的 GPL 或 Apache 是屬於一種公眾財概念的授權 (License),無論是取得、散佈、重製或修改等,都要遵守授權規劃。例如:Linux 核心的修改必須遵守 GPL (Version 2) 的授權聲明,確實公開原始程式碼。過去一些企業經常採用「Delay Open」,即產品發佈後,儘量托延公開程式碼的時間,但 [這個做法可能仍有一些疑慮]。

透過一些「軟體架構設計」的方式,可以讓企業在公眾財的程式碼裡,加入「私有財」的程式碼。私有財的程式碼,完全由開發商自行撰寫授權條款,即授權方式是自行決定,而不是採用公眾財授權。例如,Android 的 HAL 架構,便具備這樣的空間。架構設計,有時並不只在解決技術問題,有些也在解決一些關鍵的非技術問題。

從以上的說明可以發現,開源軟體的公眾財授權,以及企業為了保護智慧財產權必須採取的私有財授權,以及二者的混合,必須有一定的架構設計,才不致於面臨法律問題,這是台灣業者過去這一年來,普遍忽視的議題。從現況來看,筆者為大陸企業提供這方面建議與咨詢服務已經有一段時間了,台灣業者在這個議題上,仍需加緊腳步。

Happy New Year 2012 !

Jollen's Blog 使用 Github issues 與讀者交流討論。請點擊上方的文章專屬 issue,或 open a new issue

您可透過電子郵件 jollen@jollen.org,或是 Linkedin 與我連絡。更歡迎使用微信,請搜尋 WeChat ID:jollentw