domingo, 20 de marzo de 2011

Full disclosure


En la pasada rootedCon se llevó a cabo una mesa redonda acerca de si deben revelarse los fallos de seguridad que se descubren en el software, cómo, cuándo y a quién. Al poco, los «cazadores de fallos» invitados llevaron el debate al punto previsible: no habría nada que discutir si el software estuviera bien hecho. Y entonces volvió a salir el manido ejemplo del coche.

¿Compraríamos coches que se pararan de repente, que hubiera que rearrancar continuamente a lo largo de un viaje? La respuesta habitual es no. Y, sin embargo, eso es lo que hacemos con el software.
Pero creo que eso es comparar peras con manzanas. Olvidamos que el automóvil tiene más de cien años de historia, que el primer coche fabricado no fue un BMW con 6 airbags, control de tracción, aire acondicionado y la capacidad de superar los 200 Km/h. Por contra, el software es aún muy joven (menos de un siglo de vida) y, por tanto, muy primitivo. Hoy usamos programas inseguros de la misma forma que en su momento se condujeron coches inseguros (sin cinturón de seguridad, sin airbags, o que explotaban con demasiada facilidad).

Creo que con el tiempo el software madurará, y puede que la discusión sobre la revelación de fallos de seguridad deje de tener sentido. Quizá dentro de muchos años la gente se pregunte cómo podíamos apañarnos con unos programas tan malos, de la misma forma que nosotros nos preguntamos cómo pudieron apañarse los primeros lectores con libros sin portada ni índice.