Monday, October 17, 2005

Feynman y el software libre

Acabo de leerme “Surely you’re joking, Mr. Feynman!” , en el que el premio Nóbel de física, Richard P. Feynman (1918-1988), relata anécdotas de su vida, mezclando humor y ciencia.

En el último capítulo, da unos consejos sobre como debería actuar un científico honrado, aunque se podría extrapolar a muchos ámbitos de la vida. En él pide a los científicos que cuando tengan que realizar experimentos o elaborar teorías a partir del trabajo previo de otros, comprueben ese trabajo previo, ya que puede haberse realizado incorrectamente.

Otro consejo, aboga por una filosofía similar a la que promueve el software libre. Para ser un buen científico, cunado se ha realizado alguna innovación, y se ha de presentar a alguien, se debe hacer exponiendo los casos, ejemplos que la soportan, y al mismo tiempo los que la pudieran contradecir o llevar a error. En resumen sería mostrar tanto la parte bonita y que lleva al éxito, como los errores o las posibles contradicciones. Esta última idea esta próxima a la que promueve el software libre, y que dice que los errores de un programa se han de hacer públicos, compartirlos con los demás, tan pronto como se descubren. Esto es lo que hace la comunidad del software libre, al contrario que las empresas de software propietario, las cuales intentan esconder los fallos de sus programas.

Si Feynman viviera hoy, seguro que apoyaría el software libre.

3 comments:

Anonymous said...

Permíteme discrepar:
Te equivocas, por que una cosa son las teorías científicas, los modelos teóricos que hacen posible la informática, los algoritmos universales, la teoría de sistemas operativos o la Máquina de Turing, y otra muy distinta el software, osea, la implementación, la solución concreta a problemas empresariales concretos. Eso no es ciencia, es ingeniería, aplicación de la ciencia.
Yo, como programador, no estoy creando nuevas teorías ni hago ciencia cuando desarrollo un sistema de gestión o incluso un sistema operativo nuevo.
Si trabajase en la Universidad y me dedicase a escribir sobre investigación en computación cuántica o descubriese un algoritmo (no un programa, porque los programas no se descubren) nuevo sobre, que se yo, reconocimiento de objetos, entonces lo publicaría encantado para que toda la comunidad científica me reconociese.

Pero programar no es hacer ciencia, es utilizar los resultados de la ciencia. y para ello utilizo conocimientos (programación orientada a objetos, programación secuancial, ingeniería del software) completamente conocidos. No estoy ocultando nuevos descubrimientos ni estoy guardándome progresos científicos para mí. No estoy impiendo el progreso.

No confundamos.

Julio Peironcely said...

No digo que sólo lo puedan hacer los científicos, sino que es una actitud que deberían seguir muchos gremios. Por ejemplo los periodistas, que cuando publican una noticia solo ofrecen la información que le da espectacularidad, pero no la que se la quita, un ejemplo inventado(o no)"Ojo que viene el 20º huracán de la temporada", y te explican en la noticia lo devastadores que han sido los 19 huracanes anteriores, aunque quizá es normal que en una temporada aparezcan 20 huracanes.
En el caso de los informáticos (paso de si es ciencia o no)lo puedes enfocar de la siguiente forma: haces un programa y se lo has de enseñar a alguien, no solo hagas la demostración metiéndole los datos que hacen que el programa funcione de narices, tambien deberías comentar con que datos no funciona.
Simplemente planteo una actitud en la que hemos de exponer tanto las ventajas como los inconvenientes de todo, no sólo en la ciencia.
Gracias por opinar

animono said...

en realidad software libre va de la mano de cultura libre (literatura, musica) y no parece muy viable ¿no?