Grado de madurez de un proyecto de software libre desarrollado en comunidad

A lo largo de los próximos meses seguiremos con nuestra idea de promocionar ModularIT y añadir algunas mejoras y documentación, tanto en castellano como en inglés. Aunque a nuestro ritmo, seguimos avanzando hacia lo que esperamos se convierta en un proyecto de comunidad maduro. Andamos discutiendo un poco sober algunos pasos a seguir durante los próximos meses.

Esto me lleva ha llevado a tratar de definir qué es un proyecto de comunidad maduro. ¿Cómo se mide la madurez de un proyecto?

El número de personas que contribuyen al proyecto no es una medida demasiado eficaz en este caso. Existen proyectos con muy pocos desarrolladores con un gran éxito y solvencia y otros que, a pesar de tener una gran comunidad, no es posible considerarlos proyectos de desarrollo en comunidad. Hay varios ejemplo pero uno de los más interesantes es aquel en el que una empresa tiene la sartén por el mango del desarrollo y, aunuqe libera el software y la documentación, no libera el know-how o no desarrolla en abierto.

El nivel de uso o popularidad tampoco en un factor definitivo. Hay productos libre de desarrollo en comunidad muy usados que son bastante inmaduros y viceversa. Ejemplos pos ambos lados hay muchos.

El nivel de madurez de la documentación o la cantidad de información publicada dice mucho del las bondades de un proyecto sin embargo, existen proyectos muy consolidados que carecen de documentación al nivel de otros aspectos del mismo. También hay algunos ejemplos, pocos, de proyectos bien documentados sin ningún tipo de comunidad alrededor. Existen ejemplos de iniciativas de comunidad que tienen el apartado organizativo y legal bien trabajado mientras que otros no prestan importancia excesiva a esos elementos. Algunos muy relevantes han tenido problemas por estos detalles y otros parecen convivir fantásticamente con el caos organizativo pues el debate se estructura debidamente.

El factor económico es otro elemento a tener en cuenta. Existen ejemplos de proyectos pequeños tremendamente rentables frente a otros enormes y de impacto global que no se mantienen económicamente por lo que deben recurrir a llamadas desesperadas a la comunidad para recabar fondos. Quiere esto decir que la supervivencia económica tampoco es un factor definitivo.

Existen factores adicionales pero las conclusiones para casi todos ellos son similares. No parece que haya un único elemento clarificador para establecer el grado de madurez de un proyecto de desarrollo en comunidad. Tampoco creo que dos o tres de ellos analizados simultáneamente definan el grado de madurez en un porcentaje lo suficientemente relevante como para permitirnos establecer un patrón a partir del cual comenzar un análisis comparativo serio usando la estadística. Me conformaría por ahora con poder aplicar el arte de la magia de los números como antesala de la ciencia.

Resulta difícil comparar si no puedes determinar las variables independientes del sistema.

Y tal vez sea ese parte del problema. Determinar el grado de madurez de un proyecto de desarrollo de software libre en comunidad, es decir, comparar unos proyectos con otros, requiere primero del establecimiento de las variables a estudiar, su relación y los entornos de laboratorio que se utilizarán para fijar todas las variables salvo aquella objeto de estudio en un entorno controlado, pasando posteriormente a evaluar el impacto que provocan esas variaciones en el propio sistema. Así, podrá entenderse mejor los cambios reales. Vamos, metodología básica de experimentación.

Arriba se han apuntado algunos factores que pueden convertirse en magnitudes independientes, pero hay más. Últimamente han salido varios desarrolladores enseñando estadísticas de commits que permiten hacer análisis de interés sobre la evolución de un proyecto. He asistido a alguna charla o conferencia en la que se han presentado estudios primarios sobre proyectos libres utilizando los grandes repositorios conocidos por todos como Sourceforge o Freshmeat. Y como yo no soy experto en la materia, probablemente todo este post carece de sentido porque hay gente que ha estudiado el tema y ha obtenido primeras conclusiones de interés. Si este es el caso, ruego al lector que me apunte los enlaces para salir de mi ignorancia. mi rss está saturado pero puedo borrar algunas entradas para dar cabida a nuevas 😉

