2022年度最佳开源软件榜单出炉!

CodeSheep 2022-11-25 09:06
来源|OSC开源社区(ID:oschina2013)

往期干货笔记整理

小伙伴们大家好,今天我们来聊一聊InfoWorld发布的「2022年度最佳开源软件榜单」。

每年InfoWorld都会根据软件对开源界的贡献,以及在业界的影响力评选出当年的“最佳开源软件”,该榜单评选已经延续了十多年了。

本次榜单里的开源软件/项目所涉及的领域还是比较广的,接下来我们就来一起盘点一番,这对于开阔技术视野还是非常有帮助的。

AlmaLinux

AlmaLinux是开放源码的、社区驱动的项目,一开始是作为CentOS的替代品,由CloudLinux OS的创建者打造。

它从红帽企业Linux(RHEL)的源码编译而来,跟RHEL 8在二进制上兼容。

项目地址:https://github.com/AlmaLinux

Podman

Podman是一个无守护进程的容器引擎,可用于构建、管理和运行OCI容器。Podman还提供了与Docker兼容的指令,用户可以很轻易的从原本的Docker指令切换到Podman。

项目地址:https://github.com/containers/podman

Play with Docker

Play with Docker是一个Docker学习平台,在浏览器中提供免费的Alpine Linux虚拟机体验。

用户可以在Play with Docker中构建和运行Docker容器,训练自己操作Docker的能力(默认已搭建好环境),甚至在Docker Swarm模式下创建集群,Docker-in-Docker用于提供多个VM/PC的效果。

项目地址:https://github.com/play-with-docker

Vaadin

Vaadin是一个可在Java中实现Web用户界面的Web框架,无需编写任何HTML或JavaScript代码。Vaadin包含一个服务器端的结构,主要的应用逻辑都在服务器端运行,浏览器端通过Ajax技术跟服务器端进行交互。

项目地址:https://github.com/vaadin

JHipster

JHipster是一个全栈的开发平台,可以快速生成,开发和部署现代Web应用程序+微服务架构。同时JHipster也提供了包含CLI工具在内的许多组件。

项目地址:https://github.com/jhipster/generator-jhipster

SolidJS

SolidJS是一个用于构建用户界面的声明式、高效且灵活的JavaScript库。SolidJS与React有很多相同的理念,但有一些例外,例如没有虚拟DOM,组件只渲染一次等。这些特性有助于使用SolidJS构建的应用程序拥有极快的速度,并使其成为当今最快的JavaScript框架之一。

项目地址:https://github.com/solidjs/solid

Redwood

Redwood是一个全栈Web框架,它将React、GraphQL、Prisma、TypeScript、Jest和Storybook的最佳部分结合在一起。

Redwood采用类似Rails的方法来满足数据建模和脚手架等重复性需求,也解决了安全性和跟踪、集成等需求。Redwood允许针对各种部署环境,包括Vercel和Netlify等无服务器平台。

项目地址:https://github.com/redwoodjs/redwood

Next.js

Next.js是一个可用于生产环境的React框架。Next.js可以为用户提供生产环境所需的所有功能以及最佳的开发体验:包括静态及服务器端融合渲染、支持TypeScript、智能化打包、路由预取等功能并且无需任何配置。

项目地址:https://github.com/vercel/next.js

Wasmtime

Wasmtime是WebAssembly和WASI的小型高效运行时环境,采用Rust编写,构建于编译器Cranelift之上。Wasmtime完全开源,符合WASI标准,还支持与C/C++、Python、.NET、Go和其他编程语言集成,可运行在Windows/Linux/macOS等平台。

项目地址:https://github.com/bytecodealliance/wasmtime

PyScript

PyScript是一个开发框架,为开发者提供了在标准HTML中嵌入编写Python代码的能力、使用Python调用JavaScript函数库,以及创建Python Web应用等。

PyScript的出现,使得Python具备了在浏览器中运行的能力。它允许开发者在HTML中创建丰富的Python应用程序,Python代码可与JavaScript实现双向通信。使得在网页中,可以充分利用Python的生态系统,包括Python众多知名的库(Numpy、Pandas、Scikit-learn)。

项目地址:https://github.com/pyscript/pyscript

Hardhat

Hardhat是面向专业人士的以太坊开发环境,同时也是一个优秀的开源框架,它简化了在以太坊上编码、测试和部署Dapps和智能合约的过程。

项目地址:https://github.com/NomicFoundation/hardhat

OpenFGA

OpenFGA是一种适用于细粒度授权的开源授权解决方案,允许开发人员使用易于阅读的建模语言和友好的API构建精细的访问控制系统。

它应用了ReBAC的概念,由Auth0 FGA团队创建,并受到Zanzibar的启发,专为大规模的可靠性和低延迟而设计。

项目地址:https://github.com/openfga

Sentry

Sentry是一个实时的事件日志和聚合平台,基于Django构建。Sentry可以帮助用户将Python程序的所有exception自动记录下来,然后在一个简单好用的UI上呈现和搜索。

项目地址:https://github.com/getsentry/sentry

Appsmith

