Just My Life & My Work

今年開始要走入開放原始碼領地,所以順便來瞭解一下開放原始碼授權協議 (Open Source License),這兩年來開發iOS App時常使用到第三方套件,印象中最深刻的License是BSD (Berkerley Software Distribution)GPL (GNU General Public License),不過我根本不曉得差在哪,心想現成的能用就好啦~

授權自由度

小提琴程式設計師說:在這裡的自由與不自由主要是指你在使用這些開源軟體時所要盡的義務的多和少。

我就先來了解最知名的兩個License吧~怎麼感覺大陸人比較在乎開源,可以看到我找到的解釋多是大陸用語呢!可見在開發軟體上我們可能輸他們一段距離了。

BSD開源協議(Berkerley Software Distribution)

BSD允許使用者修改和重新發布代碼(以其他協議形式),允許閉源商業發布和銷售。

BSD鼓勵代碼共享的同時,要求尊重代碼作者的著作權。

使用BSD協議,需要遵守以下規則:

  1. 如果再發布的產品中包含源代碼,則在源代碼中必須帶有原來代碼中的BSD協議;
  2. 如果再發布的只是二進制類庫/軟件,則需要在類庫/軟件的文檔那個和版權聲明中包含原來代碼中的BSD協議;
  3. 不可以用開源代碼的「作者/機構的名字」或「原來產品的名字」做市場推廣。
  • 要點:商業軟件可以使用,也可以修改使用BSD協議的代碼。

GPL(GNU General Public License)

GPL的出發點是代碼的開源/免費使用和引用/修改/衍生代碼的開源/免費使用,但不允許修改後和衍生的代碼做為閉源的商業軟件發布和銷售。

GPL具有「傳染性」,只要在一個軟件中使用(「使用」指類庫引用,修改後的代碼或者衍生代碼)GPL協議的產品,則該軟件產品必須也採用GPL協議,既必須也是開源和免費。

使用GPL協議,需要遵守以下規則:

  1. 確保軟件自始至終都以開放源代碼形式發布,保護開發成果不被竊取用作商業發售。任何一套軟件​​,只要其中使用了受GPL 協議保護的第三方軟件的源程序,並向非開發人員發佈時,軟件本身也就自動成為受GPL 保護並且約束的實體。也就是說,此時它必須開放源代碼。
  2. GPL大致就是一個左側版權(Copyleft,或譯為「反版權」、「版權屬左」、「版權所無」、「版​​責」等)的體現。你可以去掉所有原作的版權信息,只要你保持開源,並且隨源代碼、二進製版附上GPL 的許可證就行,讓後人可以很明確地得知此軟件的授權信息。GPL 精髓就是,只要使軟件在完整開源的情況下,盡可能使使用者得到自由發揮的空間,使軟件得到更快更好的發展。
  3. 無論軟件以何種形式發布,都必須同時附上源代碼。例如在W​​eb 上提供下載,就必須在二進製版本(如果有的話)下載的同一個頁面,清楚地提供源代碼下載的鏈接。如果以光盤形式發布,就必須同時附上源文件的光盤。
  4. 開發或維護遵循GPL 協議開發的軟件的公司或個人,可以對使用者收取一定的服務費用。但還是一句老話——必須無償提供軟件的完整源代碼,不得將源代碼與服務做捆綁或任何變相捆綁銷售。

由於GPL嚴格要求使用了GPL類庫的軟件產品必須使用GPL協議,所以商業軟件就不適合採用GPL協議的開源代碼。

  • 要點:商業軟件不能使用GPL協議的代碼。

一堆文字敘述,搞得我不太想看下去XD⋯⋯好在這一張流程圖很請楚地將我導引到「目的地」,只要根據五個問題,就能明白怎麼使用開源。

開源流程

其餘的細節就去找制訂的源頭吧~

之所以很推崇「開源」,是因為它基於「分享」而讓世界更加美好!若不是開源,我相信絕對不會有今日如此發達的電腦資訊網路!

Open Source的終極信念是:It’s better when it’s shared.

open-source-logo

很高興我的天性是擁抱分享,俗話說:獨樂樂不如眾樂樂!讓我開悟的關鍵是,時常煩惱現在所學會隨著時間而淡忘,於是就隨手記錄下我的見解,然後張貼在公開的部落格之中,沒想到這樣無心插柳的舉動,幫助了不少網友,至今每天依然影響著千人以上,這種有人需要而我順手牽成的過程持續著,這三年來所獲得的喜悅成就感更是不言而喻!

兩年前開始由行政院政務委員張善政前輩發起的政府開放資料已稍有起色,前一個月才剛當選台北市長柯文哲更是大力推廣政府資料,只要不涉及國家安全機密都應該公開,而我個人相當樂觀其成!這讓平民百姓如我者,能夠憑藉電腦資訊專長來貢獻社會!所以只要不涉及公司商業機密的部分,我將會整理起來分享給需要的人~

金門大學資訊工程學系教授陳鍾誠坦言:我使用的教學工具、教材、書籍、程式、軟體等等,幾乎都是從開放原始碼來的。

接下來的歲月裡,我會持續在開源中貢獻,無論是程式碼或是文章,我會利用時間記錄下來。因為我還沒有達到財富自由(不用為錢擔心的境界),所以還是要把心力放在解決當前客戶的問題上,期待未來天時地利人和,讓我有時間與空間去貢獻更多吧!

若你有閒錢不知怎麼運用,或許可以考慮投資贊助我呢:)~

參考:

隨意留個言吧:)~

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料

標籤雲