Esta disertación tiene sentido para mí puesto que ando estableciendo el roadmap de ModularIT. Para su definición, casi todos los factores que estoy teniendo en cuenta son de carácter interno. Esto es lógico porque aún no somos más que un aspirante a proyecto de desarrollo en comunidad. Pero existe un pequeño espacio para definir tareas que importen a otros o que ayuden a otros a participar. Por tanto, si dispusiera de una definición clara de madurez, esto es, si existiera un punto final, sería posible en teoría establecer una ruta a seguir. Como no la hay… pues no queda más remedio que emplear muchas dosis de observación de otros proyectos, aplicar intuición y debate.

He tenido a lo largo de estos años la oportunidad de vivir de modo cercano dos proyectos muy distintos, LTSP primero y KDE después. También conozco Debian (he trabajado con desarrolladores de ese proyecto y he compartido tiempo y disertado con muchos algunos más), Ubuntu y ahora estoy comenzando a dar pasos pequeños en el conocimiento de GNOME (superficiales todavía). Me interesan especialmente el proyecto Apache y el kernel, pero mi tiempo es limitado…. De todos se aprende algo…pero no debe uno centrarse sólo en casos de éxito. Los fracasos enseñan. El caso twiki nos afecta en la empresa y es muy interesante, así como Compiere, PXES, los CMS en php y otros que hemos conocido en Grupo CPD con más o menos profundidad. Atesoramos alguna experiencia también en proyectos propios fallidos de la que hemos aprendido mucho.

Pero estamos en lo de siempre, si no sistematizas el aprendizaje, no es posible transmitir la experiencia a gran escala. Y para eso es necesario conocer el problema. No es posible conocer sin experimentar, ni experimentar sin definir, ni definir sin acuerdo. Y en el aspecto sobre el que ando liado no hay maldito acuerdo.

Esta es la parte dolorosa de estar situado en vanguardia, la conciencia que se adquiere sobre el error. Del mismo modo, se siente una especial exitación. Es la satisfacción de la curiosidad.

Maldita sea….hoy me gusta mi trabajo.

