How to choose open source solution: Difference between revisions
Jump to navigation
Jump to search
m
→方案選擇的指標
m (→方案選擇的指標) |
|||
(22 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]。 | #* 程式庫網站 ([[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 版本的漏洞問題。 | #* 程式語言版本的支援程度: 例如該專案程式語言使用 PHP 撰寫,則可比對目前 PHP 版本的支援程度( [https://secure.php.net/supported-versions.php PHP: Supported Versions])。當 PHP 核心開發團隊不支援 A 版,而該專案仍然使用該版本,則代表有 A 版本的漏洞問題。 | ||
Line 10: | Line 10: | ||
# 問題回覆與支援文件:使用者遇到問題時,有人協助回覆。 | # 問題回覆與支援文件:使用者遇到問題時,有人協助回覆。 | ||
#* 查看郵件列表 (mailing list) 的討論頻率: 以 GitHub 專案為例,點選「issues」查看使用者提出的問題,同時觀察是否有人協助回覆和解決問題。 | #* 查看郵件列表 (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}} | #* [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}} | ||
Line 19: | Line 20: | ||
#* [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]) | #* [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}} | ||
Line 39: | Line 42: | ||
* 林信良 (2017). [http://www.ithome.com.tw/voice/112994 多看一眼授權] {{access | date=2017-04-16}} | * 林信良 (2017). [http://www.ithome.com.tw/voice/112994 多看一眼授權] {{access | date=2017-04-16}} | ||
* 林誠夏 (2017). [https://twoss.io/2017Tech.html 開源軟體法制授權與供應鏈協作] {{access | date=2017-08-05}} | * 林誠夏 (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]] |