¿Estás pensando en colaborar de alguna manera con openSUSE? Quizás esta es una buena manera de empezar
¿Tienes que ser un desarrollador experto para contribuir en un proyecto de código abierto como es openSUSE?
La respuesta rápida: no. Más bien lo contrario. Cuando te unes a una comunidad como openSUSE tienes la oportunidad de aprender desde un nivel de principiante hasta un nivel más avanzado.
Este artículo es una traducción/adaptación del original escrito por Bdekany para la web de SUSE y que también puedes leer en inglés y en francés.
A la hora de empezar a contribuir con código en la comunidad de openSUSE, sin duda la mejor manera de hacerlo es openSUSE Factory. El lugar donde se compila todo el software que llegará a los repositorios de openSUSE.
Pero no solo eso, en el servicio de build.opensuse.org además también puedes compilar tu propio código, ya que permite repositorios privados, no solo para openSUSE, si no también «empaquetarlo» para otras distribuciones (Debian, Fedora, etc) ¿No es maravilloso?
Cada paquete disponible en la distribución openSUSE, pasa por Factory. Su integración contínua (CI) comprueba todo el código enviado por los equipos de desarrollo utilizando varias máquinas virtuales para compilar el código para distintas arquitecturas.
Sí, puedes tener el código disponible desde el clásico x86 hasta para arquitecturas ARM Soc y para distintas distribuciones y versiones de sistemas operativos.
Para este ejemplo de acercamiento a cómo contribuir con openSUSE mediante Factory, echemos un vistazo al paquete iftop, una utilidad para la línea de comandos que muestra el tráfico de nuestra red.
Este paquete está en un estado de fallo, pero funciona perfectamente en versiones previas de openSUSE. ¿Por qué? Echemos un vistazo e investiguemos…
Los errores de compilación son visibles echando un vistazo a los registros o «logs» del proceso de compilación, que podremos consultar en la interfaz web de build.opensuse.org
openSUSE es un proyecto en perpetuo movimiento y mejora. Cada nueva publicación lleva más allá el nivel de seguridad y la optimización del sistema y de las herramientas.
Aquí se puede ver un ejemplo del comportamiento de la nueva versión 10 del compilador GCC. El código fuente escrito en lenguaje C donde la variable no está explícitamente declarada, provoca un error. Más información al respecto en este enlace.
Echando un vistazo al error, y teniendo en cuenta las nuevas reglas de GCC10, las declaraciones de variables implícitas están prohibidas. Por lo que hay que utilizar una declaración externa, para que GCC entienda que eso no es un problema de la memoria o una vulnerabilidad.
Así que ya sea mediante la interfaz web o la herramienta de la línea de comandos, puedes crear una copia personal del repositorio, clonarlo en tu equipo, y en esa copia local crear tu parche y enviarlo para que sea compilado de nuevo.
Una vez realizado el proceso, si la compilación está libre de errores y todo ha salido bien, puedes enviar una petición de «merge» al repositorio oficial.
Será revisado por el mantenedor y si lo ve correcto lo aceptará. Y tu parche en un paquete de openSUSE estará disponible para toda la comunidad que lo instalará cuando actualice su sistema y el paquete actualizado llegue a sus repositorios.
El proceso de trabajo, a la hora de clonar el repositorio y trabajar con esta herramienta está explicado con todo detalle en la wiki de openSUSE.
Como ves, no hace falta ser un desarrollador experto, pero en el caso de querer contribuir con código, sí son necesarias ciertas nociones básicas.
A partir de ahí puedes ir aprendiendo más y más, consultar las listas de correo para resolver dudas, participar en los equipos de desarrollo de openSUSE o quizás llegar a encargarte mantener un paquete y ponerlo a disposición de toda la comunidad de openSUSE.
Si quieres, o importante es dar tu primer paso, después poco a poco ir aprendiendo…