How to choose open source solution: Difference between revisions
Jump to navigation
Jump to search
m (→方案選擇的指標) |
|||
(35 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
''' | '''技術選擇:如何選擇開放原始碼、自由軟體的軟體方案''' | ||
== 方案選擇的指標 == | == 方案選擇的指標 == | ||
# 釐清需求:清楚與定義自身需求,作為方案選擇的比較基準 | # 釐清需求:清楚與定義自身需求,作為方案選擇的比較基準 | ||
# 版本更新和專案開發的活躍度: | # 版本更新和專案開發的活躍度: | ||
#* 最近 (數個月內) | #* 最近 (數個月內) 有更新軟體版本,而不是數年前才做最後一次更新或者已經公告停止繼續開發。沒有人維護的專案,代表功能不會更新丶錯誤不會修正,也同時代表未來有資安的隱憂。 | ||
#* | #* 程式庫網站 ([[OpenSource for Educators]]) 提供數值資料,以 GitHub 專案為例,點選專頁首頁 (1) 查看 「Changelog」 作者寫的版本更新、或者是 (2) 查看 「commits」檔案更新、(3) 觀察開發活躍度 e.g.: [https://github.com/NuCivic/dkan/graphs/contributors Contributors to NuCivic/dkan]。 | ||
# | #* 程式語言版本的支援程度: 例如該專案程式語言使用 PHP 撰寫,則可比對目前 PHP 版本的支援程度( [https://secure.php.net/supported-versions.php PHP: Supported Versions])。當 PHP 核心開發團隊不支援 A 版,而該專案仍然使用該版本,則代表有 A 版本的漏洞問題。 | ||
#* 查看郵件列表 (mailing list) | #* 軟體測試: 專案有無[https://zh.wikipedia.org/zh-tw/%E5%8D%95%E5%85%83%E6%B5%8B%E8%AF%95 單元測試](unit test)、[https://zh.wikipedia.org/zh-tw/%E4%BB%A3%E7%A2%BC%E8%A6%86%E8%93%8B%E7%8E%87 測試覆蓋率]報告(test coverage report) | ||
#* | # 問題回覆與支援文件:使用者遇到問題時,有人協助回覆。 | ||
#* 查看郵件列表 (mailing list) 的討論頻率: 以 GitHub 專案為例,點選「issues」查看使用者提出的問題,同時觀察是否有人協助回覆和解決問題。 | |||
#* 支援文件: 是否提供清楚易懂的支援說明文件,或教學影片? | |||
# 多人在用(Popularity): | # 多人在用(Popularity): | ||
#* 有比較多使用者,代表遇到問題時,可以從網路上 (例如[[問答服務]]) 找到比較多的支援文件。 | #* 有比較多使用者,代表遇到問題時,可以從網路上 (例如[[問答服務]]) 找到比較多的支援文件。 | ||
#* 以 GitHub 專案為例,則可根據被收藏/星星數 (star) 的數量,作為熱門度的衡量指標 e.g. [https://github.com/jackmoore/colorbox/stargazers Stargazers · jackmoore/colorbox · GitHub] | #* 社群實體聚會次數,例如輸入 {{kbd | key=<nowiki><架構名稱> (meetup OR conference)</nowiki>}} 再加上時間條件「過去一年」 | ||
#* (輔助用) 以 GitHub 專案為例,則可根據被收藏/星星數 (star) 的數量,作為熱門度的衡量指標 e.g. [https://github.com/jackmoore/colorbox/stargazers Stargazers · jackmoore/colorbox · GitHub]。但是星星數不準的狀況是,該專案由 C 國人開發,加上 C 國人口眾多,無法作為與其他同型專案的比較基準。 | |||
# 授權議題:如果想將開放原始碼的軟體方案,整合在公司的商業服務內,需考慮著作權授權與商業應用是否相容。 | # 授權議題:如果想將開放原始碼的軟體方案,整合在公司的商業服務內,需考慮著作權授權與商業應用是否相容。 | ||
#* [https://www.openfoundry.org/LicenseWizard/ 授權精靈]、[http://choosealicense.com/ Choosing an OSS license doesn’t need to be scary - ChooseALicense.com] {{access | date=2017-04-16}} | |||
#* [http://mic.iii.org.tw/intelligence/reports/pop_Docfull_oss.asp?docid=CDOC20030601021 開放原始碼授權模式分析] 主要授權模式 GPL、LGPL、BSD 與 MPL 四種介紹。 | #* [http://mic.iii.org.tw/intelligence/reports/pop_Docfull_oss.asp?docid=CDOC20030601021 開放原始碼授權模式分析] 主要授權模式 GPL、LGPL、BSD 與 MPL 四種介紹。 | ||
#* [http://www.openfoundry.org/tw/legal-column-list/8397-2011-07-22-09-56-32 善用自由軟體資訊清單有效降低法律糾紛的風險 - OpenFoundry]([https:// | #* [http://www.openfoundry.org/tw/legal-column-list/8397-2011-07-22-09-56-32 善用自由軟體資訊清單有效降低法律糾紛的風險 - OpenFoundry]([https://docs.google.com/spreadsheets/d/1UarMQhYT4E0e_6dFCNGaw2_TNU2v83heZa2USneo5YQ/edit?usp=sharing 自由軟體資訊清單 文件範本], e.g.: [http://confluence.jetbrains.com/display/PhpStorm/Third-Party+Software+Used+by+PhpStorm Third-Party Software Used by PhpStorm]) | ||
#* 嚴謹符合[https://opensource.org/osd 開放原始碼定義]的授權方案清單: [https://opensource.org/licenses Licenses & Standards | Open Source Initiative] {{access | date = 2016-09-06}} | #* 嚴謹符合[https://opensource.org/osd 開放原始碼定義]的授權方案清單: [https://opensource.org/licenses Licenses & Standards | Open Source Initiative] {{access | date = 2016-09-06}} | ||
# 維護或轉換方案的成本: | # 維護或轉換方案的成本:'''選擇免費的開放原始碼的軟體方案,不代表不需要任何維護費用。''' | ||
#* 該方案所需要的安裝與執行環境 | #* 該方案所需要的安裝與執行環境 | ||
#* | #* 從現有方案轉換到開放原始碼軟體方案的成本 | ||
#* 支援跨平台或多種作業系統的方案 | |||
#* 日後要轉換到別的方案的成本:(1) 使用者資料是否允許匯出? 例如 Google takeout [https://takeout.google.com/settings/takeout 資料工具]、 (2) 是否允許匯出成[https://zh.wikipedia.org/wiki/%E8%87%AA%E7%94%B1%E6%AA%94%E6%A1%88%E6%A0%BC%E5%BC%8F 自由檔案格式] (open file format)、[https://zh.wikipedia.org/wiki/%E5%BC%80%E6%94%BE%E6%96%87%E6%A1%A3%E6%A0%BC%E5%BC%8F 開放文檔格式] (open document format),而非強迫使用者必須使用舊軟體方案才能開啟的專屬檔案格式 (proprietary file format)。 (3) SEO 議題:建議方案能提供自訂網域 (custom domain name),即使轉換方案仍可維持相同網域。 | |||
# 中文議題:可以使用繁體中文、多國語言 (unicode) | # 中文議題:可以使用繁體中文、多國語言 (unicode) | ||
# (選擇性考慮的問題) 使用新或穩定的技術:例如試用 demo 版本功能、或查看截圖,確認軟體方案使用的技術或是否支援行動裝置。 | # (選擇性考慮的問題) 使用新或穩定的技術:例如試用 demo 版本功能、或查看截圖,確認軟體方案使用的技術或是否支援行動裝置。 | ||
== 延伸閱讀 == | == 延伸閱讀 == | ||
* https://choosealicense.com/appendix/ | |||
* {{Gd}} Yi-Feng Tzeng (Ant) (2014). [http://blog.gcos.me/2014-11-03_how-to-choose-open-source-software-or-third-party-software.html 如何正確選擇自由/開放源碼軟體(或第三方軟體) | Ant's ATField] {{access | date=2015-02-21}} | * {{Gd}} Yi-Feng Tzeng (Ant) (2014). [http://blog.gcos.me/2014-11-03_how-to-choose-open-source-software-or-third-party-software.html 如何正確選擇自由/開放源碼軟體(或第三方軟體) | Ant's ATField] {{access | date=2015-02-21}} | ||
* Randy Metcalfe (2004). [http://oss-watch.ac.uk/resources/tips Top tips for selecting open source software] {{access | date=2016-08-04}} | * Randy Metcalfe (2004). [http://oss-watch.ac.uk/resources/tips Top tips for selecting open source software] {{access | date=2016-08-04}} | ||
* [https://www.facebook.com/backtrue/posts/10203889235625414?pnref=story 邱煜庭] (2015). - 「#自己架設電子商務網站很常被忽略的潛在成本 很多人都覺得市面上很多電子商務官網服務,包含 [https://www.meepshop.com/ meeshop], [http://qdm.com.tw/ qdm], [http://91app.com/act/openshop/index.html 91app], [http://www.shoplineapp.com/?locale=zh-hant shopline] 收的錢很貴,都想自己架設會不會比較便宜?帳面上的數字看起來當然是比較便宜,但是你有想過自己架官網,'''有些費用你是否忽略了?這中間包含:1. 伺服器租用成本 2. 頻寬成本 3. 資料庫成本 4. 1到3 維護IT人力成本 5. 資安維護成本 6. 官網維護更新成本 7. app版本維護更新成本 8. 6到7 人力成本''' ... ...」([https://www.facebook.com/backtrue/posts/10203889235625414?pnref=story 全文]) {{access | date=2015-08-04}} | * [https://www.facebook.com/backtrue/posts/10203889235625414?pnref=story 邱煜庭] (2015). - 「#自己架設電子商務網站很常被忽略的潛在成本 很多人都覺得市面上很多電子商務官網服務,包含 [https://www.meepshop.com/ meeshop], [http://qdm.com.tw/ qdm], [http://91app.com/act/openshop/index.html 91app], [http://www.shoplineapp.com/?locale=zh-hant shopline] 收的錢很貴,都想自己架設會不會比較便宜?帳面上的數字看起來當然是比較便宜,但是你有想過自己架官網,'''有些費用你是否忽略了?這中間包含:1. 伺服器租用成本 2. 頻寬成本 3. 資料庫成本 4. 1到3 維護IT人力成本 5. 資安維護成本 6. 官網維護更新成本 7. app版本維護更新成本 8. 6到7 人力成本''' ... ...」([https://www.facebook.com/backtrue/posts/10203889235625414?pnref=story 全文]) {{access | date=2015-08-04}} | ||
Line 35: | Line 40: | ||
* 網路資訊雜誌 (2010). [http://news.networkmagazine.com.tw/classification/software-application/2010/08/08/20468/ IT程式開發平臺的選擇 開放原始碼vs.商業平臺] 「商業和開放原始碼平臺在IT程式開發上,各有其優缺點,商業平臺較方便,入門門檻低;而開放原始碼的花費較低且安全性較高,但發展比較不可預期,可說是各有優缺點,選擇時端看IT系統的用處和條件,以及一直以來開發的慣例來延續一致性。 ... ...」{{access | date=2015-08-09}} | * 網路資訊雜誌 (2010). [http://news.networkmagazine.com.tw/classification/software-application/2010/08/08/20468/ IT程式開發平臺的選擇 開放原始碼vs.商業平臺] 「商業和開放原始碼平臺在IT程式開發上,各有其優缺點,商業平臺較方便,入門門檻低;而開放原始碼的花費較低且安全性較高,但發展比較不可預期,可說是各有優缺點,選擇時端看IT系統的用處和條件,以及一直以來開發的慣例來延續一致性。 ... ...」{{access | date=2015-08-09}} | ||
* 資安人科技網 (2015). [http://www.informationsecurity.com.tw/article/article_detail.aspx?aid=8212 (專訪)預防Open Source安全風險與侵權爭議] 「開放原始碼三大風險: 版權問題、資安漏洞、OpenSource使用廣泛,不易追蹤辨識... ...」{{access | date=2016-01-13}} | * 資安人科技網 (2015). [http://www.informationsecurity.com.tw/article/article_detail.aspx?aid=8212 (專訪)預防Open Source安全風險與侵權爭議] 「開放原始碼三大風險: 版權問題、資安漏洞、OpenSource使用廣泛,不易追蹤辨識... ...」{{access | date=2016-01-13}} | ||
* 林信良 (2017). [http://www.ithome.com.tw/voice/112994 多看一眼授權] {{access | date=2017-04-16}} | |||
* 林誠夏 (2017). [https://twoss.io/2017Tech.html 開源軟體法制授權與供應鏈協作] {{access | date=2017-08-05}} | |||
* data gravity https://twitter.com/kakashiliu/status/968843915997491200?s=19 | |||
== | Copyright compliance | ||
* [https://blog.gcos.me/tags/license/ License · Ant's ATField] | |||
* [https://www.facebook.com/photo.php?fbid=10213151937712465&set=a.2104140142503&type=3 #DevOps #Compliance #OpenSourceLicense 執行確實的... - Ant Yi-Feng Tzeng] "執行確實的 DevSecOps,除了 (Information) Security 外,還會有 Compliance 流程。這些涉及法遵相關的議題,包括法令及契約 (上下游或第三方) 等。 圖片引用 #招商銀行 在 DevSecOps 流程中納入 Black Duck Software 產品的流程,以遵守或避免開放/自由軟體授權契約的風險。" BSD, Apache, MIT > MPL > LGPL > GPL | |||
== 相關詞彙 == | |||
* Technology selection (技術選擇) | |||
* Copyright compliance | |||
== 開放原始碼新聞 == | |||
{{News feed | title = 開放原始碼 OR 開放源碼 OR "open source" 相關新聞聯播 | feed = <rss>https://news.google.com/rss/search?q=%E9%96%8B%E6%94%BE%E5%8E%9F%E5%A7%8B%E7%A2%BC%20OR%20%E9%96%8B%E6%94%BE%E6%BA%90%E7%A2%BC%20OR%20%22open%20source%22/%E9%96%8B%E6%94%BE%E5%8E%9F%E5%A7%8B%E7%A2%BC%20OR%20%E9%96%8B%E6%94%BE%E6%BA%90%E7%A2%BC%20OR%20%22open%20source%22&hl=zh-TW&gl=TW&ceid=TW:zh-Hant</rss> }} | |||
[[Category:OSS]] | [[Category:OSS]] | ||
[[Category:Software]] | [[Category:Software]] | ||
[[Category:License]] | [[Category:License]] |
Revision as of 16:05, 7 March 2022
技術選擇:如何選擇開放原始碼、自由軟體的軟體方案
方案選擇的指標
- 釐清需求:清楚與定義自身需求,作為方案選擇的比較基準
- 版本更新和專案開發的活躍度:
- 最近 (數個月內) 有更新軟體版本,而不是數年前才做最後一次更新或者已經公告停止繼續開發。沒有人維護的專案,代表功能不會更新丶錯誤不會修正,也同時代表未來有資安的隱憂。
- 程式庫網站 (OpenSource for Educators) 提供數值資料,以 GitHub 專案為例,點選專頁首頁 (1) 查看 「Changelog」 作者寫的版本更新、或者是 (2) 查看 「commits」檔案更新、(3) 觀察開發活躍度 e.g.: Contributors to NuCivic/dkan。
- 程式語言版本的支援程度: 例如該專案程式語言使用 PHP 撰寫,則可比對目前 PHP 版本的支援程度( PHP: Supported Versions)。當 PHP 核心開發團隊不支援 A 版,而該專案仍然使用該版本,則代表有 A 版本的漏洞問題。
- 軟體測試: 專案有無單元測試(unit test)、測試覆蓋率報告(test coverage report)
- 問題回覆與支援文件:使用者遇到問題時,有人協助回覆。
- 查看郵件列表 (mailing list) 的討論頻率: 以 GitHub 專案為例,點選「issues」查看使用者提出的問題,同時觀察是否有人協助回覆和解決問題。
- 支援文件: 是否提供清楚易懂的支援說明文件,或教學影片?
- 多人在用(Popularity):
- 有比較多使用者,代表遇到問題時,可以從網路上 (例如問答服務) 找到比較多的支援文件。
- 社群實體聚會次數,例如輸入 <架構名稱> (meetup OR conference) 再加上時間條件「過去一年」
- (輔助用) 以 GitHub 專案為例,則可根據被收藏/星星數 (star) 的數量,作為熱門度的衡量指標 e.g. Stargazers · jackmoore/colorbox · GitHub。但是星星數不準的狀況是,該專案由 C 國人開發,加上 C 國人口眾多,無法作為與其他同型專案的比較基準。
- 授權議題:如果想將開放原始碼的軟體方案,整合在公司的商業服務內,需考慮著作權授權與商業應用是否相容。
- 授權精靈、Choosing an OSS license doesn’t need to be scary - ChooseALicense.com [Last visited: 2017-04-16]
- 開放原始碼授權模式分析 主要授權模式 GPL、LGPL、BSD 與 MPL 四種介紹。
- 善用自由軟體資訊清單有效降低法律糾紛的風險 - OpenFoundry(自由軟體資訊清單 文件範本, e.g.: Third-Party Software Used by PhpStorm)
- 嚴謹符合開放原始碼定義的授權方案清單: Licenses & Standards | Open Source Initiative [Last visited: 2016-09-06]
- 維護或轉換方案的成本:選擇免費的開放原始碼的軟體方案,不代表不需要任何維護費用。
- 中文議題:可以使用繁體中文、多國語言 (unicode)
- (選擇性考慮的問題) 使用新或穩定的技術:例如試用 demo 版本功能、或查看截圖,確認軟體方案使用的技術或是否支援行動裝置。
延伸閱讀
- https://choosealicense.com/appendix/
- Yi-Feng Tzeng (Ant) (2014). 如何正確選擇自由/開放源碼軟體(或第三方軟體) | Ant's ATField [Last visited: 2015-02-21]
- Randy Metcalfe (2004). Top tips for selecting open source software [Last visited: 2016-08-04]
- 邱煜庭 (2015). - 「#自己架設電子商務網站很常被忽略的潛在成本 很多人都覺得市面上很多電子商務官網服務,包含 meeshop, qdm, 91app, shopline 收的錢很貴,都想自己架設會不會比較便宜?帳面上的數字看起來當然是比較便宜,但是你有想過自己架官網,有些費用你是否忽略了?這中間包含:1. 伺服器租用成本 2. 頻寬成本 3. 資料庫成本 4. 1到3 維護IT人力成本 5. 資安維護成本 6. 官網維護更新成本 7. app版本維護更新成本 8. 6到7 人力成本 ... ...」(全文) [Last visited: 2015-08-04]
- Marty Weiner (2015). Making Pinterest — Learn to stop using shiny new things and love... 選擇任何技術方案之前,先問幾個問題 (1) Does the technology meet your needs? (2) How well does it scale? (3) Is the cost justified? (4) How mature is the technology? [Last visited: 2015-04-13]
- Government Digital Service (2014). Choosing technology — Government Service Design Manual [Last visited: 2014-11-27] 中文翻譯: 選擇技術(Choosing technology)
- 黃彥棻 (2014). Muzik從實體跨入線上的關鍵 選對適用老技術避專利高風險 | iThome [Last visited: 2014-12-19]
- Papasign (2014). 中小企業如何選擇ERP [Last visited: 2015-02-19]
- 北美智權報 第110期:利用開放原始碼撰寫軟體應注意什麼事? - 以美國2008年Jacobsen v. Katzer案為例 「任何利用網路上開放原始碼軟體所撰寫的程式,都需要注意,其所利用的開放原始碼,採取的是怎樣的授權條件。如果該授權條件要求後續使用者可自由修改、再散布,且不排除商業性利用,則使用者可以放心的利用他人的開放原始碼程式。但是需注意的是,開放原始碼程式通常要求對前者的貢獻給予肯定,亦即,必須在修改後的版本標示出原著作之作者、出處,並說明其修改之處。」 [Last visited: 2015-06-19]
- 網路資訊雜誌 (2010). IT程式開發平臺的選擇 開放原始碼vs.商業平臺 「商業和開放原始碼平臺在IT程式開發上,各有其優缺點,商業平臺較方便,入門門檻低;而開放原始碼的花費較低且安全性較高,但發展比較不可預期,可說是各有優缺點,選擇時端看IT系統的用處和條件,以及一直以來開發的慣例來延續一致性。 ... ...」[Last visited: 2015-08-09]
- 資安人科技網 (2015). (專訪)預防Open Source安全風險與侵權爭議 「開放原始碼三大風險: 版權問題、資安漏洞、OpenSource使用廣泛,不易追蹤辨識... ...」[Last visited: 2016-01-13]
- 林信良 (2017). 多看一眼授權 [Last visited: 2017-04-16]
- 林誠夏 (2017). 開源軟體法制授權與供應鏈協作 [Last visited: 2017-08-05]
- data gravity https://twitter.com/kakashiliu/status/968843915997491200?s=19
Copyright compliance
- License · Ant's ATField
- #DevOps #Compliance #OpenSourceLicense 執行確實的... - Ant Yi-Feng Tzeng "執行確實的 DevSecOps,除了 (Information) Security 外,還會有 Compliance 流程。這些涉及法遵相關的議題,包括法令及契約 (上下游或第三方) 等。 圖片引用 #招商銀行 在 DevSecOps 流程中納入 Black Duck Software 產品的流程,以遵守或避免開放/自由軟體授權契約的風險。" BSD, Apache, MIT > MPL > LGPL > GPL
相關詞彙
- Technology selection (技術選擇)
- Copyright compliance