17  Política de gestión de paquetes

Este capítulo resume la política de gestión propuesta para el mantenimiento continuo de los paquetes desarrollados como parte de las actividades de rOpenSci y/o bajo la organización ropensci en GitHub. Esta política de gestión pretende apoyar estos objetivos:

  • Garantizar que los paquetes proporcionados por rOpenSci estén actualizados y sean de alta calidad.

  • Proporcionar información clara sobre el estado de desarrollo y revisión de cualquier software en los repositorios de rOpenSci.

  • Gestionar el esfuerzo de mantenimiento para el equipo de rOpenSci, quienes mantienen paquetes y quienes contribuyen voluntariamente.

  • Proporcionar un mecanismo para el retiro gradual de paquetes, manteniendo al mismo tiempo las etiquetas de revisión por pares

Los elementos de infraestructura necesarios para la aplicación de esta política están, en algunos casos, parcialmente construidos y en otros casos aún no se han iniciado. Nuestro objetivo es adoptar esta política en parte para priorizar el trabajo en estos componentes.

17.1 El registro de paquetes

  • El registro de paquetes rOpenSci es una lista centralizada de paquetes de R mantenidos o revisados por rOpenSci. Contiene metadatos esenciales de los paquetes, incluyendo el estado de desarrollo y revisión, y es la fuente de los datos mostrados en sitios web, etiquetas, etc. Esto permite mantener este listado independientemente de la infraestructura o plataforma de alojamiento de los paquetes.

17.2 Paquetes mantenidos por el equipo

Los paquetes mantenidos por el equipo son desarrollados y mantenidos por el equipo de rOpenSci como parte de los proyectos de rOpenSci. Estos paquetes pueden ser revisados por pares o no. Muchos son paquetes de infraestructura que están fuera del alcance de la revisión por pares.

  • Los paquetes mantenidos por el equipo aparecerán en el registro con la etiqueta “staff_maintained” y aparecerán en la página web de paquetes de rOpenSci o en lugares similares con la etiqueta “staff-maintained”.

  • Estos paquetes se almacenarán en la organización de GitHub ropensci.

  • Los paquetes mantenidos por el equipo serán comprobados, y su documentación sera generada por el sistema de rOpenSci. Este sistema no envía notificaciones pero guarda los resultados en forma de estado de commit en GitHub (marca de verificación roja o cruz roja).

  • Cuando las comprobaciones de un paquete fallen, el equipo de rOpenSci se esforzará en corregir los problemas, priorizando los paquetes en función de la base de las personas que lo usan (descargas), las dependencias inversas o los objetivos estratégicos.

  • Cada uno o dos años, rOpenSci revisará todos los paquetes que lleven más de un mes con comprobaciones fallidas para determinar si se transfieren a la organización “ropensci-archive”.

  • Los paquetes que fallan consistentemente y que no tienen un plan para volver al mantenimiento activo pasarán al estado de “archivados”. Estos paquetes serán transferidos a la organización “ropensci-archive” y se les asignará la etiqueta “archived” en el registro. No se comprobarán en el sistema de rOpenSci.

  • Los paquetes archivados no se mostrarán por defecto en la página web de paquetes. Una pestaña especial de páginas de paquetes los mostrará con "type": "archived", hayan sido revisados por pares o mantenidos por el personal.

  • Los paquetes archivados pueden desarchivarse cuando una nueva persona, o quien lo mantenía anteriormente, quiera revivirlo y solucionar los problemas. Para ello, ponte en contacto con rOpenSci. Se transferirán a la organización ropenscilabs.

17.3 Paquetes revisados por pares

Los paquetes revisados por pares son aquellos aportados a rOpenSci por la comunidad y que han pasado por la revisión por pares. Tienen que estar en el ámbito de aplicación en el momento del envío para ser revisados.

  • Una vez aceptados, estos paquetes revisados por pares se transfieren desde el GitHub original a la organización de GitHub ropensci.

  • Los paquetes revisados por pares estarán en el registro etiquetados como “peer-reviewed” y tendrán una etiqueta de revisado por pares en su archivo README.

  • Los paquetes revisados por pares aparecerán en la página web de rOpenSci o lugares similares con la etiqueta “peer-reviewed”.

  • Los paquetes revisados por pares serán comprobados, y su documentación sera generada por el sistema de rOpenSci. Este sistema no envía notificaciones pero guarda los resultados en forma de estado de commit en GitHub (marca de verificación roja o cruz roja).

  • Si los paquetes están en CRAN, quienes lo mantienen pueden subscribirse a la API de notificaciones de comprobaciones de CRAN.

  • Cada uno o dos años, el equipo de rOpenSci revisará los paquetes que estén fallando o que han estado fallando durante largos períodos y contactará a quienes los mantienen para determinar los planes de mantenimiento y las actualizaciones previstas. En base a esto, rOpenSci puede optar por mantener el estado actual del paquete con la expectativa de actualizaciones, contribuir a los arreglos, ayudar a alguien más para mantenerlo, o transferir el paquete al estado “archived”.

  • En función de la base de personas que usan el paquete (medida por las descargas), las dependencias inversas u objetivos estratégicos de rOpenSci, el equipo de rOpenSci puede asistir a los paquetes que fallan a través de PRs revisados por quienes mantienen el paquete, o cambios directos (si quienes lo mantienen no responden por aproximadamente un mes). rOpenSci también proporcionará apoyo a pedido, tanto del equipo como de personas voluntarias de la comunidad, en función del tiempo disponible.

  • Si quien mantienen un paquete no responde consultas por un mes, o si ésta persona lo pide, rOpenSci puede buscar alguien más para mantener determinados paquetes revisados por pares que considere que tienen un alto valor para la comunidad en función de la base de personas que lo usan (descargas), dependencias inversas o los objetivos estratégicos de rOpenSci.

  • Cuando se archiven, estos paquetes pasarán de la organización “ropensci” de GitHub a la organización “ropensci-archive” (o a las cuentas de GitHub quienes los mantienen si así lo desean), siguiendo la guía de transferencia. Obtendrán la etiqueta “archived” en el registro. Conservarán las etiquetas e insignias de “peer-reviewed”. No se comprobará en el sistema rOpenSci.

  • Los paquetes archivados no se mostrarán por defecto en la página web de paquetes. Una pestaña especial de páginas de paquetes los mostrará con "type": "archived", hayan sido revisados por pares o mantenidos por el equipo.

