Siguiente Anterior Indice 

9. Condiciones previas necesarias para el modelo bazar

Los primeros jueces y audiencias de este trabajo plantearon constantemente preguntas sobre las condiciones previas necesarias para el éxito de un desarrollo que empleara el modelo bazar, relativas tanto a la calificación del líder del proyecto como all estado en que debe encontrarse el código al ponerlo a disposición del público para intentar formar un grupo de colaboradores.

Está bastante claro que uno no puede empezar desde cero en el modelo bazar. Se puede poner a prueba, depurar y mejorar en el estilo bazar, pero parece difícil iniciar un proyecto con este modelo. Linus no lo intentó. Yo tampoco. Tu naciente grupo de colaboradores necesita algo que pueda ejecutar y probar para jugar con él.

Cuando empiezas a reclutar un grupo, hace falta que puedas presentarle una promesa plausible. Tu programa no tiene que trabajar particularmente bien. Puede ser tosco, incompleto, estar lleno de errores y escasamente documentado. Pero no puede dejar de convencer a los potenciales colaboradores sobre su capacidad de evolucionar hasta convertirse en algo brillante en un futuro no demasiado lejano.

Tanto Linux como 'fetchmail' se pusieron a disposición del público con diseños básicos robustos y atractivos. Mucha gente que ha pensado sobre el modelo bazar como yo lo he expuesto ha considerado acertadamente que esto era crítico y ha pasado de un salto a concluir que el líder del proyecto necesita contar con un alto grado de inteligencia e intuición para el diseño.

Pero Linus tomó su diseño de Unix. Yo cogí el mío inicialmente del ancestral 'popmail' (aunque luego cambió en buena medida, proporcionalmente mucho más que Linux). Por tanto ¿hace falta de verdad que el líder/coordinador de un esfuerzo en el modelo bazar tenga un talento excepcional para el diseño, o puede bastar con aprovechar el talento de los demás?.

No creo que la capacidad del coordinador para crear diseños de excepcional brillantez resulte crítica, pero sí lo es su capacidad para reconocer las buenas ideas de diseño de los demás.

Tanto Linux como 'fetchmail' muestran evidencias de esto último. Mientras que Linus no es (como ya discutimos) un programador espectacularmente original, ha exhibido un potente don para reconocer  buenos diseños e incorporarlos al núcleo de Linux. Y yo ya he contado como la idea más potente en el diseño de 'fecthmail' (el reenvío SMTP) la proporcionó otra persona.

Los primeros oyentes de este trabajo me alagaron al sugerir que tendía a infravalorar la originalidad de los diseños en el modelo bazar porque yo tengo mucha, y en consecuencia la daba por descontada. Puede ser cierto; el diseño (en lugar de la programación o la depuración) es desde luego mi punto fuerte.

Pero el problema de ser listo y original a la hroa de diseñar software consiste en que se convierte en un hábito -- empiezas deliberadamente a hacer las cosas brillantes y complicadas cuando deberías tratar de mantenerlas robustas y sencillas. He llevado bastantes proyectos a la ruina al cometer esta equivocación, pero conseguí que no me ocurriera con 'fetchmail'.

Así que creo que el proyecto 'fetchmail' tuvo éxito en parte porque contuve mi tendencia a exhibir mi brillantez, y eso (al menos) parece oponerse a que para que un proyecto al estilo bazar tenga éxito sea preciso un alto grado de originalidad en el diseño. Y pensemos en Linus. Supongamos que Linus Torvalds hubiera intentado introducir innovaciones fundamentales en el diseño de sistemas operativos durante el desarrollo; ¿es plausible que el núcleo resultante fuera tan estable y exitoso como el que tenemos?.

Hace falta un cierto nivel de capacidad de diseño y programación, por supuesto, pero creo que casi cualquiera que piense seriamente en lanzar un proyecto siguiendo el estilo bazar estará por encima de ese mínimo. El mercado de reputaciones ligado a la comunidad del software abierto ejerce una sutil presión sobre la gente para no embarcarse en esfuerzos que no sean capaces de llevar a cabo. Hasta el momento, esto parece haber funcionado bastante bien.

Para tener éxito en el estilo bazar, hay otro tipo de habilidad que no se asocia normalmente con el desarrollo de software que creo es tan importante como la lucidez para el diseño -- y quizá lo sea más, incluso. El que coordina un proyecto en el modelo bazar debe ser capaz de comunicarse con la gente.

Esto último debería resultar obvio. Para formar una comunidad de desarrollo, es preciso atraer a la gente, interesarlos en lo que estás haciendo, y mantenerlos contentos con el trabajo que están haciendo. Tu habilidad técnica cuenta bastante para lograrlo, pero no es desde luego toda la historia. Tu personalidad también cuenta.

No es casualidad que Linus sea un tipo agradable que le cae bien a la gente y al que no les importa ayudar. No es coincidencia que yo sea un extrovertido enérgico al que le encantan las multitudes y que posee ciertos instintos más propios de un cómico que otra cosaI. Para que el modelo bazar funcione, ayuda enormemente que seas un poquito habil cuando se trata de agradar a la gente.


Siguiente Anterior Indice