Gestión de proyectos de software libre (I). Comenzando un proyecto.

pieza puzzle 3d

Hace ya tiempo, llegué a un documento que encontré muy interesante. El documento estaba (y está) en inglés y se titula: “Free Software Management HOWTO“. En este documento se explica qué se debe tener en cuenta para intentar evitar que un proyecto de software libre fracase, aunque como dice su autor (Benjamin Mako Hill), es posible que aplicando estas recomendaciones fracasemos, pero es algo que ocurrirá seguro si no las tenemos en cuenta.

Lo que hay en los diferentes posts que componen esta serie es una traducción al castellano de este documento. Espero que os sea de utilidad y que la traducción que hice del mismo se entienda perfectamente.

Antes de comenzar quiero agradecer a Benjamin Mako Hill su aprobación sobre esta iniciativa, y espero que sea de beneficio a muchas personas. Si se prefiere, se puede acceder al texto completo en inglés.

Comenzamos…

COMENZANDO UN PROYECTO.

Sin lugar a dudas, el comienzo es el periodo más difícil de la vida de la gestión de un proyecto libre de éxito. Establecer una buena base condiciona si tu proyecto florece o se marchita y muere. También es el principal tema de interés para cualquier lector de este documento como tutorial.

Comenzar un proyecto supone un dilema con el que, como desarrollador, deberás tratar: ningún usuario potencial de tu programa está interesado en un programa que no funciona, mientras que el proceso de desarrollo que quieres emplear necesita la imprescindible participación de los usuarios.

Es en estos peligrosos momentos iniciales en los que cualquier interesado en comenzar un proyecto de software libre debe buscar el equilibrio en lo que se expone en las siguientes líneas. Una de las más importantes maneras que se pueden hacer para encontrar este equilibrio consiste en establecer un marco de trabajo sólido a partir de algunas de las sugerencias mencionadas en esta sección.

Eligiendo un proyecto.

Si estás leyendo este documento, lo más probable es que ya tengas en mente una idea de un proyecto. Probablemente son buenas ya que llenan un vacío haciendo algo que ningún otro software hace o haciendo algo de una manera que implica un nuevo componente de software.

Identifica y expresa tu idea.

Eric S. Raymond escribe sobre cómo empiezan los proyectos de software libre en su ensayo, “La Catedral y el Bazar”, cuya lectura es imprescindible para todo desarrollador de software. Este ensayo es accesible online.

En “La Catedral y el Bazar”, Raymond nos dice: “todo buen trabajo en software empieza cuando a un desarrollador “le pica algo”. La actualmente aceptada hipótesis de Raymond consiste en que un nuevo programa de software se ha escrito, antes de nada, para resolver un problema específico del desarrollador.

Si tienes en mente una idea de un programa, probablemente su objetivo es el de solucionar un problema específico o “quitarse la picor”. Esta idea es el proyecto. Exprésala claramente. Escríbela. Describe en detalle el problema que vas a atacar. El éxito de tu proyecto al abordar un problema particular está relacionado con tu habilidad para identificar ese problema de forma clara y lo antes posible. Descubre de forma exacta qué es lo que quieres que haga tu proyecto.

Monty Manley expresa la importancia de este paso inicial en un ensayo, “Gestionando proyectos al estilo Código abierto”. Como verás más adelante, hay una gran cantidad de trabajo a hacer antes incluso que el software esté listo para codificar. Manley dice, “Comenzar un proyecto de software libre de forma correcta significa que el desarrollador debe, ante todo, evitar escribir código demasiado pronto”.

Valora tu idea.

Para valorar tu idea, debes primera preguntarte a ti mismo unas cuantas preguntas. Además, debes hacerlo antes de seguir adelante con este HOWTO. Pregúntate: ¿Seguro que el modelo de desarrollo de software libre es el adecuado para tu proyecto?.

Obviamente, desde el momento que el programa “rasca tu picor”, estás totalmente decidido a verlo implementado en código. Pero, debido a que un hacker codificando en soledad se equivoca al calificar su esfuerzo como desarrollo de software libre, debes preguntarte una segunda pregunta: ¿Hay alguien más interesado?.

A veces la respuesta es un simple “no”. Si quieres escribir un conjunto de scripts para ordenar tu colección de MP3s de tu máquina, quizás el modelo de desarrollo de software libre no es la mejor opción. Sin embargo, si quieres escribir un conjunto de scripts para ordenar los MP3s de cualquier persona, un proyecto de software libre podría ser útil.

Por suerte, Internet es un lugar tan grande y diverso que, probablemente, hay alguien, en algún lugar, que comparte tus intereses y experimenta la misma “picor”. Al ser un hecho que hay tantas personas con necesidades y deseos similares llegamos a la tercera pregunta: ¿Alguien ha tenido ya una idea igual o bastante parecida a la tuya?.

Encontrando proyectos similares.

Existen sitios en la web donde intentar contestar esta pregunta. Si tienes experiencia en la comunidad del software libre, es posible que te sean familiares muchos de esos sitios. Todos los recursos enumerados a continuación ofrecen la posibilidad de buscar en sus bases de datos.

freshmeat.net

freshmeat.net se describe como, “El catálogo más grande de Linux y Software Open Source de la Web” y su reputación a lo largo de estas líneas es del todo incomparable e incuestionable. Si no lo encuentras en freshmeat, dudo que tú (o cualquier otro) lo encuentre.

Slashdot

Slashdot proporciona “Noticias para Nerds. Cosas que importan”, que normalmente incluyen debate sobre el software libre, código abierto, tecnología, y noticias y eventos sobre la cultura geek. No es poco corriente para un esfuerzo de desarrollo interesante el ser dado a conocer en este sitio, por lo que vale la pena comprobar nuestra búsqueda en él.

SourceForge

SourceForge aloja y facilita un creciente número de proyectos de software libre y Open Source. Se está convirtiendo rápidamente en un nexo y una necesaria parada para desarrolladores de software libre. El mapa de software de SourceForge y las páginas de nuevas liberaciones de software deberían ser paradas necesarias antes de embarcarse en un nuevo proyecto de software libre. SourceForge proporciona también una Biblioteca de fragmentos de Código que contiene pedazos de código útiles y reutilizables en una selección de lenguajes que pueden ser útiles en algún proyecto.

Google y Google’s Linux Search proporcionan potentes utilidades de búsqueda que pueden mostrar personas trabajando en proyectos similares. No es un catálogo de software como freshmeat o Slashdot, pero vale la utilizarlas para estar seguro de que no estás dedicando tu esfuerzo en un proyecto redundante.

Acerca de Isildur Fuentes

Apasionado de las buenas historias y aikidoka de la tierra.

Publicado el abril 6, 2011 en Divulgación, Escritos y etiquetado en , , , . Guarda el enlace permanente. Comentarios desactivados en Gestión de proyectos de software libre (I). Comenzando un proyecto..

Los comentarios están cerrados.

A %d blogueros les gusta esto: