How to choose open source solution: Difference between revisions

From LemonWiki共筆
Jump to navigation Jump to search
mNo edit summary
 
(95 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]]

Latest revision as of 11:11, 9 March 2026

技術選擇:如何選擇開放原始碼、自由軟體的軟體方案

Owl icon.jpg 什麼是「開放原始碼」軟體:「開放原始碼軟體是一種電腦軟體,公開其原始碼供使用者自由取用、學習、修改及分發,但需遵守特定的開源協定。它強調協同合作和知識分享,通常採用開放合作的開發模式,並釋出至公眾領域。」(資料來源:維基百科)


方案選擇的指標[edit]

  1. 釐清需求:清楚與定義自身需求,作為方案選擇的比較基準
  2. 版本更新和專案開發的活躍度:
    • 最近 (數個月內) 有更新軟體版本,而不是數年前才做最後一次更新或者已經公告停止繼續開發。沒有人維護的專案,代表功能不會更新丶錯誤不會修正,也同時代表未來有資安的隱憂。如果是比較新的領域,例如大語言模型相關的專案,更新的頻率則需要再縮短。
    • 程式庫網站 (OpenSource for Educators) 提供數值資料,以 GitHub 專案為例,點選專頁首頁 (1) 查看 「Changelog」 作者寫的版本更新、或者是 (2) 查看 「commits」檔案更新、(3) 觀察開發活躍度 e.g.: Contributors to NuCivic/dkan
    • 程式語言版本的支援程度: 例如 (1) 該專案程式語言使用 PHP 撰寫,則可比對目前 PHP 版本的支援程度( PHP: Supported Versions)。當 PHP 核心開發團隊不支援 A 版,而該專案仍然使用該版本,則代表有 A 版本的漏洞問題。 (2) 安裝相依性套件時顯示「xxx is discontinued upstream」,例如「Warning: xxx has been deprecated because it is discontinued upstream!」
    • 軟體測試: 專案有無單元測試(unit test)、測試覆蓋率報告(test coverage report)
  3. 問題回覆與支援文件:使用者遇到問題時,有人協助回覆。
    • 查看郵件列表 (mailing list) 的討論頻率: 以 GitHub 專案為例,點選「issues」查看使用者提出的問題,同時觀察是否有人協助回覆和解決問題。
    • 支援文件: 是否提供清楚易懂的支援說明文件,或教學影片?
  4. 多人在用(Popularity):
    • 有比較多使用者,代表遇到問題時,可以從網路上 (例如問答服務) 找到比較多的支援文件。
    • 社群實體聚會次數,例如輸入 <架構名稱> (meetup OR conference) 再加上時間條件「過去一年」
    • (輔助用) 以 GitHub 專案為例,則可根據被收藏/星星數 (star) 的數量,作為熱門度的衡量指標 e.g. Stargazers · jackmoore/colorbox · GitHub。但是星星數不準的狀況是,該專案由 C 國人開發,加上 C 國人口眾多,無法作為與其他同型專案的比較基準。
  5. 授權議題:如果想將開放原始碼的軟體方案,整合在公司的商業服務內,需考慮著作權授權與商業應用是否相容。
  6. 維護或轉換方案的成本:選擇免費的開放原始碼的軟體方案,不代表不需要任何維護費用。
    • 該方案所需要的安裝與執行環境
    • 從現有方案轉換到開放原始碼軟體方案的成本
    • 支援跨平台或多種作業系統的方案
    • 日後要轉換到別的方案的成本:(1) 使用者資料是否允許匯出? 例如 Google takeout 資料工具、 (2) 是否允許匯出成自由檔案格式 (open file format)、開放文檔格式 (open document format),而非強迫使用者必須使用舊軟體方案才能開啟的專屬檔案格式 (proprietary file format)。 (3) SEO 議題:建議方案能提供自訂網域 (custom domain name),即使轉換方案仍可維持相同網域。
  7. 中文議題:可以使用繁體中文、多國語言 (unicode)
  8. (選擇性考慮的問題) 使用新或穩定的技術:例如試用 demo 版本功能、或查看截圖,確認軟體方案使用的技術或是否支援行動裝置。

