出品|OSC开源社区(ID:oschina2013)
InfoWorld公布了2022年最佳开源软件榜单。
InfoWorld是致力于引领IT决策者走在科技前沿的国际科技媒体品牌,每年InfoWorld都会根据软件对开源界的贡献,以及在业界的影响力评选出当年的“最佳开源软件”(InfoWorld'sBestofOpenSourceSoftwareAwards,简称Bossies),该奖项评选已经延续了十多年。
InfoWorld的2022年Bossie奖旨在表彰年度最重要和最具创新性的应用程序开发、devops、数据分析和机器学习工具。
接下来具体看看每一个项目。
AlmaLinux
AlmaLinux是开放源码的、社区驱动的项目,一开始是作为CentOS的替代品,由CloudLinuxOS的创建者打造。它从红帽企业Linux(RHEL)的源码编译而来,跟RHEL8完全在二进制上兼容。
podman
Podman是一个无守护进程的容器引擎,用于在Linux系统上开发、管理和运行OCI容器。容器既可以以root身份运行,也可以在无root模式下运行。
Podman是Libpod的一部分,它的定义可以简单用这个命令表示:`aliasdocker=podman`。
PlaywithDocker(PWD)
你可以在PlaywithDocker中构建和运行Docker容器,训练自己操作Docker的能力(默认已搭建好环境),甚至在DockerSwarm模式下创建集群,Docker-in-Docker(DinD)用于提供多个VM/PC的效果。
Vaadin
Vaadin是一个可在Java中实现Web用户界面的Web框架,无需编写任何HTML或JavaScript代码。Vaadin包含一个服务器端的结构,主要的应用逻辑都在服务器端运行,浏览器端通过Ajax技术跟服务器端进行交互。
JHipster
JHipster是一个全栈的Java应用程序开发平台,可用来创建基于Maven+Spring+AngularJS的项目,提供完全热加载的Java和JavaScript代码。
JHipster提供了包含CLI工具在内的许多组件,用于处理脚手架生成并针对异构技术堆栈工作:以Vue.jsUI为前端的MongoDB,以React为前端的Postgres等等...
SolidJS
Redwood
Redwood是一个全栈Web框架,它将React、GraphQL、Prisma、TypeScript、Jest和Storybook的最佳部分结合在一起。
Redwood采用类似Rails的方法来满足数据建模和脚手架等重复性需求,也解决了安全性和跟踪、集成等需求。Redwood允许针对各种部署环境,包括Vercel和Netlify等无服务器平台。
Next.js
Next.js是一个用于服务器渲染的通用JavaScriptWeb应用程序的小型框架,该框架基于React、Webpack和Babel构建,为该网站提供了强大的支持。
Wasmtime
Wasmtime是WebAssembly和WASI的小型高效运行时,采用Rust编写,构建于编译器Cranelift之上。Wasmtime完全开源,符合WASI标准,还支持与C/C++、Python、.NET、Go和其他编程语言集成,可运行在Windows/Linux/macOS等平台。
PyScript
PyScript是一个开发框架,为开发者提供了在标准HTML中嵌入编写Python代码的能力、使用Python调用JavaScript函数库,以及创建PythonWeb应用。PyScript旨在提供“一等公民(first-class)”的编程语言,它具有一致的风格化规则、更具表现力且更易于学习。
Hardhat
Hardhat是面向专业人士的以太坊开发环境,同时也是一个优秀的开源框架,它简化了在以太坊上编码、测试和部署Dapps和智能合约的过程。
OpenFGA
它应用了ReBAC的概念,由Auth0FGA团队创建,并受到Zanzibar的启发,专为大规模的可靠性和低延迟而设计。
Sentry
Sentry是一个实时的事件日志和聚合平台,基于Django构建。Sentry可以帮助你将Python程序的所有exception自动记录下来,然后在一个简单好用的UI上呈现和搜索。
Appsmith
Appsmith是一个开源低代码框架,用于构建管理面板、CRUD应用程序和工作流。它允许拖放组件来构建仪表板、使用JavaScript对象编写逻辑并连接到任何API、数据库或GraphQL源。
Spinnaker
Spinnaker是一个持续交付平台,它定位于将产品快速且持续的部署到多种云平台上。
Spinnaker主要特性:配置一次,随时运行;随地部署,集中化管理;开源。
Hypertrace
Hypertrace是一个开源的分布式跟踪和可观察性引擎,能够从庞大的云原生架构中的大量服务中摄取和处理大量实时性能数据。
Hypertrace监控应用程序和微服务,跨多个接触点跟踪分布式事务,并将所有这些信息提炼成服务指标和应用程序流程图,并显示在完全可定制的仪表板中。
Gravitee
GraviteeAPI网关是基于Vert.X开发的高性能接口网关,支持Swagger导入接口、文档管理、性能分析、操作审计、日志,负载均衡等功能。
OpenTelemetry
OpenTelemetry是一项高质量的便携式遥测技术,可用于检测、生成、收集和导出遥测数据(指标、日志和跟踪),以帮助分析软件的性能和行为。
OpenTelemetry通常可跨多种语言使用,且易于与流行的库和框架集成,例如Spring、ASP.NETCore、Express、Quarkus等。
Grafana
Grafana是Graphite和InfluxDB仪表盘和图形编辑器,同时也是开源的、功能齐全的度量仪表盘和图形编辑器,支持Graphite,InfluxDB和OpenTSDB。
Grafana主要特性:灵活丰富的图形化选项;可以混合多种风格;支持白天和夜间模式;多个数据源;Graphite和InfluxDB查询编辑器等等。
Dapr
Dapr(DistributedApplicationRuntime,分布式应用运行时)是微软新推出的,一种可移植的、serverless的、事件驱动的运行时,它使开发人员可以轻松构建弹性,无状态和有状态微服务,这些服务运行在云和边缘上,并包含多种语言和开发框架。
Redpanda
Redpanda是Kafka的插件替代品,主要用C++编写,使用Seastar异步框架和Raft共识算法用于其分布式日志。
它可以提供高达10倍的平均延迟降低和高达6倍的Kafka事务速度,同时运行在更少的资源上。
Apachelceberg
Iceberg是一种用于大型分析表的高性能格式。Iceberg为大数据带来了SQL表的可靠性和简单性,同时让Spark、Trino、Flink、Presto、Hive和Impala等引擎能够同时安全地使用相同的表。
ApacheDruid
Druid是一个高性能实时分析数据库。它是为大型数据集上实时探索查询的引擎,提供专为OLAP设计的开源分析数据存储系统,它的设计意图是在面对代码部署、机器故障以及其他产品系统遇到不测时能保持100%正常运行。它也可以用于后台用例,但设计决策明确定位线上服务。
JAX
JAX是一个TensorFlow的简化库,它结合了Autograd和XLA,专门用于高性能机器学习研究。
凭借Autograd,JAX可以求导循环、分支、递归和闭包函数,并且它可以进行三阶求导。通过grad,它支持自动模式反向求导(反向传播)和正向求导,且二者可以任何顺序任意组合。
nbdev
nbdev是一个JupyterNotebooks驱动的开发平台。只需使用轻量级标记编写JupyterNotebooks,即可获得高质量的文档、测试、持续集成和打包.
比起传统编程环境,nbdev的代码调试和重构容易得多,因为始终可以轻松获得活动对象。
Accelerate
Accelerate是一个库,只需添加四行代码,即可在任何分布式配置中运行相同的PyTorch代码!
简而言之,Accelerate使得大规模的训练和推理变得简单、高效和强适应性。
StableDiffusion
StableDiffusion是一种文本到图像的AI模型,可以生成质量惊人的图像。
世界各地的爱好者都在围绕这个项目进行改进工作,以加快图像生成速度,支持在内存较低的GPU上运行,并添加画内和画外支持,他们甚至在M1驱动的MacBook上运行了StableDiffusione。
EleutherAI
严格来说,EleutherAI是一群致力于实现开源人工智能研究的AI研究人员,旗下有多款预训练模型,包括GPT-NeoX-20B,一个与CoreWeave合作训练的200亿参数模型;GPT-J-6B,在Pile上训练的60亿参数模型...