Categorías: Aprender

Los mayores errores del Software Libre

 

En esta entrada quiero transmitir mi opinión, es una opinión y cada uno puede tener la suya, sobre cuales son los mayores problemas en los proyectos que son Software Libre. El centrarse en este tipo de proyectos, es debido a que suelen tener unas características bastante especiales respecto a los proyectos comerciales (pocas personas, desarrolladores voluntarios y normalmente bajo presupuesto). Antes de que dejes de leer y digas, esto es un ataque más al Software Libre, te quiero decir que yo también soy un firme defensor del Software Libre y este artículo es para evitar esos errores.

1 ¿Documentación? Léete el código

Seamos realistas a nadie nos gusta documentar el código y dedicar parte de nuestro tiempo a ir comentando que hace cada cosa. Sin embargo esto es un pilar básico en todo proyecto medianamente decente que se precie, si queremos que los programadores usen nuestro proyecto, le tendremos que decir cómo funciona y qué hace cada cosa y no, no vale con decir léete el código, ahí está todo.
En los últimos años he usado varios proyectos grandes de Software Libre y sorprendentemente no traían ninguna documentación, pero es que tampoco incluían casi comentarios en el propio código fuente, así que para entenderlos tenía o bien que ejecutarlos paso a paso o bien ir siguiendo todas las funciones con lápiz y papel.
Este error se puede subsanar usando por ejemplo Doxygen como ya os contamos hace un tiempo.

2 ¿Colaboradores? Estoy mejor solo

Otra de las cosas que más me ha llamado la atención es que algunos proyectos están desarrollados por una única persona y aunque el proyecto cada vez es más grande, no tienen ningún interés en que colabores con él. En muchos casos porque como no hay documentación, te tendría que enseñar como funciona cada función del código fuente.

3 ¿Lista de tareas? Desarrolla algo y si me gusta lo incluyo

Este es un caso real que me pasó cuando intenté colaborar con uno de estos proyectos. Les comenté que qué tareas tenían pendientes por hacer y me dijo que todo estaba hecho y así que buscase otra funcionalidad que me pareciera buena para añadirla al proyecto. Yo pensé una y antes de empezar a picar código, hablé con quien llevaba el proyecto y me dijo, bueno tu hazlo y luego ya vemos si la incluimos. Con estas contestaciones es normal que muchos desarrolladores no colabores contigo, porque nadie quiere pasarse un mes haciendo algo, para que luego no se use y directamente digan: no me parece útil/bien hecho, así que lo tiro.

4 ¿Desarrolladores? Sólo si son expertos

Siguiendo con los puntos anteriores, me llamaba la atención mucho, que algunos sólo te aceptaban dentro del equipo de desarrollo si eras un experto en 3 tecnologías, 5 lenguajes y 21 patrones de diseño. Claro luego te dabas cuenta de que en muchos casos como no había lista de tares, no se dieron cuenta de que había tareas muy sencillas que las podría hacer un desarrollador de nivel medio y otras donde necesitaban a un experto. Normalmente este tipo de proyectos tienen un ritmo de desarrollo lento, porque las mismas personas que hacen el núcleo del software se encargan por ejemplo de colocar los botones en la interfaz de usuario.

5 ¿Reuniones para tomar decisiones críticas? Yo soy el líder supremo

El último de los errores que muchos comenten, es dirigir los proyectos como si fueran de tu propiedad. En muchos casos esto pasa con proyectos de tamaño medio-grande donde hay un conjunto de desarrolladores que llevan mucho tiempo en el proyecto pero que no tienen ni voz ni voto. En muchos casos debido a que las discusiones se acaban, cuando llega el creador del proyecto y dice esto lo creé yo y aquí mando yo. Las consecuencias, división en el equipo de desarrollo, varios forks a proyectos y el abandono por parte de algunos colaboradores.

Este tipo de situaciones, en algunos casos las he vivido en primera persona y en otros ha sido información que me ha llegado de fuentes fidedignas. Pero no quería acabar la entrada sin agradecer a aquellos desarrolladores que crean proyectos de Software Libre para que todos podamos ver y aprender de ellos. Además si contestan las dudas, apoyan a sus colaboradores y documentan el código, se merecen todo nuestro reconocimiento.

Jorge Durán

Entusiasta de la tecnología desde los 10 años, desarrollador y creador de varios proyectos de software y autodidacta por naturaleza. Ingeniero Informático por la USAL y .Net backend developer en idealista.

Share
Publicado por
Jorge Durán

Recent Posts

Docker: conceptos principales y tutorial paso a paso

Hoy queremos hablaros de Docker un proyecto que cada día es más usado, porque permite…

3 años hace

Crea diagramas rápidamente usando código

Cada vez estamos más acostumbrados a usar código para generar la infraestructura (IaC), documentar nuestro…

3 años hace

Procesamiento del lenguaje natural con ElasticSearch

Uno de los problemas que se presentan con una mayor frecuencia hoy en día, es…

4 años hace

Elige tecnología clásica y aburrida

Uno de los problemas que solemos tener los programadores, es que nos gusta estar a…

4 años hace

Cómo usar Docker en Windows

Docker es una de las herramientas más usadas por los desarrolladores, sin embargo, usarlo en…

4 años hace

Analiza el coste del uso de JavaScript

Como seguramente sabrás el uso de JavaScript ha crecido exponencialmente en los últimos tiempos, sin…

4 años hace