延伸閱讀[edit]

Wizard of license

選擇技術

評估開放原始碼 AI 專案

Copyright compliance

相關表單[edit]

相關詞彙[edit]

  • Technology selection (技術選擇)
  • Copyright compliance

開放原始碼新聞[edit]

開放原始碼 OR 開放源碼 OR "open source" 相關新聞聯播
IBM與Red Hat推出企業開源軟體供應鏈安全服務Project Lightwell,標榜AI輔助第三方套件漏洞修補 - iThome
IBM砸50億鎂掃開源漏洞!要找2萬名工程師上陣,6大金融巨頭已接入 - 動區動趨
Raindrop AI推出開放原始碼工具Workshop,支援AI代理本機除錯與評估 - iThome
Engineering Real-World LLM Inference: Bridging Open-Source and Production Systems - NVIDIA
波士頓推開放原始碼AI工具 助政府與市民共享數據洞察 - 樂聯網
中國開源 AI 大受歡迎,美國會機構警告恐威脅美領先地位 - TechNews 科技新報
ZeroRISC與頂尖研究機構共同推出針對開放原始碼晶片的生產級後量子密碼技術 - Yahoo股市
ZeroRISC 與頂尖研究機構共同推出針對開放原始碼晶片的生產級後量子密碼技術 - Business Wire
Vibe Coding是「開源殺手」?研究警告:AI讓開發者不再讀文件、回報Bug - Mashdigi
Hong Kong's Votee AI and Toronto's Beever AI Open-Source Beever Atlas — Turns Telegram, Discord, Mattermost, Microsoft Teams and Slack Chats Into a Living Wiki - etnet 經濟通|香港新聞財經資訊和生...
US AI investment to deliver returns despite open-source Chinese rivals: Goldman Sachs - MSN
OpenAlice 開源 AI 交易引擎爆紅,「一人制華爾街」GitHub 狂攬 3100 星 - 動區動趨
開源版「賈維斯」橫空出世!Clawdbot席捲矽谷,意外讓Mac mini賣到爆 - Mashdigi
德國一州大舉「去微軟化」!省下 1.27 億元以外的數位主權考量 - TechNews 科技新報
開源版彭博終端機:FinceptTerminal 內建 37 個 AI 分析師+量化實驗室+100 條資訊源 - 動區動趨
NVIDIA發表Alpamayo開源模型加速自駕車「推論」能力,DRIVE AV軟體首發用於賓士全新CLA車款 - Mashdigi
GitHub 爆紅:144個AI員工職位 (12個部門) 開源免費用,各有性格、工作流與 KPI - 動區動趨
Meta秘密開發代號「Avocado」新AI模型,傳採非開源形式設計、全力衝刺「超級智慧」 - Mashdigi
美國 Arcee 開源 Trinity-Large-Thinking 推理模型,宣稱逼近 Opus 4.6、便宜 96% - 動區動趨
Tether 推出開放原始碼挖礦操作系統挑戰比特幣挖礦巨頭 - WEEX
Google 開放源碼 Google Sans Flex 字體,回顧字體設計歷史 - Techritual Hong Kong
開放原始碼 - Microsoft
甚麼是 OSINT 開放源碼情報? - trendmicro.com
80% 美國新創在用中國開源模型?a16z 觀察揭 AI 權力版圖正被全面改寫 - TechOrange 科技報橘
開放原始碼 Roblox Sentinel:我們的預先風險偵測方法 - Roblox
高通改寫 Arduino 服務條款引發開源社群恐慌, 官方急滅火 - T客邦
芯原與谷歌共同推出開放原始碼Coral NPU IP - Yahoo股市
Qualcomm收購開源硬體與軟體平台Arduino,擴展邊緣運算與人工智慧應用的長遠佈局 - Mashdigi
Gemini CLI:你的開源 AI 代理 - blog.google
芯原攜手 Google 推出開放原始碼 Coral NPU IP - 三嘻行動哇 Yipee!
搶AI時代全球競爭高地 IMA協會呼籲組建「Open Source Team Taiwan」 - 經濟日報
成本低支援強各具優點 企業導入AI模型雙軌並進 - netadmin.com.tw

Powered by Google News