El desarrollo de proyectos Open Source va más allá de programar y publicar nuevas versiones de nuestro software. Además de estas tareas, también hay que prestar atención a diferentes ficheros de configuración e informativos, como la licencia, guías de contribución, códigos de conducta o políticas de seguridad, entre muchos otros. La creación y definición de estos ficheros puede llegar a ser una tarea compleja y exigente, así que normalmente se ignoran y no se incluyen, lo que generalmente provoca problemas de sostenibilidad. Además, la localización de estos ficheros varía entre diferentes plataformas de desarrollo, por ejemplo, GitHub propone una serie de recomendaciones para situar los ficheros de licencia y códigos de conducta.

Para facilitar esta tarea, he propuesto un repositorio plantilla que incluye las mejores prácticas para comenzar un proyecto en GitHub. La plantilla actualmente incluye indicaciones (y plantillas) para:

  • Descripción del proyecto, que es un texto breve que informa sobre la finalidad del proyecto.
  • Guías de contribución, que describen cómo se puede ayudar en el desarrollo del proyecto. Aborda preguntas como: ¿el proyecto es desarrollado por un solo desarrollador?, ¿quién puede participar y en el desarrollo?, ¿cómo se puede contribuir?
  • Código de Conducta, que establece el conjunto de normas de comportamiento de la comunidad en el proyecto. Algunas preguntas que se abordan son: ¿cómo se resolverán los casos de acoso?, ¿a quién se ha de contactar si alguien se siente agredido?
  • Reglas de gobernanza, que definen el conjunto de normas que se aplican para tomar decisiones en el proyecto y en su comunidad.
  • Licencia, que establece el marco legal del proyecto.
  • Propietarios del código, que son aquellos desarrolladores que son responsables del código (o partes) del proyecto.
  • Plantillas para el envío de issues y/o pull requests.
  • Política de seguridad, que describe cómo reportar vulnerabilidades de seguridad.
  • Modelo de financiación, que ayuda a tu comunidad a saber cómo apoyar tu trabajo.
  • Formato de citación, que describe cómo citar el proyecto (por ejemplo, en trabajos de investigación).

El repositorio incluye una primera versión plantilla para cada elemento, con la intención de ofrecer de inspiración y ayudarte a adaptarlo a las necesidades de cada proyecto. Algunos de ellos también incluyen referencias a recursos externos para ayudar en su elaboración.

El principal objetivo de esta iniciativa es ofrecer un esqueleto inicial que sirva de solución que puede ser utilizada por cualquier desarrollador y adaptada a sus necesidades simplemente “rellenando huecos”. Puedes encontrar la plantilla y las instrucciones de uso aquí.

Por supuesto, te invitamos a explorar y probar la plantilla. Si tienes cualquier recomendación, modificación o comentario, ¡no dudes en crear una issue! (solamente tendrás que seguir el proceso y las guías de contribución del propio repositorio ????)

(Foto de Glenn Carstens-Peters en Unsplash)