Software Libre

  • Una de las muchas formas de "vender humo" en este mundo consiste en ofrecer soluciones a problemas inexistentes. Entre los tantos requisitos para certificar la norma ISO 9001:2015, una empresa debe contar con un sistema de registro y gestión de no conformidades. Como dentro de mi organización se está buscando certificar dicha norma, se solicitó al área de sistemas evaluar alternativas de software para implementar dicha herramienta.

    A simple vista, el cuento de la certificación ISO parece un gran negocio para las empresas consultoras. Esto se hace evidente cuando uno descubre que la mayoría de las herramientas de software para la gestión de calidad son de licencia propietaria. Es decir, hay empresas que se dedican exclusivamente a desarrollar soluciones cerradas para requerimientos impuestos por terceros (el consultor cobra una suma importante por venderte el problema y su socio por venderte la solución). Aunque, afortunadamente, investigando un largo rato en Internet, surgió la oportunidad de instalar y probar KMKey Quality, gracias al Catálogo de Software Libre de la Universidad de La Laguna.

    KMKey Quality es un software de gestión de calidad ideal para la implantación y mantenimiento de un Sistema de Gestión de calidad (SGC) de cualquier tipo: ISO 9001, ISO 14001, OHSAS 18001, etc, o de una combinación de los mismos, facilitando la gestión de un sistema integrado.

    KMKey es liberado bajo la licencia GPLv2, pero su creador y principal impulsor es la empresa Earcon, quien hace lo mínimo indispensable para cumplir con dicha licencia.

    En el mundo existe software libre y open source de todo tipo. Hay proyectos importantes desarrollados por grandes comunidades, proyectos medianos desarrollados por grupos más pequeños, y proyectos chicos desarrollados por individuos. Pero a pesar de las diferencias en cuestiones de importancia/magnitud, en general todos cultivan los valores del software libre hablando en términos de calidad de software. El software comunitario en general está cuidadosamente documentado, tanto en forma de manuales como a nivel de comentarios en el código fuente. Además se cuida mucho la limpieza del código, ya que se piensa desde el día cero en que el código fuente estará a la vista de todo el mundo. Así sea un solo individuo quien desarrolle/mantenga una pieza de software libre, si es un miembro de la comunidad open source, muy posiblemente respete y promulgue estas ideas. Pienso que más aún siendo el caso de un individuo, pues si su intención es sumar desarrolladores a su proyecto, debe saber que probablemente pocos sientan deseos de aportar código o soluciones a un proyecto cuyo código fuente es desprolijo y/o pobremente documentado.

    En el software privado es diferente, porque los desarrolladores tienen la certeza de que nadie fuera de la empresa verá su código fuente. Entonces la calidad del software se reduce a las políticas de calidad de software de la empresa.

    Pero hay otra clase de proyectos libres u open source, y son aquellos desarrollados y mantenidos por una única empresa de software comercial. Y digo comercial porque el código fuente se libera bajo licencias libres u open source, sólo que la empresa detrás del "producto" es quien lucra con el mismo. Esto no está mal, por supuesto. Si estuviese prohibido hacer dinero con el software libre, éste simplemente no existiría.

    El problema surge cuando la empresa que mantiene una pieza de software libre hace todo lo posible para monopolizar su soporte. Por ejemplo, libera todo su código fuente sin comentarios (quien haya examinado código fuente de systemd puede comprobarlo), hace todo lo posible por ofuscar su configuración, y peor aún no provee documentación alguna. Es decir, hace lo mínimo indispensable para cumplir con la licencia.

    Tal vez uno se pregunte por qué entonces estas empresas liberan el código bajo una licencia libre u open source, si no tienen deseos de sus productos de software sean en esencia libre. Esto ocurre porque en muchos países, notablemente en la Unión Europea, han tomado al sabia decisión de forzar el uso de software libre en entidades gubernamentales. La consecuencia de esta decisión, es que las empresas proveedoras de software para el estado se vieron obligadas a liberar sus productos bajo licencias abiertas. Incluso puede ser que hayan tenido que abrir el código de productos antes cerrados, lo cual pone en evidencia lo ordinario que es el software de código cerrado.

    A ésto se reduce mi experiencia con KMkey y por ello que decidí compartir este artículo. Tanto la arquitectura de KMKey como el proceso de instalación y configuración, carecen de una documentación mínima. A causa de esto es necesario realizar un trabajo de ingeniería inversa, a partir de un appliance disponible en Internet, e invertir largas horas, sólo para entender cómo funciona, cómo se relacionan sus diferentes componentes, y cómo lograr ponerlo en funcionamiento en uno de nuestros servidores.

  • Hace un tiempo participé en un proyecto de migración al Software Libre para una empresa interesada en migrar sus sistemas Microsoft Windows hacia GNU/Linux. Esta presentación es el resultado de mi investigación y participación en el proyecto.