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