lunes, 8 de mayo de 2006

El software libre sin tapujos

Últimamente estoy recibiendo mails consultándome y criticándome (sanamente, por supuesto) sobre mi debilidad sobre el software libre. Debo reconocer que tengo predilección sobre esta filosofía que debería ser universal, aunque en realidad viva del software propietario. No soy un traidor ni a mis principios ni a la mano que me da de comer, ni juego a dos caras de una moneda. Es difícil de entender mi postura, lo reconozco, y no trato ni de convencer ni de imponer a nadie. Amo las tecnologías de la información, tengan la cara que tenga. Al igual que me gusta la música y escucho casi todo tipo de música, lo mismo me ocurre con el cine o con el deporte. Me gusta casi todo, y el probar todo me da una idea más general y más conocimiento sobre el tema.

Hace unos días hice un artículo en este blog acerca de la tendencia del futuro de Microsoft frente al software libre. Nunca dije que Microsoft desaparecería, si no que el software libre dominaría. En este mundo hay sitio para todos, y el monopolio y la extinción son dos palabras que deberíamos evitar (con sus consiguientes acciones, por supuesto).

Hay mucha gente aún muy verde en esto del software libre, por lo que voy a intentar ilustraros de la manera más sencilla lo que es y lo que representa.

Contexto del software libre

El software libre está ganando mucho terreno en el mundo de las tecnologías de la información, convirtiéndose en una revolución, al igual que lo hizo en su día Internet. El concepto no es nuevo, pues lleva varias décadas en pañales, y ahora empieza a dar el estirón.

El software libre es una ideología, una forma de hacer software. No hay que relacionar software libre con ciberpunkies, hackers, gurús o demás bichos raros. Tampoco es una utopía ni un modelo de ensoñadores ni demás cuentos fantásticos que intentan propagar para estigmatizar y socavar los fabricantes del software propietario. Respeto el trabajo y las inversiones que hay detrás de grandes aplicaciones, como Windows, Office, AutoCad, 3D Studio, Maya, Photoshop, etc., y que ese modelo siga funcionando durante un tiempo, para que las inversiones realizadas no supongan un impacto ni en la economía ni la empresa ni en sus trabajadores.

Este modelo ha imperado durante varias décadas, pero empieza a perder peso por su excesivo coste y el poco servicio que hace a la sociedad de la información. Me refiero a que todos deberían poder acceder a las tecnologías de la información, no sólo para los ricos y las grandes empresas.

Con un software tradicionalmente propietario se está pagando licencias, pero no el producto. Cuando compras un coche, el coche es tuyo y lo puedes dejar en herencia. Pero con un software no. No eres dueño del software. Estás pagando unas carísimas licencias sólo por tener permiso de instalarlo y usarlo. Y, por supuesto, ese software está completamente cerrado para ti. No sabes qué está funcionando debajo, si está bien, si tiene errores, si está haciendo cosas que no estás viendo (como espionaje, spyware, recolección de tus datos, de informes de tu disco duro o de los programas que te instalas, o de las páginas web que visitas…). No puedes siquiera modificar ese software para ciertas necesidades que puedas tener. No puedes hacer nada. Te jorobas con lo que hay, y eso que estás pagando una pasta gansa por algo que ni tienes y que de manera impositiva y abusiva te está controlando y utilizando.

Voy a poner un ejemplo que en su día hice con Google, pero que es igualmente aplicable a estos menesteres. Un coche puede costar un dinero considerable, y si el mercado está monopolizado por cuatro tiburones que imponen sus vehículos, así como sus exclusivos combustibles y piezas, encontramos un mercado asfixiado, sin opciones a ninguna decisión de compra ni libertad. Estos tiburones, a golpe de talonario compran y eliminan cualquier posible competencia que pueda aparecer en el escenario, por lo que seguirán mandando con sus normas de siempre. Esto podría representar el software propietario, aunque Stallman (padre del software libre) prefiere llamarlo “privativo”.

Aparece en escena un vehículo que es gratuito o que apenas cuesta dinero. Aquellos que no se pueden permitir el lujo de comprar un vehículo de los tiburones ven la oportunidad de poseer un vehículo (también tienen derecho y necesitan de él). El vehículo, además, está soportado por millones de mecánicos, ingenieros, diseñadores y demás profesionales del automóvil, que de manera altruista aportan su grano de arena para que el vehículo tenga una calidad más que aceptable y que cumpla con las necesidades de los usuarios. Este vehículo, además de funcionar muy bien, es perfectamente personalizable (algunos lo llamarían “tuneable”), y se le pueden añadir accesorios y extras al gusto de cada uno. Esto representaría el software libre.

