How to choose open source solution: Difference between revisions

Jump to navigation Jump to search
(Created page with "'''如何選擇自由軟體方案''' 釐清自身需求 # 清楚定義自身需求,作為方案的比較基準 相較於其他類似功能的方案... # 版本更新:最...")
 
 
(96 intermediate revisions by the same user not shown)
Line 1: Line 1:
'''如何選擇自由軟體方案'''
'''技術選擇:如何選擇開放原始碼、自由軟體的軟體方案'''


釐清自身需求
{{Tip | tip=什麼是「開放原始碼」軟體:「開放原始碼軟體是一種電腦軟體,公開其原始碼供使用者自由取用、學習、修改及分發,但需遵守特定的開源協定。它強調協同合作和知識分享,通常採用開放合作的開發模式,並釋出至公眾領域。」(資料來源:[https://zh.wikipedia.org/wiki/%E5%BC%80%E6%BA%90%E8%BD%AF%E4%BB%B6 維基百科])}}
# 清楚定義自身需求,作為方案的比較基準


相較於其他類似功能的方案...
 
# 版本更新:最近 (數個月內) 有更新軟體版本,而不是數年前作最後一次更新後,就沒在維護,這同時代表有資安的隱憂。
== 方案選擇的指標 ==
# 問題回覆:使用者遇到問題時,有人協助回覆。以 GitHub 專案為例,點選「issues」查看使用者提出的問題,同時觀察是否有人協助回覆和解決問題。
# 釐清需求:清楚與定義自身需求,作為方案選擇的比較基準
# 多人在用:有比較多使用者,代表遇到問題時,可以從網路上找到比較多的支援文件。
# 版本更新和專案開發的活躍度:
# 授權議題:如果想將自由軟體方案,整合在公司的商業服務內,需考慮著作權授權。
#* 最近 (數個月內) 有更新軟體版本,而不是數年前才做最後一次更新或者已經公告停止繼續開發。沒有人維護的專案,代表功能不會更新丶錯誤不會修正,也同時代表未來有資安的隱憂。如果是比較新的領域,例如大語言模型相關的專案,更新的頻率則需要再縮短。
#* [http://www.openfoundry.org/tw/legal-column-list/8397-2011-07-22-09-56-32 善用自由軟體資訊清單有效降低法律糾紛的風險 - OpenFoundry]([https://drive.google.com/templates?q=自由軟體資訊清單&type=spreadsheets&sort=hottest&view=public 文件範本], example: [http://confluence.jetbrains.com/display/PhpStorm/Third-Party+Software+Used+by+PhpStorm Third-Party Software Used by PhpStorm])
#* 程式庫網站 ([[OpenSource for Educators]]) 提供數值資料,以 GitHub 專案為例,點選專頁首頁 (1) 查看 「Changelog」 作者寫的版本更新、或者是 (2) 查看 「commits」檔案更新、(3) 觀察開發活躍度 e.g.: [https://github.com/NuCivic/dkan/graphs/contributors Contributors to NuCivic/dkan]。
# (選擇性考慮的問題) 使用新技術:從方案提供的 demo 或 截圖,查看軟體方案使用的技術或是否支援行動裝置。
#* 程式語言版本的支援程度: 例如 (1) 該專案程式語言使用 PHP 撰寫,則可比對目前 PHP 版本的支援程度( [https://secure.php.net/supported-versions.php PHP: Supported Versions])。當 PHP 核心開發團隊不支援 A 版,而該專案仍然使用該版本,則代表有 A 版本的漏洞問題。 (2) 安裝相依性套件時顯示「xxx is discontinued upstream」,例如「Warning: xxx has been deprecated because it is discontinued upstream!」
#* 軟體測試: 專案有無[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):
#* 有比較多使用者,代表遇到問題時,可以從網路上 (例如[[問答服務]]) 找到比較多的支援文件。
#* 社群實體聚會次數,例如輸入 {{kbd | key=<nowiki><架構名稱> (meetup OR conference)</nowiki>}} 再加上時間條件「過去一年」
#* (輔助用) 以 GitHub 專案為例,則可根據被收藏/星星數 (star) 的數量,作為熱門度的衡量指標 e.g. [https://github.com/jackmoore/colorbox/stargazers Stargazers · jackmoore/colorbox · GitHub]。但是星星數不準的狀況是,該專案由 C 國人開發,加上 C 國人口眾多,無法作為與其他同型專案的比較基準。
# [[List of software licensing schemes | 授權議題]]:如果想將開放原始碼的軟體方案,整合在公司的商業服務內,需考慮著作權授權與商業應用是否相容。
#* 直接下載:[https://docs.google.com/spreadsheets/d/1UarMQhYT4E0e_6dFCNGaw2_TNU2v83heZa2USneo5YQ/edit?usp=sharing 自由軟體資訊清單 文件範本]
#* 嚴謹符合[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)
# (選擇性考慮的問題) 使用新或穩定的技術:例如試用 demo 版本功能、或查看截圖,確認軟體方案使用的技術或是否支援行動裝置。
 
== 延伸閱讀 ==
Wizard of license
* [https://choosealicense.com/appendix/ Appendix | Choose a License]
* {{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}}
* [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}}
* Marty Weiner (2015). [http://engineering.pinterest.com/post/116038532184/learn-to-stop-using-shiny-new-things-and-love 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?''' {{access | date=2015-04-13}}
* Government Digital Service (2014). [https://www.gov.uk/service-manual/making-software/choosing-technology Choosing technology — Government Service Design Manual] {{access | date=2014-11-27}} 中文翻譯: [http://gds.hpx.tw/service-manual/making-software/choosing-technology/ 選擇技術(Choosing technology)]
* 黃彥棻 (2014). [http://www.ithome.com.tw/people/92654 Muzik從實體跨入線上的關鍵 選對適用老技術避專利高風險 | iThome] {{access | date=2014-12-19}}
* Papasign (2014). [http://blog.papasign.com/wordpress/2014/12/17/%E5%A6%82%E4%BD%95%E9%81%B8%E6%93%87erp%E4%B8%AD%E5%B0%8F%E4%BC%81%E6%A5%AD%E7%AF%87/ 中小企業如何選擇ERP] {{access | date=2015-02-19}}
* [http://www.naipo.com/Portals/1/web_tw/Knowledge_Center/Infringement_Case/publish-96.htm 北美智權報 第110期:利用開放原始碼撰寫軟體應注意什麼事? - 以美國2008年Jacobsen v. Katzer案為例] 「任何利用網路上開放原始碼軟體所撰寫的程式,都需要注意,其所利用的開放原始碼,採取的是怎樣的授權條件。如果該授權條件要求後續使用者可自由修改、再散布,且不排除商業性利用,則使用者可以放心的利用他人的開放原始碼程式。但是需注意的是,開放原始碼程式通常要求對前者的貢獻給予肯定,亦即,必須在修改後的版本標示出原著作之作者、出處,並說明其修改之處。」 {{access | date=2015-06-19}}
* 網路資訊雜誌 (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}}
* 林信良 (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
* [https://blog.pulipuli.info/2023/01/how-to-evaluate-an-open-source-project.html 如何評估開放原始碼專案? / How to evaluate an Open Source Project? - 布丁布丁吃什麼?]
* Louis Lin (2021). [https://lupopi.com/blog/wordpress 為什麼用 WordPress?] {{access | date=2023-07-06}}
* [https://www.youtube.com/watch?v=f6Mo7W6YgWI 網頁開發人員如何意外使用到商用授權的開放原始碼套件 - YouTube]
 
選擇技術
* [https://boringtechnology.club/index_zh_TW.html 選擇無聊的技術]
 
評估開放原始碼 AI 專案
* [https://github.com/el09xccxy-stack/oss-investment-scorecard el09xccxy-stack/oss-investment-scorecard: A structured 5-dimension scoring framework for evaluating open-source AI projects from a VC investment perspective. Maintained by Lucy Chen, EIR at Zoo Capital (Singapore, $2B+ AUM).] ([https://www.facebook.com/lucy.chen.908347/posts/pfbid0knY8DTg8r8MHDpX4vntCZcPuKymThrJ4P48wkRMj7DFv1CCnMrbyCd9Q1JMaZ7eml 作者臉書])
 
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
 
== 相關表單 ==
* [https://docs.google.com/spreadsheets/d/1UarMQhYT4E0e_6dFCNGaw2_TNU2v83heZa2USneo5YQ/edit#gid=0 自由軟體資訊清單 (含著作權授權方案) - Google 試算表]
 
== 相關詞彙 ==
* 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:License]]

Navigation menu