Open Source Software 開源軟體 Open Source License

Open Source Software & License 知多少

江宗達 Thomas Chiang 2021/12/02 17:32:31
5434

 

 

近年來資訊科技的進步,帶動了軟體及APP開發產業興起,隨之而來的是各式各樣型式的軟體及APP的整合及開發成本的問題,如同汽車產業一般,一開始各大汽車廠都有的處於原創,擁有個自的特色、架構,時間久了,開始有了不同車款、款式越來越多,這時就會產生了開發成本不斷上升的問題,相同的在軟體開發業也是如此。因此演變出開源軟體,開源軟體開創了軟體開發的另一個模式,軟體開發從最傳統一 Case by Case 轉變成使用開源軟體及自有技術的新模式,這不僅僅節省了許多的開發時間及成本,在客戶端也能夠快速得部署,若遇到技術問題也有許多資源可以諮詢。

 

什麼是開源軟體

開源軟體是指開放原始碼的軟體,只要符合開源軟體定義的軟體就能被稱為開源軟體,但開源軟體不等於免費授權的軟體,軟體開發者仍然可以依據授權規擁有像其他人收費的權利。因此正確的說開源軟體,其實一種有條件使用的授權,在一般使用的情況下是不會有費用的產生,但每一個開源軟體使用者的開源軟體授權不同,相關的約束也就不同。

 

什麼是開源軟體授權

簡單的說明什麼是軟體授權,所謂軟體授權是指一種具有法徑性質的規範,目的在規範受著作權保護的軟體的使用或散佈行為,在開源軟體授權也是如此,雖然是開放原始碼的軟體,但仍受相關法律的保護

 

開源軟體授權百百種,哪種比較好?

開源軟體授權種類非常繁多,哪一種是最好的?其實這要導正一些觀念,授權其實沒有什麼的好與壞,也沒有所謂的規格的高與低,在選擇的同時,應該考慮的是哪一種授權最適合自己的專案,只有適合自己專案的開源軟體授權,沒有所謂的好與壞

 

開源軟體授權的種類

首先介紹針對常見的開源軟體授權:

一、 GPL(GNU General Public License)類型的開源軟體授權:

GPL(GNU General Public License) 通用性公共授權 是目前最常見的開源軟體授權類型,是由自由軟體基金會FSF (Free Software Foundation) 所編撰,同時是開放源碼促進會OSI (Open Source Initiative) 認可的開源軟體授權條款,與GPL同類型的開源軟體授權還有LGPLAGPL

 

LGPL(Lesser General Public License)這寬鬆公共授權個授權,這個授權基本上與GPL是相同的唯一的不同點在於如果專案使用遵循遵循 LGPL 的軟體進行任何「修改」或「衍生」並予以釋出,則您的產品必須繼承 LGPL 協議,必需開放原始碼。但是如果您的程式對遵循 LGPL 的軟體進行任何連線、呼叫而不是包含任何「修改」或「衍生」,則允許封閉原始碼。

 

AGPL(GNU Affero General Public License)這個規範的基礎也是GPL授權,由於現在網路服務公司興起(如:google)產生了一定的漏洞,例如:使用GPL的自由軟體,但是並不釋出與網路之中,則可以自由的使用GPL授權確不開源自己私有的解決方案。AGPL則增加了對此做法的約束。主要差異在於GPL的規範的前提是「釋出」(發佈)軟體,因此在GPL規範下軟體透過網際網路或光碟釋(發佈)軟體,就必需明示地附上原始碼,並且原始碼和產品也受GPL保護。若使用GPL授權原始碼基礎下建構Web Service,沒有釋出這個Web Service,只線上提供服務,此時可以不公開原始碼。

二、 APLBSDMIT這三種授權因性質相似且最為寬鬆,因此在歸為同一類說明

APL(Apache Licence)是著名的非盈利開源組織Apache採用的授權。此授權和BSD類似,同樣鼓勵程式碼共享和尊重原作者的著作權,同樣允許程式碼修改,再發布(作為開源或商業軟體)。APL是對商業應用友好的授權。使用者也可以在需要的時候修改程式碼來滿足需要並作為開源或商業產品釋出及銷售。

BSD(Berkeley Software Distribution License)開源授權是一個給於使用者很大自由的授權。可以自由的使用,修改原始碼,也可以將修改後的程式碼作為開源或者專有軟體再發布。BSD 開源授權鼓勵程式碼共享,但需要尊重程式碼作者的著作權。由於允許使用者修改和重新發布程式碼,也允許使用或在BSD程式碼上開發商業軟體釋出和銷售,因此是對商業整合很友好的授權。

MI (MIT License) 授權之名源自麻省理工學院(Massachusetts Institute of Technology, MIT),又稱「X條款」(X License)或「X11條款」(X11 License),MIT內容與三條款BSD授權(3-clause BSD license)內容頗為近似,但是賦予軟體被授權人更大的權利與更少的限制。使用者有權利使用、複製、修改、合併、出版發行、散佈、再授權及販售軟體。MIT條款可與其他授權條款並存,允許在自由開放原始碼軟體或非自由軟體(proprietary software)所使用。

三、 MPLEPLCDDL這三種授權是由軟體廠商自行推動的開源軟體授權,在這歸為同一類型說明:

MPL(Mozilla Public License) 是個自由、開源、詳細的軟體授權條款,由Mozilla基金會開發並維護。該協定融合了BSD授權條款和GNU通用公共授權條款的特性,追求平衡專有軟體和開源軟體開發者之間的顧慮,雖然MPL 2.0 授權比起 Apache 授權更加嚴格,若採用 MPL 授權的源碼經過修改後,必須也要採用 MPL 2.0 授權釋出。但是如果不是修改 MPL 授權的檔案,而是引用(使用或介接) MPL 授權的檔案,則是可以採用其他授權,也就是不需開放原始碼,目前仍受許多工程師喜愛。

EPL(Eclipse Public License) Eclipse公共授權條款,由Eclipse基金會應用於名下的整合式開發環境Eclipse上。EPL替代了原先的通用公共授權條款(Common Public License,簡稱CPL),在其基礎上刪除了專利相關訴訟的限制條款,因此EPL是為商業應用的自由軟體所量身客製化的授權條款,其反著作權限定也比現時的GNU通用公共授權條款(GNU GPL)等自由軟體軟體授權條款更為鬆弛:在使用以EPL授權的程式時,使用者有權使用、修改、複製與傳播軟體原始版本和修改後版本,在某些情況下則必須將修改內容一併釋出。

CDDLCommon Development and Distribution License)通用開發與散佈授權條款,由昇陽電腦提出,以Mozilla公眾授權條款(MPL1.1版本為基礎。昇陽(Sun)將原用於自由軟體/開放原始碼軟體計畫的昇陽公共授權條款(SPL)改寫為SPLv2,即為現在的CDDL

常見開源軟體授權比較

參考資料

 

 

 

 

江宗達 Thomas Chiang