¿A qué suena bien, verdad?. Pero a más de uno le entraría un sentimiento de desconfianza, porque si es gratuito o tiene un precio simbólico, ¿qué gana el fabricante?.


¿Qué es el software libre?

El software libre no está atado a patentes ni a código cerrado. No significa que no se reconozca la autoría del software. De hecho se reconoce, pero es la utilidad del software lo que cambia.

El software libre permite disponer del código fuente, y eso tiene muchas ventajas con respecto al código cerrado.

En el ejemplo de nuestro coche, si está a disposición de todo el mundo el diseño del propio vehículo, terceros ingenieros y aficionados podría añadir mejoras de forma altruista. Por tanto el coche mejoraría y así los usuarios se beneficiarían de estas mejoras sin costes.

Si el software es muy interesante, bueno y de gran uso, la comunidad de desarrolladores crecería y mantendrían y mejorarían con más ahínco y fuerza el producto, añadiendo información, trucos, cursos, módulos específicos, etc.

Asimismo, que el software sea libre causa mayor interés, ya que uno mismo puede adaptarlo a sus necesidades si sabe cómo. Y no sabe cómo, apreciará y valorará más este software, ya que tendrá la seguridad que al ser libre no tendrá agujeros ni código malicioso, ni software espía o de vigilancia, tal y como nos tienen acostumbrados los fabricantes de software cerrado.

Otra seguridad que nos da es su estabilidad y fiabilidad de funcionamiento, ya que miles si no millones de usuarios lo están utilizando con éxito.

Otro punto a favor sería el uso de estándares en la creación de software libre. Esto permite intercambiar información entre aplicaciones, e incluso integrar otras aplicaciones con ésta. Otro punto a favor de la estandaridad es la larga vida de la aplicación, ya que al ser un estándar, éste tendrá más vida que un formato cerrado, y lo que hoy vale, valdrá también mañana.

Construir un coche con todo estandarizado da pie a que se construyan complementos y accesorios en base a ese estándar, con lo que una pieza puede ser fácilmente intercambiada. La estandaridad permite también que ese estándar dure mucho tiempo en el mercado y, por consiguiente, se fabriquen más coches y más accesorios basados en ese estándar.

Es de lógica pensar que los viejos tiburones ven peligrar su negocio ante esta revolucionaria táctica que le quita el mercado. Por ello lanzará mensaje como “esto no funciona”, “es de mala calidad”, “tiene defectos”, “tiene agujeros de seguridad”, y cosas de por el estilo. E incluso intentarán sabotear con intrigas y dinero quitarse de encima a este enemigo que va creciendo. De hecho, Microsoft lo hizo con Linux a través de SCO Unix., intentando también derribar a IBM en el intento.


¿Pero dónde está el negocio?

Muchos desarrolladores me han preguntado: “si el software es gratis, ¿de qué vamos a vivir?”. Incluso algún escéptico se preguntará las ventajas para todos los actores del mercado de las tecnologías.

Recuerdo hace casi veinte años cuando un jefe mío me dijo que el fin de los programadores ya había llegado, puesto que había programas que ya metían el código y hacían las cosas automáticamente. Se refería a las primeras versiones de Visual Basic. Pero la realidad es que el mercado de la programación creció exponencialmente a cotas jamás imaginadas, pues las necesidades también se exponenciaban e incluso se imaginaban más utilidades y más maravillas que el software podía construir.

Cuando apareció Java, ¿qué ocurrió?. ¿Cuántos millones de programas están desarrollados en la actualidad bajo este lenguaje de programación?. ¿Qué ha ocurrido para que este milagro se produjera?

Se pueden citar innumerables ejemplos de este tipo y que han funcionado. Pero vamos a centrarnos en las ventajas que tiene el software libre para el usuario o la empresa, y para los desarrolladores y consultoras.

Software libre no significa gratis. Significa que el código es libre, que se puede compartir, que se puede distribuir e incluso copiar.


¿Y qué gana con ésto el fabricante?

Empecemos con que la producción del producto bajaría considerablemente, ya que puedes colgar el producto en una URL o incluso en mirrors de socios o partners. Ahorras costes de fabricación de CD’s, de carátulas, de libros y guías, de distribución y logísticas (almacenes, empleados, transporte, etc.).

