Upgrade to Pro — share decks privately, control downloads, hide ads and more …

擁抱開源:企業應如何善用開源技術,才能得其利而防其弊

 擁抱開源:企業應如何善用開源技術,才能得其利而防其弊

國外企業不論大小對開源技術的採用意願極高,採用成熟度高的開源技術一來可以加快研發速度,二來也會大幅降低營運成本。但台灣企業對開源技術的認知程度較低,擔心穩定性、安全性與支援性等問題,但甚少花時間去了解,當你用正確的心態去看待開源,且有妥善的管理機制去管理它,開源技術將是企業的重大助力。

Yi-Feng Tzeng

June 01, 2019
Tweet

More Decks by Yi-Feng Tzeng

Other Decks in Technology

Transcript

  1. 2/94 曾義峰 (ant) 時而編程 , 時而沉浸於法律領域、倘洋於資訊安全世界中。 13 年網際網路研發經驗 , 4

    年顧問資歷。 → TGO Networks 台北分會會籍委員 → 台灣資安社群 CHROOT 成員 → 書亞集成股份有限公司 CTO → 香港商帕格數碼媒體股份有限公司 CTO → 希幔科技股份有限公司 CTO → 台灣駭客年會 (HITCON) 2008/2009 講師 → 開源人年會 (COSCUP) 2009/2012 講師 → 台灣 Modern Web 2015/2016/2017/2018 講師 → 中國開源年會 (COSCon) 2018 講師
  2. 3/94 曾義峰 (ant) → 曾於英業達 (Inventec) 及廣達電腦 (Quanta) 等教授自由軟體授權相關課程。 →

    於 2011 年 OSDC( 開源開發者大會 ) 分享《開源專案之授權自動化分析工具》 → 於 2018 年 COSCon( 中國開源年會 ) 分享《谈开源授权态样如何融入 DevOps 之持续整合》 相關文章 2011-03-07 淺談 App Store 與開放源碼軟體授權的案例: VLC 的合法上架與 Miro Video Converter 的非法下架 https://www.openfoundry.org/tw/enterprise-application/8274 2011-03-15 淺談將開放源碼軟體改名並違法販售: Butterfly Media on Amazon https://www.openfoundry.org/tw/enterprise-application/8275 2011-07-12 從 Red Hat 變更 RHEL 釋出方式來探討 GPL 對原始碼範圍的定義 https://www.openfoundry.org/tw/enterprise-application/8393 2011-08-17 開放原始碼的相容與互斥性:從 Ruby 社群變更開放原始碼授權來探討 https://www.openfoundry.org/tw/enterprise-application/8419 2012-03-03 談 GPL 軟體原始碼定義及瑕疵修復方式-從 GNU Emacs 違反 GPL 授權條款一事說起 https://www.openfoundry.org/en/news/8629 2012-03-08 授權流言終結者 #1 : VirtualBox 授權分析與探討 https://www.openfoundry.org/tw/enterprise-application/8636 2012-03-29 授權流言終結者 #2 : The JSON License 的分析與探討 https://www.openfoundry.org/tw/enterprise-application/8657 2012-04-23 授權流言終結者 #3 : jQuery 授權的分析與探討 https://www.openfoundry.org/en/news/8680 2012-04-29 授權流言終結者 #4 : MongoDB 授權的分析與探討(雙重授權模式 2.0 ) https://www.openfoundry.org/enterprise-application/8687 2012-06-26 授權流言終結者 #5 : Neo4j 授權的分析與探討 https://www.openfoundry.org/enterprise-application/8738
  3. 6/94 Myth 1 Big software companies don’t use Open Source

    大型軟體公司不使用開源軟體
  4. 15/94 Q1 Linux Kernel 是何種自由 / 開放源碼軟體授權? ☐ MIT ☐

    BSD-3-Clause ☐ GPL-2.0 ☐ GPL-3.0 ☐ 其它 ______________________________
  5. 20/94 Q2 Android 主要是何種自由 / 開放源碼軟體授權? ☐ MIT ☐ Apache-2.0

    ☐ GPL-2.0 (with User space exception) ☐ Apache-2.0 + GPL-2.0 (with User space exception) ☐ Apache-2.0 + GPL-3.0
  6. 27/94 Q3 所有自由 / 開源軟體授權的最低遵循義務為何? ☐ 沒有義務,且可以修改 / 去除原著作權聲明 ☐

    需保留著作權聲明,且使用若出事可向原作者求償 ☐ 需保留著作權聲明,且使用若出事不可向原作者求償
  7. 39/94 Ref: https://opensource.org/licenses/MIT Ref: https://opensource.org/licenses/BSD-3-Clause MIT License 3-Clause BSD License

    多數開源授權條款內容未提及是否可以撤銷, 但根據美國聯邦巡迴法院 Jacobsen v. Katzer (2008) 案例判決, 除非違反條款內容時方可撤銷。
  8. 41/94 Myth 6 I want / can avoid Open source

    software 我想要 / 能夠避免使用開源軟體
  9. 42/94 軟體開發模式 電腦程式 ( 關卡設計 ) 電腦程式 ( 關卡設計 )

    美術圖案 ( 藝術設計 ) 電腦程式 ( 遊戲引擎 ) 套裝銷售 B D A 美術圖案 ( 藝術設計 ) 採購契約 自由 / 開放 源碼軟體契約 電腦程式 ( 遊戲引擎 ) 可能需要提供作者顯名宣告, 甚至提供電腦程式原始碼等義務
  10. 43/94 軟體開發模式 案例一 :Linksys 2003 年 3 月 Cisco 正式宣布收購

    Linksys 。 此事公開後,使得自由軟體社群紛紛討論 Linksys WRT54G 是否 有違反 GPL 授權規定。經過社群的初步審核後,發現其核心使用 Linux kernel 2.4.5 及其它的 GPL 授權程式,如 Busybox 、 CramFS 等。因此,自由軟體基金會 (Free Software Foundation) 開始介入調查,經由溝通後,使得 Cisco 終於釋出 Linksys WRT54G 的程式原始碼。
  11. 46/94 軟體開發模式 案例一 :Linksys 其它公司 基於採購契約 提供電腦程式 基於採購契約 提供電腦程式 收購

    你的 Linksys WRT54G 產品中含有 GPL 授權程式 請將該產品所有程式的原始碼 公開 套裝銷售
  12. 49/94 軟體開發模式 案例二 : 壹網樂 - 網樂通 其它公司 基於契約 提供電腦程式

    套裝租出 你的網樂通產品中含有 GPL 授權程式,請將該產品程式 的原始碼公開。 台灣自由 / 開放源碼社群
  13. 51/94 軟體開發模式 案例三 : Ameriprise vs. Versata 1. Ameriprise 採購

    Versata 軟體, 並額外取得軟體修改權 ( 客製權 ) 。 2. Ameriprise 請外包廠商 Infosys 客製 化,但開發的產品與 Versata 類似。 3. Versata 怒對 Ameriprise 提起訴訟。 4. Ameriprise 隨之反擊,並聲稱 Versata 軟體中含有 GPL-2.0 的 XML parser 程式。 5. 該程式著作屬於 XimpleWare ,因此 XimpleWare 對 Ameriprise 、 Versata 及 Versata 的客戶提起侵權訟訴。 Ref: http://www.protecode.com/complex-legal-proceedings-may-far-reaching-effects-gpl-software-licensing/
  14. 72/94 Myth 7 My lawyer can solve Open Source License

    problem 我的律師可以解決開源軟體授權問題
  15. 76/94 程式交互性 A 程式授權 B 程式授權 A 程式授權 B 程式授權

    函式呼叫 / 靜態連結 / 動態連結 / 網路交互
  16. 77/94 程式交互性 B 程式授權 ( 互惠 / 感染 ) A

    程式授權 B 程式授權 函式呼叫 / 靜態連結 / 動態連結 / 網路交互
  17. 78/94 程式交互性 ( 互斥 / 不相容 ) A 程式授權 B

    程式授權 函式呼叫 / 靜態連結 / 動態連結 / 網路交互
  18. 79/94 GPL-2.0 與 GPL-3.0 是否相容? GPL-2.0 與 AGPL-3.0 是否相容? GPL-3.0

    與 AGPL-3.0 是否相容? LGPL-2.1 與 GPL-2.0 是否相容? LGPL-3.0 與 GPL-2.0 是否相容? MIT 與 GPL-2.0 是否相容? Apache-2.0 與 GPL-2.0 是否相容? 你知道這些授權問題的答案嗎?
  19. 80/94 GPL-2.0 與 GPL-3.0 是否相容? GPL-2.0 與 AGPL-3.0 是否相容? GPL-3.0

    與 AGPL-3.0 是否相容? LGPL-2.1 與 GPL-2.0 是否相容? LGPL-3.0 與 GPL-2.0 是否相容? MIT 與 GPL-2.0 是否相容? Apache-2.0 與 GPL-2.0 是否相容?
  20. 83/94 互惠性 : 三大分類 ( 舊 ) License scope –

    Reciprocal ( 互惠性 ) Low High (GPLed) GPL LGPL AGPL (MPLed) MPL EPL (BSDed) BSD MIT Apache Gift license Sharing-with-files Sharing-with-rules Give me credit Give me fixes Give me everything
  21. 84/94 互惠性 : 四大分類 License scope – Reciprocal ( 互惠性

    ) GPL LGPL MPL EPL BSD MIT Apache Gift license Sharing with files Sharing with rules Give me credit Give me fixes Give me everything AGPL Sharing with network Give me everything even in network Low High
  22. 86/94 Copyright (C) 2015 Ref: http://www.dwheeler.com/essays/floss-license-slide.html Creative Commons “Attribution-Share Alike

    3.0 License”; the GNU Free Documentation License; or the GNU GPL (version 2 or later)
  23. 88/94 Copyright (C) 2015 Ref: https://www.gnu.org/licenses/quick-guide-gplv3.html 但這兩張圖無法解決所有問題, 例如不包括 PHP/Python/Ruby 授權等,

    交互未區別函式呼叫 / 靜態連結 / 動態連結 / 網路交互等。 Ref: http://www.dwheeler.com/essays/floss-license-slide.html Creative Commons “Attribution-Share Alike 3.0 License”; the GNU Free Documentation License; or the GNU GPL (version 2 or later)