Recomiendo esta entrevista a Richard Stallman, fundador del movimiento del software libre. Hay varias preguntas buenas. Fueron formuladas y escogidas por los lectores de reddit. En particular hay unas preguntas que tratan sobre las posiciones políticas de Stallman en un contexto mas general que el de la creación y la distribución de software.
Trabajo con gente que lleva años acumulando experiencia sobre técnicas bastante especializadas en un campo preciso de la programación. Son programadores extremadamente competentes que podrían trabajar en cualqueir cosa pero que además son expertos en algo bastante especifico. El camino que he seguido como programador no me ha hecho especializarme en niguna rama particular de la industria. No se hacer nada que un programador recién graduado (o un programador no graduado, de hecho) no pueda aprender a hacer en máximo unas cuantas semanas teniendo la documentación adecuada. La experiencia me ha hecho ganar una cierta intuición sobre la manera adecuada de escribir tal o cual programa. Nunca he intentado darle cuerpo a ese conocimiento. Me considero un programador apto, pero he trabajado con suficientes personas para saber que hay gente con mucho mas talento que yo para escribir programas sólidos. Creo que soy bueno encontrando ideas sobre cosas interesantes para programar. El software me interesa antes que nada como un medio para crear cosas nuevas. Las caracteristicas del código fuente me interesan también, pero menos.
Continuará…
La teoría de las ventanas rotas sostiene que mantener la pulcritud de un vecindario ayuda a prevenir el vandalismo y otras formas de mal comportamiento. La idea es que una persona se sentirá mas culpable de romper una ventana de un edificio en perfecto estado que de romper una ventana en un edificio que ya tiene varias ventanas rotas. De esto se desprende entonces que para mantener un vecindario en buen estado hay que reparar rapidamente los pequeños daños que aparecen constantemente, por mínimos que parezcan.
He notado que lo mismo es cierto con el código fuente de un programa, es importante mantener pulcro el código aún en sus pequeños detalles (por ejemplo la indentación, etc) para evitar su degeneración en una masa de código dificil de mantener.