R-multiverse:

un sistema de distribución de paquetes R

de nueva generación,

basado en R-Universe

William Michael Landau, Maëlle Salmon (rOpenSci), Yanina Noemí Bellini Saibene (rOpenSci)

https://latinr25-multiverse.netlify.app/

Publicar

Editoriales centrales


Chapman & Hall

CRC Press

Penguin

Oxford UP

Nature

PLOS

JASA

JSS

CRAN

Bioconductor

rOpenSci


✅ Ventajas: visibilidad para las personas que leen/usan.

❌ Contras: revisión editorial

Autoedición


Kindle Direct

Apple Books

GitHub Pages

arXiv

OSF Preprints

GitHub Pages

R-universe

GitHub

GitLab


✅ Ventajas: las autores controlan la publicación.

❌ Contras: caja negra, falta de supervisión

Silos de desarrollo de GitHub


pak::pkg_install("wlandau/crew")


pak::pkg_install("stan-dev/cmdstanr")

Silos de desarrollo de R-universe


install.packages(
  "crew",
  repos = "https://wlandau.r-universe.dev"
)


install.packages(
  "cmdstanr",
  repos = "https://stan-dev.r-universe.dev"
)

Un compromiso: publicación dual

Hexágono azul con texto R-multiverse en el centro, rodeado de hexágonos azules y naranjas, y r-multiverse.org en la parte inferior

✅ Una ubicación centralizada para “releases” autoeditados.

✅ Control de calidad totalmente automatizado para la producción.

R-multiverse

Un repositorio dual

Hexágono azul con texto R-multiverse en el centro, rodeado de hexágonos azules y naranjas, y r-multiverse.org en la parte inferior
  1. Community (Comunidad): un repositorio de R-universe con las últimas releases (versiones de paquetes).
  2. Production (Producción): instantáneas trimestrales de releases en buen estado.

Repositorio Community

Repositorio Community

R-universe de R-multiverse con logo de hexágonos, gráfico de barras temporal y tabla con columnas de commit, paquete, versión, mantenedor y fecha de construcción

Un repositorio de R-universe: community.r-multiverse.org

Últimas releases de GitHub/GitLab de todos los paquetes registrados.

Repositorio Community

R-universe de R-multiverse con logo de hexágonos, gráfico de barras temporal y tabla con columnas de commit, paquete, versión, mantenedor y fecha de construcción

Punto medio entre desarrollo y producción.

El «QA» (control de calidad) de los paquetes R.

Requisitos mínimos


En resumen


  1. Paquete R con una “release” GitHub/GitLab.
  2. Sin actividad maliciosa.
  3. Licencia de código abierto gratuita.


Registro único en GitHub

Pull request de GitHub Create webchem #219 con pestañas superiores, botones de revisión y archivo modificado packages/webchem con línea añadida


https://github.com/r-multiverse/contributions/pulls

Revisión automatizada


Comentario del bot r-multiverse confirmando fusión automática del pull request en r-multiverse:main el 15 de noviembre de 2024


La revisión manual, si es necesaria, es mínima.

Nuevos “releases” directamente de las personas que mantienen

Página de releases de GitHub del repositorio ropensci/webchem mostrando versión v1.3.0 del 9 de junio de 2023 con sección de nuevas características

Instalar desde Community


install.packages(
  "webchem",
  repos = c(
    "https://community.r-multiverse.org",
    getOption("repos")
  )
)

Repositorio Production

Instantáneas trimestrales

La producción se implementa en 4 instantáneas cada año.

“releases” saludables desde el repositiorio Community.

Construye gradualmente cada instantánea desde cero.

Requisitos de Production


Requisitos de Community, y además:


R CMD check verde

✅ Número de versión

✅ Ningun Remotes en DESCRIPTION

✅ Dependencias saludables

Objetivo: una instantánea sólida y estable.

Avión azul a la izquierda con texto Staging y línea negra horizontal en la parte inferior con texto Production a la derecha

Comience con un ecosistema fluido.

Avión azul con texto Staging, línea punteada gris hacia la derecha terminando en flecha, y línea negra inferior con texto Production a la derecha

Mes 1: congelación de las dependencias

Recuadro gris con Congelar R y CRAN marcado y dos casillas vacías, avión azul con Staging, línea punteada hacia flecha, y línea negra con Production abajo

Mes 2: congelación de los paquetes

Recuadro gris con Congelar R y CRAN y Congelar releases estables marcados y Instantánea de Preparación sin marcar, avión azul con línea punteada hacia flecha, palabra Preparación cerca del avión, y línea negra con Producción a la derecha

Mes 3: Instantánea de la producción

Recuadro gris con tres líneas marcadas con checks verdes, línea punteada de izquierda a derecha, avión azul sobre línea negra con Staging arriba y Production abajo a la derecha

Instalar desde Production


install.packages(
  "polars",
  repos = c(
    "https://production.r-multiverse.org/2025-03-15",
    "https://packagemanager.posit.co/cran/2025-01-15"
  )
)

Resumen

Resumen


Se puede aceder a paquetes de calidad desde un sitio unico.


Las personas que mantienen los paquetes controlan la publicación.


Invitamos envios de paquetes!


Necesitamos nuevas personas para revisar (“package moderators”).

Gracias!

r-multiverse.org

https://latinr25-multiverse.netlify.app/

  • R-multiverse co-administrators: Will Landau, Jeroen Ooms, Maëlle Salmon, Charlie Gao
  • rOpenSci: https://ropensci.org/about/
  • R-universe: Jeroen Ooms and rOpenSci.
  • R Consortium:
    • R Repositories Working Group
    • ISC grant 24-ISC-1-05 (2024 H1)