4 thoughts on “Grado de madurez de un proyecto de software libre desarrollado en comunidad

  1. 1.- Insisto en que te identifiques. Es una cuestión de educación.2.- Ha quedado claro sólo para ti. Aún así, gracias por ller lo que escribo.3.- a.- Hemos añadido documentación adicional al proyecto ModularIT: http://www.modularit.org Espero que ahora te sea más fácil entender los conceptos que se describen.b.- Tu comentario solo es producto del punto anterior.c.- Antes dices que no hay información pero luego sacas conclusiones sobre el proyecto…curiosod.- Obviamente, con la capacidad de análisis, reflexión y la educación que has demostrado, no creo que nos interese ni a ti ni a nosotros valorar tal posibilidad.e.- GraciasQué tendrá que ver la reflexión sensata, la argumentación y la educación con la libertad. Yo no te pido nada, contesto a tus comentarios en mi blog.Si tus comentarios van a seguir en esta dinámica, lógicamente serán moderados. De todas formas, me permito aconsejarte que emplees tu tiempo en cosas más productivas.

    Like

  2. Te contesto:1.- Suena a eso de… me lo dices en la calle… Pero en fin, por supuesto que me identifico cuando lo veo necesario. En este caso no lo es.2.- Claro, claro, son las formas las que no están bien. No te ha gustado la metáfora del batería, lástima. Al menos creo que ha quedado bien claro que tus entradas son un coñazo, que era el objetivo.3.- a.- Sí, será que tengo falta de información, o mejor dicho será que no la hay, o la que hay no sirve para mucho… De todas formas, lógicamente, mi comentario es sobre lo disponible… sobre lo “no” disponible, me parece difícil hacer comentarios. b.- Cuando hablas de proyecto i+D+i y no se cuantas letras más a sumar… deberías tener cuidado de no caer en el ridículo. Esto que haceis, de investigación no tiene nada, de desarrollo poco, y de innovación… menos, por muy orgulloso que tú estés. Pero integrar aplicaciones existentes no es investigación, ni es desarrollo ni es innovación, es simplemente integración.c.- Sí, sí, ya me conozco el tema de los servicios y de la sociedad del conocimiento y patatín y patatán. Ya me se la filosofía de software libre, no te preocupes. Pero repito, no vayas vendiendo que haces i+d+i porque hay gente que realmente hacen proyectos de investigación, y que tú digas que tambien los haces… me suena a chiste.d.- Si invitas a alguien a trabajar contigo, hazlo de verdad y no para darte el pegote. Como que te envíe el CV? Es que necesitais gente? Para hacer qué? Proyectos de i+d+i como ModularIT?e.- Ah sí, teneis clientes como moto… wow, qué original… teneis un monton de clientes sí… felicidades,… La manera es la que es, y punto. He dicho mi opinión, y si no te gusta ya sabes… lo borras que para eso el blog es tuyo, o lo moderas, o lo que te quieras. Pero no me pidas como tengo que expresarme porque, al igual que el software, yo, soy, libre.

    Like

  3. Estimado anónimo:1.- Me gustaría que te identificaras. Suele ser una buena costumbre.2.- Sobre la opinión del batería: gracias por leer el artículo y manifestarte sobre él. En el fondo, puede que tu opinión tenga sentido. La forma sin embargo hace que no preste interés en analizarla.3.- Sobre ModularIT sí me gustaría realizarte una serie de comentarios:a.- Estamos empezando y ciertamente la información disponible aún no está al nivel del proyecto. Cuando así sea, comprenderás rápidamente lo equivocado que estás en tu idea general.b.- El hecho de que ModularIT esté compuesto de herramientas libres que ya existen es, desde luego, una ventaja. No tratamos de reinventar la rueda. Nos hemos “limitado” a facilitar su implantación, a integrar las soluciones y, sobre todo, a mejorar la eficiencia de su mantenimiento. Estoy seguro que sabes a lo que me refiero.c.- El hecho de liberar el proyecto demuestra que nuestra intención está lejos de vender nuestro trabajo y el de otros como un pack. Vendemos servicios. En cuanto leas de nuevo la documentación te darás cuenta de ello.d.- Respecto a tu comentario sobre el lenguaje de programación… Tenemos diferentes trabajos en Java y estamos abiertos a que nos envíes tu CV para valorar tu contratación. Siempre hay hueco para programadores de nivel, independientemente del lenguaje que usen. ¿Nos puedes enviar alguna referencia de trabajos que hayas realizado?e.- Respecto a tu comentario sobre motos … te ruego que vuelvas a leer el apartado donde comentamos que ModularIT está ya implantado en nuestros clientes. Algunos de ellos, por cierto, son amantes de las motos, pero la mayoría no.Me gustaría finalizar diciéndote que puedes decir lo mismo de mejor manera. Así te tomaré más en serio la próxima vez.Gracias una vez más por leer el blog.

    Like

  4. menudo rollo… esta entrada se parece al tio que toca la batería solo,… mientras toca solo disfruta él mientras los demás oyen el estruendo agobiados… pues lo mismo.ModularIT,…joder… me he quedado impresionado, wow, os lo habeis currado, un monton de aplicaciones que ya existen, venderlas como un pack, aderezado con backup y cuatro chorradas más… que triste… Y encima en Ruby, el que no sabe programar en Java… ya se sabe… Otro vende motos…

    Like

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

w

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.