El coste de mantenimiento, mejora e innovación también bajaría, ya que, al estar abierto el código, desarrolladores de todo el mundo, de forma altruista lo hacen sin reclamar una nómina o un pago por el servicio. No estoy diciendo que el fabricante se deshaga de la plantilla, si no que necesita mucha menos plantilla para llevar a cabo las tareas, puesto que colaboradores de todo el mundo ayudan en su materialización.

Por otro lado se gana prestigio, respeto y fama en el mundo de las tecnologías de la información. La publicidad que genera se extiende como la pólvora y se propaga a velocidades meteóricas. Aunque otros puedan copiar el software y crear su propia versión o adaptaciones específicas, el cliente casi siempre confiará en el fabricante original.

El ahorro de costes está muy bien, ¿pero dónde está el negocio?. Está en los servicios de valor añadido, y pueden ser el soporte (contratos de soporte y mantenimiento), formación, libros, paquetes específicos, consultoría, instalaciones, configuraciones óptimas, auditorías, desarrollo de requisitos específicos o adaptaciones, versiones profesionales, etc.

Esto es, como en el caso del fabricante de coches, donde su negocio estaría en la venta de accesorios y servicios, tales como revisiones, reparaciones, seguros, “tuneos”, etc.

Este despliegue de servicios generan trabajo (profesionales que trabajan para los clientes) y gran riqueza económica.


¿Qué gana con esto las consultoras?

Las consultoras de tecnologías de información generan negocio con el uso de software libre de varias maneras. Por un lado, captar clientes que demandan el uso de este tipo de software, lo que se traduce en la prestación de los servicios de valor añadido que hemos visto antes.

Por otro lado, el desarrollo de aplicaciones específicas y a medida basadas en software libre de base, como por ejemplo intranets o websites basados en servidores de aplicaciones, workflows, gestores documentales, gestores de contenidos, etc., de código abierto. Se puede comprobar que el software libre genera negocio en base a él. Puede no pagarse el software base, pero sí por el trabajo que se realiza en base a él. Asimismo se reutiliza software que no hay que programar, si no encajar a modo de lego, lo que ahorra en costes de tiempo y dinero en concepto de desarrollo.

Por último, regalar productos propios que son de código abierto, puede ser una estrategia comercial para la consultora, ya que puede vender otros productos o servicios en base a dicho software.

El uso de software libre en los desarrollos y en la consultoría reduce drásticamente los costes, por lo que las consultoras y desarrolladores pueden ofertar con presupuestos bajos con los que poder competir.


¿Qué ganan los desarrolladores que colaboran en software libre?

Muchos se preguntan qué ganan esos desarrolladores que mantienen y mejoran los productos de software libre. A mí desde niño me enseñaron que en esta sociedad capitalista no hay altruismo, y que todo tiene un coste. O, lo que es lo mismo, nadie regala nada y todo se hace por algo a cambio. Esto es cierto.

La gran mayoría de estos desarrolladores ganan reconocimiento y publicidad. Ganan en conocimientos y en superación de retos. Esto abre las puertas a trabajos mejores, a entrar en la nómina del fabricante, a mejorar el currículum, a realizar un producto propio e incluso a trabajar en servicios remunerados basados en el producto y/o en las parcelas que él mismo ha resuelto.

Por seguir el ejemplo del vehículo, cierto aficionado diseña un spoiler que permite ganar velocidad y estabilidad al coche, y reduce el consumo del combustible un 2%. Este aficionado puede entrar en nómina del fabricante del coche, o bien construir más spoilers por encargo por su propia cuenta.


¿Qué ganan los clientes con el software libre?.

El cliente que invierte en sistemas de información basados en software libre gana en muchos sentidos.

Por un lado, un ahorro de costes muy considerable, en especial de licencias. Esto se traduce en que el propio cliente se animará a invertir, si cabe, aún en más proyectos. Asimismo, esta reducción de costes permitirá también a las pequeñas y medianas empresas a acceder a software que antes tenía vetado.

Por otro lado, al trabajar con software libre, se rompen las ataduras con los proveedores de software. El software está estadarizado, y puede integrarse con éste o con otros productos de otros proveedores. Incluso los servicios del mismo producto pueden ser acometidos por cualquier consultora.

La estandaridad asegura un tiempo de vida mayor de uso, rendimiento y aprovechamiento del software. Asimismo, asegura la compatibilidad entre formatos con otras aplicaciones, y la integración con otros módulos de software. De hecho, existirá un gran abanico de integración con un surtido de aplicaciones y módulos de código abierto.

Asimismo, el cliente gana confianza al saber que está utilizando un software que está sobradamente probado en innumerables casos de éxito en otras empresas. Al estar abierto el código no hay nada que ocultar. La eficacia, la estabilidad, la fiabilidad y la seguridad están garantizadas.

