Diese Präsentation wurde erfolgreich gemeldet.
Die SlideShare-Präsentation wird heruntergeladen. ×

給資安工程師開源授權觀念

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Hier ansehen

1 von 92 Anzeige

給資安工程師開源授權觀念

Herunterladen, um offline zu lesen

特別整理給需要專研資訊安全工程師的開源授權重要觀念。開源授權帶來許多商業及法律的挑戰,對於資安工程師若能夠充份瞭解,將有助於研究,以及認知如何做到自我保護。

特別整理給需要專研資訊安全工程師的開源授權重要觀念。開源授權帶來許多商業及法律的挑戰,對於資安工程師若能夠充份瞭解,將有助於研究,以及認知如何做到自我保護。

Anzeige
Anzeige

Weitere Verwandte Inhalte

Ähnlich wie 給資安工程師開源授權觀念 (20)

Anzeige

Weitere von Yi-Feng Tzeng (20)

Aktuellste (20)

Anzeige

給資安工程師開源授權觀念

  1. 1. 給資安工程師開源授權觀念 曾義峰 (Ant) yftzeng@gmail.com 2019-11-16 開源駭客
  2. 2. 2/92 曾義峰 (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. 3. 3/92 Q1 Linux Kernel 是何種自由 / 開放源碼軟體授權? ☐ MIT ☐ BSD-3-Clause ☐ GPL-2.0 ☐ GPL-3.0 ☐ 其它 ______________________________
  4. 4. 4/92 Myth 1 Reverse engineering of software is a pretty gray area 逆向工程總是處在灰色地帶
  5. 5. 5/92 Ref: https://www.gnu.org/licenses/old-licenses/lgpl-2.1.html LGPL-2.1 明文允許逆向工程
  6. 6. 6/92 Ref: https://www.gnu.org/licenses/old-licenses/lgpl-2.1.html
  7. 7. 7/92 LGPL-2.1 明文允許逆向工程 ( 若 EULA 與之抵觸時, EULA 無效 ) Ref: https://www.gnu.org/licenses/old-licenses/lgpl-2.1.html
  8. 8. 8/92 Ref: https://opensource.org/licenses/lgpl-3.0.html LGPL-3.0 明文允許逆向工程
  9. 9. 9/92 Ref: https://opensource.org/licenses/lgpl-3.0.html
  10. 10. 10/92 Ref: http://www.gnu.org/licenses/gpl-3.0.html GPL/AGPL 有隱性但相關的規定
  11. 11. 11/92 Ref: http://www.gnu.org/licenses/gpl-3.0.html
  12. 12. 12/92 Q1 Linux Kernel 是何種自由 / 開放源碼軟體授權? ☐ MIT ☐ BSD-3-Clause ☐ GPL-2.0 ☐ GPL-3.0 ☐ 其它 ______________________________
  13. 13. 13/92 Q1 Linux Kernel 是何種自由 / 開放源碼軟體授權? ☐ MIT ☐ BSD-3-Clause ☐ GPL-2.0 ☐ GPL-3.0 ☑ 其它 GPL-2.0 + User space exception
  14. 14. 14/92 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
  15. 15. 15/92 Myth 2 You can't make money from Open Source 你無法從開源賺錢
  16. 16. 16/92 Ref: https://www.redhat.com/en/about/press-releases/ibm-acquire-red-hat-completely-changing-cloud-landscape-and-becoming-worlds-1-hybrid-cloud-provider IBM 以 340 億美元收購 Red Hat (2018-10-28)
  17. 17. 17/92 Ref: https://www.redhat.com/en/about/press-releases/ibm-acquire-red-hat-completely-changing-cloud-landscape-and-becoming-worlds-1-hybrid-cloud-provider
  18. 18. 18/92 Ref: https://www.f5.com/company/news/press-releases/f5-acquires-nginx-to-bridge-netops-devops F5 Networks 以 6.7 億美元收購 NGINX (2019-03-11)
  19. 19. 19/92 Ref: https://www.f5.com/company/news/press-releases/f5-acquires-nginx-to-bridge-netops-devops
  20. 20. 20/92 Ref: https://seekingalpha.com/symbol/ESTC Elastic 市值 60 億美元 ElasticSearch (2019-05-31)
  21. 21. 21/92 Ref: https://seekingalpha.com/symbol/ESTC
  22. 22. 22/92 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
  23. 23. 23/92 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
  24. 24. 24/92 Q3 所有自由 / 開源軟體授權的最低遵循義務為何? ☐ 沒有義務,且可以修改 / 去除原著作權聲明 ☐ 需保留著作權聲明,且使用若出事可向原作者求償 ☐ 需保留著作權聲明,且使用若出事不可向原作者求償
  25. 25. 25/92 Myth 3 Open Source has no Copyright 開源軟體沒有著作權
  26. 26. 26/92 Ref: https://opensource.org/licenses/MIT MIT License
  27. 27. 27/92 Ref: https://opensource.org/licenses/BSD-3-Clause 3-Clause BSD License
  28. 28. 28/92 Ref: https://opensource.org/licenses/Apache-2.0 Apache License 2.0
  29. 29. 29/92 Ref: https://opensource.org/licenses/GPL-3.0 GPL 3.0
  30. 30. 30/92 Q3 所有自由 / 開源軟體授權的最低遵循義務為何? ☐ 沒有義務,且可以修改 / 去除原著作權聲明 ☐ 需保留著作權聲明,且使用若出事可向原作者求償 ☐ 需保留著作權聲明,且使用若出事不可向原作者求償
  31. 31. 31/92 Q3 所有自由 / 開源軟體授權的最低遵循義務為何? ☐ 沒有義務,且可以修改 / 去除原著作權聲明 ☐ 需保留著作權聲明,且使用若出事可向原作者求償 ☑ 需保留著作權聲明,且使用若出事不可向原作者求償
  32. 32. 32/92 Q4 AGPL-3.0 授權的互惠性 / 感染性要求包括哪些行為? ☐ 指令輸出 ☐ 靜態連結 ☐ 動態連結 ☐ 網路傳輸
  33. 33. 33/92 Myth 4 Open Source is only about Copyright 開源軟體只涉及著作權
  34. 34. 34/92 Ref: https://opensource.org/licenses/Apache-2.0 Apache License 2.0
  35. 35. 35/92 Ref: https://opensource.org/licenses/Apache-2.0 Apache License 2.0
  36. 36. 36/92 Ref: https://opensource.org/licenses/GPL-3.0 GPL 3.0
  37. 37. 37/92 Ref: https://opensource.org/licenses/GPL-3.0 GPL 3.0
  38. 38. 38/92 Q4 AGPL-3.0 授權的互惠性 / 感染性要求包括哪些行為? ☐ 指令輸出 ☐ 靜態連結 ☐ 動態連結 ☐ 網路傳輸
  39. 39. 39/92 Q4 AGPL-3.0 授權的互惠性 / 感染性要求包括哪些行為? ☐ 指令輸出 ☑ 靜態連結 ☑ 動態連結 ☑ 網路傳輸
  40. 40. 40/92 Q5 最新版本 MongoDB 資料庫的授權為下列何者? ☐ MIT ☐ Apache-2.0 ☐ GPL-3.0 ☐ AGPL-3.0 ☐ SSPL (Server Side Public License)
  41. 41. 41/92 Myth 5 Open Source (licenses) are revocable 開源軟體 ( 授權 ) 可以撤銷
  42. 42. 42/92 Ref: https://opensource.org/licenses/Apache-2.0 Apache License 2.0
  43. 43. 43/92 Ref: https://opensource.org/licenses/GPL-3.0 GPL 3.0
  44. 44. 44/92Ref: https://opensource.org/licenses/MIT Ref: https://opensource.org/licenses/BSD-3-Clause MIT License 3-Clause BSD License
  45. 45. 45/92Ref: https://opensource.org/licenses/MIT Ref: https://opensource.org/licenses/BSD-3-Clause MIT License 3-Clause BSD License 多數開源授權條款內容未提及是否可以撤銷, 但根據美國聯邦巡迴法院 Jacobsen v. Katzer (2008) 案例判決, 除非違反條款內容時方可撤銷。
  46. 46. 46/92 Q5 最新版本 MongoDB 資料庫的授權為下列何者? ☐ MIT ☐ Apache-2.0 ☐ GPL-3.0 ☐ AGPL-3.0 ☐ SSPL (Server Side Public License)
  47. 47. 47/92 Q5 最新版本 MongoDB 資料庫的授權為下列何者? ☐ MIT ☐ Apache-2.0 ☐ GPL-3.0 ☐ AGPL-3.0 ☑ SSPL (Server Side Public License)
  48. 48. 48/92 Q6 自由 / 開放源碼軟體授權涉及下列哪幾種智財權? ☐ 著作權 ☐ 商標權 ☐ 專利權 ☐ 營業秘密
  49. 49. 49/92 Myth 6 I want / can avoid Open source software 我想要 / 能夠避免使用開源軟體
  50. 50. 50/92 軟體開發必須面對的真相 如果沒有了 Google ( 搜尋引擎 ) 很多軟體工程師就無法辦事了
  51. 51. 51/92
  52. 52. 52/92
  53. 53. 53/92
  54. 54. 54/92 沒有著作權聲明,甚至不確定該著作的來源 ( 他也是抄來的 )
  55. 55. 55/92 Q6 自由 / 開放源碼軟體授權涉及下列哪幾種智財權? ☐ 著作權 ☐ 商標權 ☐ 專利權 ☐ 營業秘密
  56. 56. 56/92 Q6 自由 / 開放源碼軟體授權涉及下列哪幾種智財權? ☑ 著作權 ☑ 商標權 ☑ 專利權 ☐ 營業秘密
  57. 57. 57/92 Q7 Firefox 是自由 / 開放源碼軟體,得以自由使用其商標? ☐ 是 ☐ 否
  58. 58. 58/92 Myth 7 My lawyer can solve Open Source License problem 我的律師可以解決開源軟體授權問題
  59. 59. 59/92 Ref: https://opensource.org/licenses/category 目前單是 OSI( 開放源碼促進會 ) 通過的條款就達 92 種 還不包括未通過的又常見的,例如 Ruby License
  60. 60. 60/92 Ref: https://opensource.org/licenses/category
  61. 61. 61/92 Ref: https://opensource.org/licenses/category 更麻煩的還是授權彼此間的交互相容性
  62. 62. 62/92 程式交互性 A 程式授權 B 程式授權 A 程式授權 B 程式授權 函式呼叫 / 靜態連結 / 動態連結 / 網路交互
  63. 63. 63/92 程式交互性 B 程式授權 ( 互惠 / 感染 ) A 程式授權 B 程式授權 函式呼叫 / 靜態連結 / 動態連結 / 網路交互
  64. 64. 64/92 程式交互性 ( 互斥 / 不相容 ) A 程式授權 B 程式授權 函式呼叫 / 靜態連結 / 動態連結 / 網路交互
  65. 65. 65/92 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 是否相容?
  66. 66. 66/92 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 是否相容? GPL-3.0 / AGPL-3.0 LGPL-2.1 / GPL-2.0 GPL-2.0
  67. 67. 67/92 Q7 Firefox 是自由 / 開放源碼軟體,得以自由使用其商標? ☐ 是 ☐ 否
  68. 68. 68/92 Q7 Firefox 是自由 / 開放源碼軟體,得以自由使用其商標? ☐ 是 ☑ 否 iceweaselFirefox
  69. 69. 69/92 Q8 Apache-2.0 的軟體,作者隨其上的專利可自由施行? ☐ 是 ☐ 否
  70. 70. 70/92 Myth 8 Open source (licenses) are hard to understand 開源 ( 授權 ) 很難理解
  71. 71. 71/92 互惠性 : 三大分類 ( 舊 ) 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
  72. 72. 72/92 互惠性 : 四大分類 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
  73. 73. 73/92 Ref: https://tldrlegal.com/
  74. 74. 74/92 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)
  75. 75. 75/92 Copyright (C) 2015 Ref: https://www.gnu.org/licenses/quick-guide-gplv3.html
  76. 76. 76/92 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)
  77. 77. 77/92 此領域需要懂法律智財權,加上瞭解工程技術者, 將授權條款的文字,解析為工程技術上的實施與流程 Open Source License Tech Lawyer
  78. 78. 78/92 更勝一般開源授權技術律師,能看透並提出合法規避者 ( 隨時可搬出 7 種以上的鑽法律漏洞合法規避者 ) Open Source License Hacker
  79. 79. 79/92 Q8 Apache-2.0 的軟體,作者隨其上的專利可自由施行? ☐ 是 ☐ 否
  80. 80. 80/92 Q8 Apache-2.0 的軟體,作者隨其上的專利可自由施行? ☑ 是 ☐ 否
  81. 81. 81/92 Q8 Apache-2.0 的軟體,作者隨其上的專利可自由施行? ☑ 是 ☐ 否 同樣地,你是否有注意到, 若你的軟體依 Apache-2.0 開源,其上之專利亦需自由共享。
  82. 82. 82/92 Q9 LLVM 的授權條款 ☐ BSD-3-Clause ☐ Apache-2.0 ☐ 其它 ______________________________
  83. 83. 83/92 Myth 9 Providing obfuscated code instead of source code 可混淆原始碼或提供中間碼來規避提供「真實」原始碼
  84. 84. 84/92 Ref: http://www.gnu.org/licenses/gpl-3.0.html GPL-3.0 針對「原始碼」有其定義
  85. 85. 85/92 Ref: http://www.gnu.org/licenses/gpl-3.0.html 原始碼,指的是「程式供他人修改的最佳格式」。
  86. 86. 86/92 Ref: https://en.wikipedia.org/wiki/Source_code Wikipedia 對於「原始碼」的定義
  87. 87. 87/92 Linux : 原始碼指的是人類輸入的最原始文字。 FSF : 原始碼的轉譯或減化,都不能算是原始碼。 Ref: https://en.wikipedia.org/wiki/Source_code
  88. 88. 88/92 Ref: https://en.wikipedia.org/wiki/Source_code
  89. 89. 89/92 Q9 LLVM 的授權條款 ☐ BSD-3-Clause ☐ Apache-2.0 ☐ 其它 ______________________________
  90. 90. 90/92 Q9 LLVM 的授權條款 ☐ BSD-3-Clause ☐ Apache-2.0 ☑ 其它 Apache-2.0 + LLVM Exceptions
  91. 91. 91/92 Q9 LLVM 的授權條款 ☐ BSD-3-Clause ☐ Apache-2.0 ☑ 其它 Apache-2.0 + LLVM Exceptions 以前是 BSD-3-Clause , 後來改為 Apache-2.0 + LLVM Exceptions 。 主因是 Apache-2.0 與 GPL-2.0 不相容。 故採用破壞 Apache-2.0 部分條款使之相容的方式。
  92. 92. 92/92 yftzeng@gmail.com https://www.facebook.com/yftzeng.tw https://twitter.com/yftzeng

×