junio 14, 2005

Método científico de desarrollo

¿Es distinto el método de desarrollo en los sistemas de software libre que en los propietarios?  Ted Schadler  indica que en el software libre el modelo de desarrollo se aproxima más al método científico de investigación, dónde se dan estas características:
  • Revisión por pares 
         La meritocracia de desarrolladores da a los mejores programadores las posiciones líderes.
     Solo las mejores ideas y código se lanzan en las versiones finales. Un “líder”(generalmente el fundador) hace de “dictador benevolente”.
  • Resultados publicados 
        Como el código es público, los fallos son corregidos rápidamente. Muchos equipos pueden trabajar en módulos diferentes simultáneamente. Las mejoras se soportan totalmente por el código existente.
  • Programadores voluntarios
       
    Internet mantiene la comunidad unida-virtualmente ilimitada. Los programadores están altamente motivados por que escogen su propio trabajo.
  • Versiones lanzadas por ingenieros 
        Se lanzan las versiones cuando los ingenieros piensan que el sistema está listo para producción, no cuando conviene al depto. de ventas.
    Se hace un paralelismo con la comunidad científica, sonde los artículos son publicados, para ser revisados por un numeroso grupo de colegas. Pero en realidad, ¿hasta que punto todo lo mencionado son ventajas que se den realmente? Todo depende en realidad del número de desarrolladores implicados.
    ¿Cuantas veces un código de alguien es revisado "a conciencia"? Más bien, únicamente si se descubre un bug. Y el que otros lo solucionen ¿puede dar lugar a efectos colaterales por no conocer perfectamente el sistema?
    El código público, ¿cuanta gente lo observa mínimamente, o pasa directamente a usarlo? La motivación de los desarrolladores puede ser muy alta en el software libre, pero no tiene por qué serlo menos en una empresa bien coordinada y que valore a sus trabajadores (que no sé si existen! :) ). Además, en muchos proyectos de sw. libre los desarrolladores están en lugares distintos, y en cuestiones organizativas, nadie dudará que una reunión cara a cara es mil veces más efectiva que cualquier otro sistema.
    En definitiva, realmente el modelo de desarrollo del sw. libre o propietario puede ser distinto en alguna manera no radical. Pero no creo que ninguno de los dos sea mejor que otro.

4 comentarios:

  1. Interesante reflexión, aunque convendría recordar que algunos proyectos de software libre son desarrollados parcial o totalmente por empresas, por lo que no tienen por qué ser métodos de desarrollo disjuntos.

    ¿Cuantas veces un código de alguien es revisado "a conciencia"? Más bien, únicamente si se descubre un bug.
    Bueno, esa es tu opinión ;) Piensa que tu código es tu carta de presentación, como bien comentas refiriéndote a la meritocracia. En muchos proyectos la aportación directa de código se reserva a muy pocas personas, por lo que muchas colaboraciones son revisadas antes de formar parte del código del proyecto.

    Las reuniones en persona tienen su función y es cierto que en ocasiones son recomendables pero, francamente, muchas veces la reunionitis sólo sirve para frenar el desarrollo. Personalmente prefiero las listas de correo/foros, ya que cada uno puede consultar información y meditar antes de cada mensaje.

    ResponderEliminar
  2. Upsss, menudo peligro eso del "Método Científico" para empezar ese método funciona gracias a enormes inversiones que realizan principalmente entidades privadas sabiendo que quedarán amparadas por alguna patente una vez que consigan algún resultado positivo con la investigación.

    El desarrollo de software creo que es principalmente técnica y da muy poco juego a la experimentación, ya que lo que persigue son resultados. En definitiva que no se hace ciencia.

    Lo de las características que da pues suena tan provocardor cuestionarlas que no puedo evitarlo:

    -Revisión por pares
    Que pasa que dentro del desarrollo del software no libre. Los productos ¿son el resultado del trabajo de una sola persona? Mínimo seguro que hay más de 4 ojos mirando lo que estas haciendo o dejando de hacer.

    -Resultados publicados
    Como el código es público... que este sea público ¿se ha demostrado acaso una característica determinante a la hora de encontrar algún bug? Donde dice "Las mejoras se soportan totalmente por el códgio existente" es una frase vacía ¿no? ¿Acaso el software no libre no basa también sus mejoras en el codigo existente?

    -Programadores voluntarios
    Hombre el software libre esta cada vez más lleno de empresas con intereses económicos muy fuertes. Eso de voluntarios es cada vez más de un pasado más lejano. Así como, virtualmente ilimitada para empezar sí que hay un límite y es el número de personas que habitan en la tierra. Los programadores son un bien escaso. Y como tal es susceptible de ser gestionados por una empresa que busca rentabilidad a una inversión.

    -Versiones lanzadas por ingenieros
    Lo mismo que pasa que es un rasgo característico del software libre que sean los "ingenieros" los encargados de decir que ¡ya esta lista tal aplicación! Creo que no. Es más lo que realmente hay es mucha aplicación eternamente en estado beta con infinitas versiones 0.x que parecen incapaces de llegar a una versión 1.0. Eso sí, desde la primera versión te encuentras gente diciendo lo bien que les va el programa y lo estable que es. No me imagino a una empresa de software no libre practicando una política de ese tipo durante mucho tiempo. Los plazos aprietan más en estas que en el software libre esta claro dependen del producto para hacer negocio. Y SÍ los plazo en el software libre también existen a ver cual es la causa de que Debian buque insignia del software libre deje de lado tantas plataformas, sino es el no poder plantearse tantos años para sacar una nueva versión.

    Bueno siento ser tan aguafiestas, pero, parece que sean palabras dulces para oídos que quieren oirlas y sentirse importantes.

    ResponderEliminar
  3. hola Anónimo:

    Bueno siento ser tan aguafiestas, pero, parece que sean palabras dulces para oídos que quieren oirlas y sentirse importantes.

    !Aguafiestas no! Nadie hace de aguafiestas por dar su opinión :). Todo lo que intento contar en este blog son opiniones, no adular a nadie que quiera sentirse importante.
    De hecho, fíjate en mi conclusión: "En definitiva, realmente el modelo de desarrollo del sw. libre o propietario puede ser distinto en alguna manera no radical. Pero no creo que ninguno de los dos sea mejor que otro".
    ¡¡ Así que las opiniones en uno u otro sentido son muy bienvenidas!!

    ResponderEliminar
  4. hola jóse:
    Gracias por soportarme, :).

    No, no me refería a tu opinión. Sino a la de Ted Schadler, por lo menos los puntos que has destacado en la nota presentan argumentaciones bastante discutibles.

    ResponderEliminar