17.4 Paquetes heredados

Los paquetes “heredados” son paquetes ni creados ni mantenidos por el equipo de rOpenSci ni revisados por pares, pero que están bajo la organización de rOpenSci GitHub por razones históricas. (Antes de establecer el proceso de revisión por pares y su alcance, rOpenSci absorbía paquetes de la comunidad sin criterios bien definidos).

  • rOpenSci transferirá los paquetes heredados de nuevo a las organizaciones y repositorios de quienes los mantienen, si lo desean. Caso contrario, serán transferidos al repositorio “ropensci-archive” siguiendo la guía de transferencia. Si los paquetes están en el ámbito de aplicación, rOpenSci les preguntará si desean someterlos al proceso de revisión del software.

  • Los paquetes heredados no se incluirán en el registro de paquetes.

  • Se pueden hacer excepciones para los paquetes que son partes vitales del ecosistema de paquetes de R y/o rOpenSci que son supervisados activamente por el equipo.

17.5 Paquetes incubados

Los paquetes “incubados” son paquetes en desarrollo creados por el equipo o miembros de la comunidad como parte de proyectos comunitarios, como los creados en las desconferencias

  • Los paquetes incubados vivirán en la organización ropenscilabs.

  • Los paquetes incubados aparecerán en el registro de paquetes con la etiqueta “incubator”.

  • Los paquetes incubados no aparecerán por defecto en el sitio web, pero las páginas de paquetes incluirán una pestaña de “paquetes experimentales”.

  • Los paquetes incubados serán comprobados, y su documentación sera generada por el sistema de rOpenSci. Este sistema no envía notificaciones pero guarda los resultados en forma de estado de commit en GitHub (marca de verificación roja o cruz roja). La documentación indicará claramente que el paquete es experimental.

  • Semestral o anualmente, rOpenSci se pondrá en contacto con quienes mantienen los paquetes incubados con repositorios de al menos tres meses de antigüedad para consultar por el estado de desarrollo y las preferencias para la migración a revisión por pares, ropensci-archive, o a sus organizaciones. En base a la respuesta, el paquete se migrará inmediatamente, se iniciará la revisión por pares, o la migración se aplazará hasta la próxima revisión. Los paquetes incubados se migrarán a ropensci-archive por defecto después de un año, siguiendo la guía de transferencia.

  • Los paquetes incubados archivados ganarán la etiqueta “archived”.

17.5.1 Paquetes incubados que no son de R

  • La organización incubator también incluirá proyectos que no sean paquetes de R.

  • Estos proyectos no aparecerán en el registro ni en una página web y no se comprobarán automáticamente.

  • La política de migración será la misma que para los paquetes R, con ubicaciones de migración adecuadas (por ejemplo, “ropensci-books”).

  • Si se archivan, los paquetes que no son de R se trasladarán a “ropensci-archive” siguiendo la guía de transferencia.

17.6 Libros

Los libros de rOpenSci son documentación larga, a menudo con formato de libro, relacionada con los paquetes, proyectos o temas de rOpenSci, creados por el personal de rOpenSci o por miembros de la comunidad.

  • Los libros vivirán en la organización ropensci-books.

  • Los libros se alojarán en books.ropensci.org.

  • Los libros pueden estar maduros o en desarrollo, pero deben tener un mínimo de contenido antes de migrar a ropensci-books (por ejemplo desde ropenscilabs).

  • La autoría y el estado de desarrollo de un libro deben estar claramente descritos en su página de inicio y en el archivo README.

  • rOpenSci puede proporcionar etiquetas o plantillas (por ejemplo, “En desarrollo”, “Mantenido por la comunidad”) para utilizarse en las páginas de inicio de los libros en el futuro.