martes, 7 de febrero de 2023 From rOpenSci (https://ropensci.org/es/blog/2023/02/07/what-does-it-mean-to-maintain-a-package/). Except where otherwise noted, content on this site is licensed under the CC-BY license.
Parte de lo que pretendemos hacer en rOpenSci es fomentar una comunidad de mantenedores de paquetes que se ayuden mutuamente. Además del apoyo durante el mantenimiento de los paquetes, también queremos apoyar a aquellas personas que deseen seguir adelante. Las situaciones pueden cambiar y puede llegar un momento en que un mantenedor quiera pasar el mantenimiento a otra persona. Si alguien se encuentra en esta situación y desea transferir el mantenimiento, le ayudamos de la siguiente manera anunciando y también ayudamos a los nuevos mantenedores con consejos, generalmente del tipo “echa un vistazo para ver si hay que arreglar algo, y luego haz el mantenimiento rutinario”. Pero, ¿qué es el mantenimiento rutinario? Este post es un intento de definir lo que implica el mantenimiento de paquetes, con algunos consejos.
Como mantenedor de paquetes (o como equipo de mantenedores),
Sin embargo, no sólo te pertenecen estos aspectos técnicos y productivos. En nuestra pasada conversaciones con la comunidad sobre Cómo mantener un paquete R Erin Grand definió el mantenimiento de un paquete como “la propiedad en torno a la comunidad del paquete”. Qué gran manera de reconocer las personas ¡que crean y utilizan un programa informático! Como mantenedor de paquetes, una de tus funciones es apoyar y fomentar una próspera comunidad de usuarios y colaboradores… También es el tema de una antigua “conversaciones con la comunidad”: Configura tu paquete para fomentar una comunidad.
Ahora, por desgracia, no te pertenece toda la agenda del mantenimiento de paquetes :sweat_smile: A menos que tu paquete no tenga usuarios visibles, tu trabajo de mantenimiento probablemente consistirá en algún tipo de asistencia al usuario y resolución de problemas. También es posible que recibas peticiones de los mantenedores de las dependencias de tu paquete, o del repositorio en el que publiques tu paquete (CRAN, Bioconductor).
El apoyo a los usuarios en particular puede ser una fuente de alegría, ver cómo se utiliza tu paquete, ayudar a la gente a superar obstáculos, resolver problemas. Sin embargo, todas estas demandas externas pueden ser agotadoras e incluso estresantes. ¿Cómo podemos evitarlo? Por desgracia, es una situación habitual. Sin embargo, aunque no existe una solución mágica, he aquí algunas cosas que podrían ayudar.
Además de las interesantes peticiones de funciones, el mantenimiento de los paquetes suele justificar un trabajo más “rutinario”.
Tal vez quieras intentar mantenerte al día con las mejores prácticas de desarrollo de paquetes (y de las directrices externas :sweat_smile:) a través de los canales de desarrollo de paquetes. Recuerda que el Boletín rOpenSci tiene un Rincón de Desarrollo de Paquetes 😉 Tras las preguntas sobre, por ejemplo, el foro rOpenSci o en el foro de la comunidad Posit Categoría Desarrollo de paquetes puede ser una forma de seguimiento de las noticias y de práctica deliberada. Con esa lectura/seguimiento, puede que llegues a una nueva comprensión de un método de prueba, puede que descubras que es mejor cambiar una dependencia por otra, etc.
Ahora bien, ¿cuándo y cómo mejoras tu paquete? Podrías intentar saldar alguna deuda técnica cada vez que planifiques algún trabajo sobre una característica. Podrías imitar la limpieza de primavera de tidyverse tanto en lo que se refiere a la idea como a los elementos reales que figuran en la lista de comprobación pública, como la actualización de las configuraciones de integración continua. Si ese trabajo no te parece divertido, hacerlo en equipo puede ayudarte, o puedes unirte a una sesión de co-trabajo de rOpenSci para disponer de un tiempo dedicado a trabajar en el mantenimiento regular de paquetes en un entorno divertido.
En este post hemos intentado dar una visión general de lo que implica mantener un paquete: propiedad del ámbito, del código y de la comunidad; capacidad de respuesta autocontrolada a las peticiones externas; mantenimiento regular. Todo esto puede suponer mucho trabajo, y hay que apreciarlo con las recompensas que se obtienen como desarrollador de paquetes (dependiendo de tu situación, pueden ser: la satisfacción personal de crear una herramienta útil; la alegría de colaborar con otros; ingresos; desarrollar experiencia en codificación; demostrar tus habilidades; obtener reconocimiento por tu trabajo).
Si la balanza no está equilibrada, considera tus necesidades. Puede que sea el momento de intentar reclutar co-mantenedores o unirte a una comunidad de otros desarrolladores, o incluso de encontrar un nuevo mantenedor o retirar el paquete. En el caso de los paquetes rOpenSci, podemos ayudar anunciando la necesidad de ayuda de tu paquete, así que no dudes en ponerte en contacto con nosotros. Por último, pero no por ello menos importante, en rOpenSci queremos dar las gracias a todos los mantenedores de paquetes, ¡pasados, presentes y futuros! El trabajo que hacen, hicieron o harán es valioso e impresionante, ¡y realmente lo apreciamos!
Siempre estamos pensando en formas de apoyar a los mantenedores de paquetes. No dudes en añadir un comentario más abajo con cualquier sugerencia que puedas tener.