El cliente gana también en el control del código y de la información del software.


No todo son maravillas

Los casos expuestos en las líneas predecesoras hablan de casos de éxito, y, por tanto, se refieren a productos realmente consagrados.

Una búsqueda por Google o por SourceForge nos dará miles de resultados y de productos realizados como software libre. La calidad de este software es dudoso, ya que muchos son intenciones y otros productos en desarrollo.

Mi consejo es utilizar software ya consagrado, ya que sus comunidades de colaboradores, adeptos y acólitos es inmensa, y todo se actualiza constantemente online y al momento: parches, bugs, documentación, how to’s, documentación, etc.


La vorágine que viene

Se da vértigo pensar en la ascendencia vertiginosa que está experimentando el software libre en estos momentos y que aún más que en los próximos años experimentará. Parece que fue ayer cuando Linux empezaba a llorar en su parto. Ahora es un pequeño mozalbete que está pegando un estirón muy grande, desafiando a los grandes tiburones del software “privativo”. Incluso ha salido airoso de un atentado que Microsoft intentó perpetrar a través de SCO, saliendo aún más reforzado.

La Administración Pública lleva unos años introduciendo el software libre en sus sistemas de información, dando lugar a sus propias distribuciones Linux (gnuLinex (Extremadura), Guadalinex (Andalucía), Molinux (Castilla-La Mancha), Lliurex (Valencia), Linux Global (Cantabria), MAX MAdrid Linux), etc.), y destinando gran parte de sus carteras de proyectos a sistemas basados en software libre. Hay comunidades autónomas que se acercan y superan por poco ya el 50% de sus proyectos. En Francia, ministerios ya dedican el 100% de sus proyectos al software libre.

Las universidades, las factorías de ingenieros y los laboratorios I+D de nuestra sociedad, también invierten en software libre. No sólo a nivel de equipamiento, si no también a nivel de asignaturas que se imparten. En España, hay universidades que han desarrollado su propia distribución Linux (EHUX (Universidad País Vasco), gnUAMix (Universidad Autónoma de Madrid con IBM) o LUC3M (Universidad Carlos III de Madrid)).

El ejemplo más notorio de la influencia y aportación de la universidad en el tejido de las tecnologías de la información, gracias al software libre, es la Universidad de California, que, durante más de quince años, ha desarrollado PostgreSQL, quien a aportado grandes hitos en la historia de las bases de datos.

En el mundo empresarial, qué contar. Grandes empresas como Eroski, Mercadona, Día, BBVA, BSCH, Telefónica, El Corte Inglés, TerraLycos, AOL, Google, IBM, Uni2, Euskaltel, UPS, Banco Zaragozano, Dell, Excite, Prisacom, RENFE, Caja Madrid, Banco Sabadell, IberCaja, Seguros Santa Lucía, Motorota, Accenture, Ford, Abengoa, y una innumerable lista de empresas más o menos conocidas, invierten en software libre. Y esto sólo es el principio.


Realidad del software librez

La realidad del software libre es una realidad, y de hecho, los grandes tiburones están empezando a moverse poco a poco hacia esta cultura para no quedar relegados en el olvido, como casi le ocurre a Sun.

IBM, Sun y Novell están contribuyendo a esta realidad aportando y liberando patentes de software. Asimismo, están liberando productos propios que antaño eran software “privativo”, como Sun con Solaris y, más recientemente, con Java.

Oracle tiene la intención de hacerse con Suse Linux, con el fin de combatir en dos frentes a su archienemigo Microsoft: en las bases de datos y en los sistemas operativos.

Microsoft ha ido viendo que esta realidad le amenaza y está oponiéndose frontalmente, pero poco a poco está cediendo para no quedarse atrás. Aún no libera código, pero está empezando liberando productos tales como el Framework .NET, o más recientemente, Visual Studio .NET Express Edition y SQL Server Express Edition. Confío que deje de ser terco y tirar millones de dólares en una lucha titánica que le hará más daño que bien, y que acepte su papel en esta nueva cultura y siga estando entre los puestos de honor.


Reflexión final

Soy firme partidario del software libre desde hace unos pocos años. Admiro todas sus bondades como cultura y filosofía en la sociedad de la información. Vaticino un gran futuro a esta ola, al igual que Internet lo hizo en su momento.

El software propietario irá poco a poco apagándose, pero no dejará de existir. Esta transición no se hará de la noche a la mañana. Aún queda unos pocos años de imposiciones, pero, como en todo final feliz, al final la libertad triunfará.