El blog de Carlos Díaz-Pache » software libre

Entradas etiquetadas: software libre

¿Software libre vs Ingeniería del software?

Hace algo más de un mes, Ricardo Galli, entre otras cosas socio-fundador de Meneame, criticaba la «ingeniería del software tradicional» porque limita la innovación y porque, entre otras cosas, no la considera realmente una ingeniería.

Añade críticas al software privativo, las regulaciones y colegios profesionales, y al «establishment» de la ingeniería del software entre otros, poniendo como ejemplo casos de éxito muy complejos en los que no se han utilizado métricas tradicionales sino un trabajo colaborativo, distribuído, con una coordinación débil y que, como digo, han resultado un éxito rotundo. Como ejemplos de estos éxitos cita el núcleo de Linux, KDE o Gnome.

Sería realmente una necedad no estar de acuerdo con él en casi todo. Quienes se agarran a la propiedad, a modelos arcaicos de gestión diseñados para un mundo distinto al que pisamos ahora mismo están irremediablemente destinados al ostracismo. Es innegable la ventaja que supone la revisión pública del código de un proyecto de software libre y la inmensa comunidad que puede colaborar en un proyecto. «Dado un número suficientemente elevado de ojos, todos los errores se convierten en obvios«, dijo Linus Torvalds y no parece que estuviera equivocado. No se puede discutir el éxito que han tenido proyectos con un bajo control, como reconocía Tom DeMarco y cita el propio Galli.

Sin embargo, no sería tan tajante en otras cosas. Quizás la respuesta correcta o el mejor camino sea, como tantas veces, un gris que evite la natural dicotomía latina (o conmigo o contra mí, Barça o Madrid, Linux o Windows) en las que hay que posicionarse en un bando que te vende todo el pack.

Las ingenierías tradicionales llevan cientos de años aprendiendo, mejorando y aportando nuevos materiales y técnicas, pero tras tantos años y con la enorme limitación de un mundo físico, los avances son más lentos, de tal manera que en las facultades puede enseñarse la ingeniería durante mucho tiempo del mismo modo. La ingeniería del software es algo relativamente reciente. Galli habla de unos 40 años y seguro que no es mucho más. ¿Alguien puede imaginar empezar prácticamente de cero con la ingeniería civil o con la arquitectura con todo el conocimiento que tenemos en otras áreas y con un número prácticamente ilimitado de «materiales» que se pueden inventar? ¿No cambiarían cada día? ¿No habría cada mes una importante conferencia donde se presentase una innovación asombrosa? Sería un carrusel constante de novedades que, sin embarg,o iría dejando ciertas cosas, ciertos patrones, ciertos elementos comunes, tal y como ocurre con las TIC. ¿Y no sería una ingeniería?

Esos elementos comunes son los que hay que estudiar, y las buenas innovaciones son las materias que hay que incorporar a los programas educativos. Lo que desde luego no se puede hacer es tardar el mismo tiempo en actualizar los planes de estudio de Caminos e Informática, porque lo que haya podido pasar en el mundo de la ingeniería de caminos, canales y puertos en cinco años (y hablo con un importante desconocimiento, con todos los respetos, pero con sentido común) creo que es infinitamente menos relevante que lo que ha pasado que afecte a la IS, que ha podido cambiar significativamente. Nuevos métodos, nuevos patrones, nuevas formas de concebir un producto software hacen a la ingeniería del software más dinámica, no menos ingeniería.

Una innovación lleva a otra y lo que se ha aprendido en un sitio sirve para hacer otra cosa distinta en otro momento. Pero tiene una base común. ¿No se parecen muchos proyectos de software libre? ¿No se trabaja parecido para unos y otros? ¿Twitter no se parece al estado de Facebook? ¿Facebook no integra la idea del IRC con una recopilación de vídeos como en youtube, fotos como en flickr y amigos como en orkut? ¿Existiría facebook si no hubiese existido geocities? ¿El que está ahora mismo cocinando la nueva aplicación revolucionaria no ha tenido en cuenta los casos de éxitos pasados? ¿No va a pedir colaboración a la comunidad? ¿No ha hecho un diseño de lo que pretende hacer?

