本文是 InfoWorld 2021 年發表的《最佳開源軟體名單》翻譯稿。 InfoWorld 是一家資訊科技媒體公司,成立於 1978 年目前隸屬於 IDG。每年 InfoWorld 都會根據軟體對開源界的貢獻,以及在業界的影響力評選出當年的「最佳開源軟體」 (BOSSIE),該獎項評選已經延續了十多年。本次獲獎的29 個開來源專案包括:軟體開發、開發、雲原生運算、機器學習等類型,下面我們一起來看看,有沒有熟悉的臉! 1、Svelte 和SvelteKit
在眾多創新的、開源的、前端的JavaScript 框架中,Svelte 及其全端對應的SvelteKit 可能是最有野心和遠見的。 Svelte 一開始就透過採用編譯時策略來顛覆現狀,並以出色的性能、持續的發展和卓越的開發者體驗向前邁進。SvelteKit 現已進入公測階段,它延續了 Svelte 的傳統,透過採用最新的工具,並將部署到無伺服器環境作為內建功能來實現飛躍。 網址:https://github.com/sveltejs/svelte
2、Minikube
###################### #######################Minikube 是一個易於在本地運行Kubernetes 的工具,可在你的筆記型電腦上的虛擬機器內輕鬆建立單機版Kubernetes集群。方便嘗試 Kubernetes 或使用 Kubernetes 日常開發。網址:https://github.com/kubernetes/minikube
3、Pixie
######## ####################Pixie 是Kubernetes 應用的可觀察性工具,它可以查看叢集的高階狀態,例如服務地圖、叢集資源和應用程式流量;還可以深入到更詳細的視圖,如pod 狀態、火焰圖和單一full-body 應用程式請求。 Pixie 使用 eBPF 自動收集遙測數據,它在叢集中本地收集、儲存和查詢所有的遙測數據,使用不到 5% 的叢集 CPU。 Pixie的用例包括叢集內的網路監控、基礎設施健康、服務效能和資料庫查詢剖析。 ###############「網址:https://github.com/pixie-io/pixie###
4、FastAPI
#FastAPI 是高效能 Web 框架,用於建立 API。主要功能:
快速:非常高的效能,與NodeJS 和Go 相當
# #快速編碼:將功能開發速度提高約200% 至300%
#更少的錯誤:減少約40% 的人為錯誤
#直覺:強大的編輯器支持,自動補全無所不在,調試時間更少
-
##簡易:旨在易於使用和學習,減少閱讀文件的時間。
###############簡短:減少程式碼重複。 ##################穩健:取得可用於生產環境的程式碼,具有自動互動式文件######
基於標準:基於且完全相容API 的開放標準OpenAPI 和JSON Schema
位址: https://github.com/tiangolo/fastapi
5、Crystal
作為一個提供具有C 語言的速度和Ruby 語言的表現力的程式語言的項目,Crystal 已經開發了好幾年了。隨著今年年初 Crystal 1.0 的發布,該語言現在已經足夠穩定到可以用於一般工作負載。 Crystal 使用靜態類型和 LLVM 編譯器來實現高速度,並避免在執行時間出現空引用等常見問題。 Crystal 可以與現有的 C 程式碼接口,以進一步提高速度和便利性,它還可以使用編譯時巨集來擴展基礎語言的語法。 「網址:https://github.com/crystal-lang/crystal
6、Windows Terminal
#Windows Terminal 是全新的、流行的、功能強大的命令列終端工具。包含許多來社群呼聲很高的特性,例如:多 Tab 支援、富文本、多語言支援、可設定、主題和樣式,支援 emoji 和基於 GPU 運算的文字渲染等等。同時該終端仍符合我們的目標和要求,以確保它保持快速、高效,並且不會消耗大量記憶體和電源。 關注Linux中文社群#網址:https://github.com/Microsoft/Terminal
7、OBS Studio
#OBS Studio 是用於即時串流媒體和螢幕錄製的軟體,為高效捕獲,合成,編碼,記錄和串流視訊內容而設計,支援所有串流媒體平台。
- 高效能即時視訊/音訊擷取和混音。創建由多種來源組成的場景,包括視窗擷取、影像、文字、瀏覽器視窗、網路攝影機、擷取卡等。
- 設定無限數量的場景,使用者可以透過自訂過渡無縫切換。
- 帶有每個來源濾波器的直覺式音訊混合器,例如雜訊門,雜訊抑制和增益。全面控制VST插件支援。
- 強大且易於使用的設定選項。新增來源,複製現有來源,並輕鬆調整其屬性。
- 精簡的設定面板使用戶可以存取各種配置選項,以調整廣播或錄製的各個方面。
- 模組化的「Dock」 UI允許使用者完全根據需要重新排列佈局。用戶甚至可以將每個單獨的 Dock 彈出到自己的視窗中。
網址:https://github.com/obsproject/obs-studio
8、Shotcut
#Shotcut 是一款跨平台的影片編輯工具,允許人們在應用效果和分層的同時,對音訊和視訊軌道進行所有的標準修正。 Shotcut 有一個非常活躍的社區,並提供大量的操作影片和指導,以幫助新手和高級攝影師。它可以在 Mac、Linux、BSD 和 Windows 上運行——儘管是跨平台的,但與同類工具相比,它的介面很敏捷,使用起來也相對簡單。 「網址:https://github.com/mltframework/shotcut
9、Weave GitOps Core
Weave GitOps 支持有效的GitOps 工作流程,以將應用程式持續交付到Kubernetes 叢集中。它基於領先的 GitOps 引擎 CNCF Flux。 #:https://github.com/weaveworks/weave-gitops
10、Apache Solr
Apache Solr 是基於Lucene 的全文搜尋伺服器,也是最受歡迎的企業級搜尋引擎。 Apache Lucene 是你所使用的大部分軟體的搜尋功能背後的基礎搜尋技術--包括其他搜尋引擎,如 Elasticsearch。與 Elasticsearch 不同的是,Solr 放棄了它的開源許可,但它仍然是免費的。 Solr 是可叢集的、可在雲端部署的,並且強大到足以建立雲端級的搜尋服務。它甚至包括 LTR 演算法,以幫助自動調整和加權結果。 「網址:https://github.com/apache/solr
11、MLflow
MLflow 由Databricks 創建,並由Linux基金會託管,是一個MLOps 平台,可以讓人追蹤、管理和維護各種機器學習模型、實驗及其部署。它為你提供了記錄和查詢實驗(程式碼、數據、配置、結果)的工具,將數據科學程式碼打包成項目,並將這些項目鏈入工作流程。 #:https://github.com/mlflow/mlflow
#
12、Orange
#Orange 旨在使將資料挖掘"富有成效且有趣"。 Orange 讓使用者可以建立資料分析工作流程,執行各種機器學習和分析功能以及視覺化。與 R Studio 和 Jupyter等程式化或文字工具相比,Orange 是非常直觀的。你可以將小部件拖到畫布上以載入文件,用模型分析資料並將結果視覺化。 #「https://github.com/biolab/orange3
13、Flutter
#Flutter 由Google 的工程師團隊打造,用於創建高效能、跨平台的行動應用程式。 Flutter 針對當下以及未來的行動裝置進行最佳化,專注於 Android and iOS 低延遲的輸入和高幀率。它可以提供開發者簡單、高效的方式來建置和部署跨平台、高效能行動應用程式;提供使用者漂亮、快速、jitter-free 的 app 體驗。 #「https://github.com/flutter
14、Apache Superset
#Apache Superset 是Airbnb(知名在線房屋短租公司)開源的資料探勘與視覺化平台(曾使用名Panoramix、Caravel ),在視覺化、易用性和互動性上非常有特色,使用者可以輕鬆對資料進行視覺化分析。 Apache Superset 也是企業級商業智慧 Web 應用程式。 「網址:https://github.com/apache/superset
15、Presto
#Presto 是一個開源的分散式SQL引擎,用於線上分析處理,在叢集中運行。 Presto 可以查詢各種各樣的資料來源,從檔案到資料庫,並將結果傳回許多商業智慧和分析環境。更重要的是,Presto 允許查詢資料所在的地方,包括 Hive、Cassandra、關係型資料庫和專有資料儲存。一個 Presto 查詢可以結合多個來源的資料。 Facebook 使用 Presto 對幾個內部資料儲存進行互動查詢,包括他們的 300PB 資料倉儲。 #「https://github.com/prestodb/presto
16、Apache Arrow
#Apache Arrow 為平面和分層資料定義了一種獨立於語言的柱狀記憶體格式,為現代CPU 和GPU 上的高效分析操作而組織。 Arrow 記憶體格式也支援零拷貝讀取,以便在沒有序列化開銷的情況下進行閃電式的資料存取。 Arrow 函式庫可用於 C、C 、C#、Go、Java、JavaScript、Julia、MATLAB、Python、R、Ruby 和 Rust。
#:https://github.com/apache/arrow
#
17、InterpretML
InterpretML 是一個開源的Explainable AI(XAI)包,其中包含了幾個最先進的機器學習可解釋性技術。 InterpretML 讓你訓練可解釋的 glassbox 模型並解釋黑盒系統。 InterpretML 協助你了解模型的全域行為,或了解個別預測背後的原因。在它的許多功能中,InterpretML 有一個來自 Microsoft Research 的"glass box"模型,稱為 Explainable Boosting Machine,它支援用黑盒模型的近似值進行 post-hoc 解釋的 Lime。 #「https://github.com/interpretml/interpret
18、Lime
Lime(local interpretable model-agnostic explanations的簡稱)是一種post-hoc 技術,透過擾動輸入的特徵並檢查預測結果來解釋任何機器學習分類器的預測。 Lime 能夠解釋任何具有兩個或更多類別的黑盒分類器,其同時適用於文字和圖像領域。 Lime 也被納入 InterpretML 中。 「網址:https://github.com/marcotcr/lime
19、Dask
#Dask 是一個用於平行運算的開源函式庫,可以將Python包擴展到多台機器上。 Dask 可以將資料和運算分佈在多個 GPU 上,無論是在同一個系統中還是在一個多節點叢集中。 Dask 與 Rapids cuDF、XGBoost 和 Rapids cuML 集成,用於 GPU 加速的資料分析和機器學習。它還與NumPy、Pandas 和Scikit-learn 集成,以並行化其工作流程
地址:https://github.com/dask/dask
20、BlazingSQL
BlazingSQL 是一個基於RAPIDS 生態系統構建的GPU 加速SQL 引擎。 RAPIDS 是基於 Apache Arrow 柱狀記憶體格式,cuDF 是一個 GPU DataFrame 函式庫,用於載入、連接、聚合、過濾和操作資料。它是 cuDF 的 SQL 接口,具有支援大規模資料科學工作流程和企業資料集的各種功能。 網址:https://github.com/BlazingDB/blazingsql
#
21、Rapids
#Nvidia 的Rapids 開源軟體庫和API套件讓你有能力完全在GPU 上執行端到端的資料科學和分析管道。 Rapids 使用 Nvidia CUDA 基元進行底層運算最佳化,並透過使用者友好的 Python 介面暴露了 GPU 的平行性和高頻寬記憶體速度。 Rapids 依賴Apache Arrow 柱狀記憶體格式,包含 cuDF,一個類似Pandas 的 DataFrame 函式庫;cuML##DataFrame 函式庫;cuML
# ,一個機器學習庫集合,提供Scikit-learn 中大多數演算法的GPU 版本;以及 cuGraph
,一個類似NetworkX 的加速圖分析庫### ##########網址:https://github.com/rapidsai/cudf###
22、PostHog
#PostHog 是為開發人員建構的開源產品分析平台。自動收集你網站或應用程式上的每個事件,無需向第三方發送資料。它在用戶層級提供基於事件的分析,捕獲你產品的使用數據以查看哪些用戶在你的應用程式中執行了哪些操作。它會自動捕獲點擊次數和綜合瀏覽量,以分析你的用戶在做什麼,而無需手動推送事件。 網址:https://github.com/PostHog/posthog
23、LakeFS
#LakeFS 提供了一種」來管理程式碼的方式管理你的資料湖"的方法,為物件儲存增加了一層類似Git 的版本控制。這種對 Git 語意的應用讓使用者可以創建自己的隔離的、零拷貝的資料分支,在上面工作、實驗和建模分析,而不會破壞共享物件的風險。 LakeFS 為你的資料帶來了有用的commit notes、元資料欄位和rollback 選項,同時也帶來了維護資料完整性和品質的驗證hooks--在一個未提交的分支被意外地合併回生產之前,運轉格式和模式檢查。透過 LakeFS,管理和保護程式碼庫的熟悉技術可以擴展到現代資料庫,如 Amazon S3 和 Azure Blob 儲存。 「網址:https://github.com/treeverse/lakeFS
24、Meltano
#Meltano 是今年從GitLab 分離出來的,一個免費的開源DataOps 取代傳統ELT(提取、載入、轉換)的工具鏈。 Meltano 的資料倉儲框架使得為您的專案建模、提取和轉換資料變得容易,並透過內建的分析工具和簡化報告的儀表板來補充整合和轉換管道。 Meltano提供了一個可靠的提取器和載入器庫,以及對 Singer 標準的 data extracting taps 和 data loading targets 的支持,Meltano 已經是一個資料編排的動力來源。 25、Trino
#Trino(原名PrestoSQL)是一個分散式SQL 分析引擎,能夠對大型分散式資料來源運行極快的查詢。 Trino 允許你同時對資料湖、關係型儲存或多個不同來源執行查詢,而不需要複製或移動資料進行處理。而且 Trino 與你的資料科學家可能使用的任何商業智慧和分析工具配合得很好,無論是互動的還是臨時性的,最大限度地減少了學習曲線。隨著資料工程師努力支援越來越多的資料來源的複雜分析,Trino 提供了一種最佳化查詢執行和加速不同來源的結果的方法。 「網址:https://github.com/trinodb/trino
26、StreamNative
## #######################StreamNative 是一個高度可擴展的訊息和事件流平台,大大簡化了即時報告和分析工具以及企業應用程式流的數據管道鋪設。 StreamNative 將Apache Pulsar 強大的分散式串流處理架構與Kubernetes 和混合雲支援等企業額外功能、大型資料連接器庫、簡易認證和授權以及用於健康和效能監控的專用工具相結合,既簡化了基於Pulsar的即時應用程式的開發,又簡化了大規模訊息傳遞背板的部署和管理。 ################「https://github.com/streamnative####
27、Hugging Face
Hugging Face 提供了最重要的開源深度學習資源庫,它本身並不是一個深度學習框架。 Hugging Face 的目標是擴展到文字之外,支援影像、音訊、視訊、物件偵測等。 Infoworld 指出,深度學習從業者應在未來幾年內密切關注這個 repo。 網址:https://github.com/huggingface/transformers
28、EleutherAI
#EleutherAI 是由機器學習研究人員組成的分散式小組,旨在將GPT-3 帶給所有人。 2021 年伊始,EleutherAI 發布了The Pile,是一個825 GB 的用於訓練的多樣化文字資料集;並在6 月公佈了GPT-J,一個60 億參數的模型,大致相當於OpenAI 的GPT-3的Curie variant。隨著 GPT-NeoX 的出現,EleutherAI計劃將參數提高到 1,750 億,以與目前最廣泛的 GPT-3 模型競爭。 網址:https://github.com/EleutherAI/gpt-neo
29、Colab notebooks for generative art
#
首先是 OpenAI 的 CLIP(對比語言-圖像預訓練)模型,一個用於產生文字和圖像向量嵌入的多模態模型。雖然 CLIP 是完全開源的,但 OpenAI 的生成性神經網路 DALL-E 卻不是。為了填補這一空白,Ryan Murdoch 和 Katherine Crowson 開發了 Colab notebooks, CLIP 與其他開源模型(如 BigGAN 和 VQGAN)結合起來,製作 prompt-based 生成性藝術作品。這些 notebooks 基於 MIT 許可,於過去幾十年間在互聯網上進行了廣泛傳播,被重新混合、改變、翻譯,並被用來生成了驚人的藝術作品。