Appsmith是一个开源低代码框架,用于构建管理面板、CRUD应用程序和工作流。它允许拖放组件来构建仪表板、使用JavaScript对象编写逻辑并连接到任何API、数据库或GraphQL源。

项目地址:https://github.com/appsmithorg/appsmith

Spinnaker

Spinnaker是一个持续交付平台,它定位于将产品快速且持续的部署到多种云平台上。Spinnaker支持包括像:开源,随时运行;随地部署,集中化管理等主要特性。

项目地址:https://github.com/spinnaker/spinnaker

Hypertrace

Hypertrace是一个开源的分布式跟踪和可观察性引擎,能够从庞大的云原生架构中的大量服务中摄取和处理大量实时性能数据。

Hypertrace监控应用程序和微服务,跨多个接触点跟踪分布式事务,并将所有这些信息提炼成服务指标和应用程序流程图,并显示在完全可定制的仪表板中。

项目地址:https://github.com/hypertrace/hypertrace

Gravitee

Gravitee API网关是基于Vert.X开发的高性能接口网关,支持Swagger导入接口、文档管理、性能分析、操作审计、日志,负载均衡等功能。

项目地址:https://github.com/gravitee-io

OpenTelemetry

OpenTelemetry是一个开源的分布式链路跟踪和监测平台,旨在提供可观测性领域的标准化方案,可用于检测、生成、收集和导出观测数据(比如:指标、日志和跟踪),以帮助分析软件的性能和行为。

OpenTelemetry通常可跨多种语言使用,且易于与流行的库和框架集成,例如Spring、ASP.NET Core、Express、Quarkus等。

项目地址:https://github.com/open-telemetry

Grafana

Grafana是Graphite和InfluxDB仪表盘和图形编辑器,同时也是开源的、功能齐全的度量仪表盘和图形编辑器,支持Graphite,InfluxDB和OpenTSDB。

Grafana主要特性:灵活丰富的图形化选项;可以混合多种风格;支持白天和夜间模式;多个数据源;Graphite和InfluxDB查询编辑器等等。

项目地址:https://github.com/grafana/grafana

Dapr

Dapr(Distributed Application Runtime,分布式应用运行时)是一种可移植的、serverless的、事件驱动的运行时环境,它使开发人员可以轻松构建弹性的、无状态和有状态的应用程序,并可运行在云平台或边缘计算中,而且还包含多种语言和开发框架。

项目地址:https://github.com/dapr

Redpanda

Redpanda是Kafka兼容的流式数据处理平台,主要用C++编写,使用Seastar异步框架和Raft共识算法用于其分布式流数据。

它可以提供高达10倍的平均延迟降低和高达6倍的Kafka事务速度,同时运行在更少的资源上。

项目地址:https://github.com/redpanda-data/redpanda

Apache lceberg

Iceberg是一种用于大型分析表的高性能格式。Iceberg为大数据带来了SQL表的可靠性和简单性,同时让Spark、Trino、Flink、Presto、Hive和Impala等引擎能够同时安全地使用相同的表。

项目地址:https://github.com/apache/iceberg

Apache Druid

Druid是一个高性能实时分析数据库。它是为大型数据集上实时探索查询的引擎,提供专为OLAP设计的开源分析数据存储系统,它的设计意图是在面对代码部署、机器故障以及其他的可能性问题时能保持正常地提供服务。

项目地址:https://github.com/apache/druid

JAX

JAX是一个TensorFlow的简化库,它结合了Autograd和XLA,专门用于高性能机器学习研究。

凭借Autograd,JAX可以求导循环、分支、递归和闭包函数,并且它可以进行三阶求导。通过grad,它支持自动模式反向求导(反向传播)和正向求导,且二者可以任何顺序任意组合。

项目地址:https://github.com/google/JAX

nbdev

nbdev是一个Jupyter Notebooks驱动的开发平台。只需使用轻量级标记编写Jupyter Notebooks,即可获得高质量的文档、测试、持续集成和打包。

比起传统编程环境,nbdev的代码调试和重构容易得多,因为始终可以轻松地获得活动对象。

项目地址:https://github.com/fastai/nbdev

Accelerate

Accelerate是一个开源库,只需添加四行代码,即可在任何分布式配置中运行相同的PyTorch代码。

简而言之,Accelerate使得大规模的训练和推理变得简单、高效和强适应性。

项目地址:https://github.com/huggingface/accelerate

Stable Diffusion

Stable Diffusion是一种文本到图像的AI模型,可以生成质量惊人的图像。

世界各地的爱好者都在围绕这个项目进行改进工作,以加快图像生成速度,支持在内存较低的GPU上运行,并添加画内和画外支持,他们甚至在M1驱动的MacBook上运行了Stable Diffusione。

项目地址:https://github.com/CompVis/stable-diffusion

EleutherAI

EleutherAI是一个由机器学习研究人员组成的分布式小组

EleutherAI是一群致力于实现开源人工智能研究的AI研究者所组成的研究小组,旗下有多款预训练模型,包括GPT-NeoX-20B,一个与CoreWeave合作训练的200亿参数模型;GPT-J-6B,在Pile上训练的60亿参数模型等等。

项目地址:https://github.com/EleutherAI

往期干货笔记整理

推荐阅读