Quiero decir con esto que me convence el software libre, me convence el trabajo colaborativo, me convence incluso la coordinación débil para proyectos experimentales tipo Google labs de los que no se sabe muy bien qué puede salir pero se apuesta por la innovación, o para proyectos con una masa gigantesca de colaboradores como los ejemplos que se citan. Me recuerda un poco a la mutación genética. Varios elementos de la comunidad actúan realizando mutaciones diversas, y la comunidad de usuarios finales como el ecosistema que decide si esa especie mutada va a vivir o a morir. Y cuando algo se parece al modo en que la naturaleza lo resuelve, suele ser un buen modo para hacer las cosas.

Sin embargo no renuncio a las técnicas de ingeniería del software aprendidas, mejoradas y válidas durante todo este tiempo (actualizadas convenientemente) para otros muchos tipos de proyectos ni a la regulación de la profesión. Tener un colegio oficial de ingenieros no significa que no se pueda innovar. Significa que los profesionales están unidos para defender sus intereses, para contar con representantes ante los diversos organismos y para que haya alguien que vele no por que se sigan métodos estrictos de diseño y producción industriales en el software, sino por que exista una buena praxis por parte de sus colegiados, identificados, titulados y que se responsabilizan de lo que han diseñado. Al final no es más que otro tipo de comunidad de profesionales.

Hispalinux, en favor de una administración electrónica "transparente, independiente y democrática".

La asociación de usuarios españoles de Linux, Hispalinux, ha publicado una carta abierta en la que reivindican las máximas garantias para que los ciudadanos puedan acceder a todos los servicios de la administración sin que pueda producirse «una concentración de poder sobre la información pública y una dificultad insuperable de control de las instituciones».

Al hilo del debate (o de su ausencia) sobre el Real Decreto por el que se regulará el Esquema Nacional de Interoperabilidad, la asociación señala sus conclusiones tras el estudio del proyecto del texto legislativo:

  • Un planteamiento general que no conduce a la interoperabilidad
  • El Real Decreto consolida los estándares privados
  • ¿El artículo 11.2 al servicio de una empresa?
  • Necesidad de instar y desarrollar estándares abiertos
  • Necesidad de dar prevalencia a los estándares y formatos abiertos.
  • La RED SARA no puede ser de una empresa y carecer de regulación básica
  • Inexistencia de un órgano de control de la interoperabilidad

Hispalinux lleva tiempo promocionando el software libre en la administración, y esta carta abierta solo es un paso más en su cruzada por derrotar a los estándares y formatos privados.

En ese sentido, y máxime en tiempos de crisis, no parece razonable que a la administración le suponga un gasto millonario utilizar paquetes ofimáticos, sistemas operativos y sotware de todo tipo en cada uno de los cientos de miles de equipos informáticos que utilizan los funcionarios, existiendo alternativas libres perfectamente válidas para todas esas funciones.

Solamente la oficina del Defensor del Pueblo ha gastado recientemente 85.000 euros en licencias de Windows y Office.

Por otra parte, también debe evitarse ofrecer al ciudadano documentación en estos formatos propietarios que en teoría le obligarían a pagar una licencia por la utilización de un producto, pero que en la práctica supone la perpetuación de la piratería en España.

PD y Offtopic: La Diputación provincial de Lugo ha puesto en marcha un plan (Innova-Te) para implantar la administración electrónica en los ayuntamientos de la provincia. Este tipo de iniciativas son imprescindibles para acercar la administración a los ciudadanos, y resultan especialmente importantes en lugares como Galicia, donde la dispersión de la población dificulta en muchas ocasiones el acceso de los ciudadanos a los servicios públicos.

Panorama Theme by Themocracy