miércoles, 16 de septiembre de 2009

Software Libre en las Empresas

¿Qué es el software libre?

Un software libre (SL) es una pieza de software cuyo autor lo transfiere para su uso a otra persona, otorgando una licencia que le da a este último la libertad de ejecutar, copiar, distribuir, estudiar, cambiar y mejorar el software.
Para más detalles ver por ejemplo: http://es.wikipedia.org/wiki/Software_libre

En inglés, software libre se dice "free software". Lamentablemente, "free" significa tanto "libre" como "gratuito", cuestión que origina una serie de confusiones con respecto a qué es y qué no es el SL.
Respecto a lo anterior, hay que tener bien en claro que el hecho de que se denomine libre, tiene que ver con el concepto de libertad y no con el concepto de gratuidad.

En el sitio de uno de los productos de software libre muy utilizados (GNU: http://www.gnu.org/philosophy/free-sw.es.html) pueden leerse estos detalles sobre el SL:
Los usuarios de programas tienen las cuatro libertades esenciales:
. La libertad de ejecutar el programa para cualquier propósito.
. La libertad de estudiar cómo trabaja el programa y cambiarlo para que haga lo que usted quiera. El acceso al código fuente es una condición necesaria.
. La libertad de redistribuir copias.
. La libertad de mejorar el programa y publicar sus mejoras y versiones modificadas en general, para que se beneficie toda la comunidad. El acceso al código fuente es una condición necesaria.
Más allá de estar de acuerdo o no con estos términos, lo cierto es que existen muchos tipos de licencia que otorgan estas libertades (y también agregan otros términos restrictivos o de más libertades). Los tipos de licencia más conocidos son: BSD (http://es.wikipedia.org/wiki/BSD_license), GPL (http://www.gnu.org/copyleft/gpl.html), Copyleft (http://www.gnu.org/copyleft) y Apache (http://www.apache.org/licenses/LICENSE-2.0)

Virtudes del SL
. Generalmente se utilizan estándares abiertos (imprescindible por ejemplo para que los datos sean propiedad del usuario del sistema y no del desarrollador del sistema). Por ejemplo, si en una empresa los datos están almacenados en un motor de base de datos propietario, con clave, encriptación y accesos no estándar, seguramente que la única manera de acceder a esos datos y a su plano de diseño es a través del desarrollador del software.
. Colaborativo: al hacer disponible una pieza de software a la comunidad, a la vez que alguien puede verse beneficiado por el producto, la misma comunidad puede detectar y generar mejoras, detectar y solucionar problemas, etc.
. Sujeto a auditoría: está permanentemente sujeto a auditorías imparciales, heterogéneas y multidisciplinarias.
. Seguro (no puede haber huecos de seguridad no documentados porque todo está documentado, en última instancia con el código fuente).


Empresas y SL. Derribando mitos
Una manera breve e introductoria para presentar el uso de software libre en empresas es analizando estos diez mitos del SL (con orientación a las Pymes):

1) El SL es gratuito: normalmente falso. Salvo que su autor lo haya otorgado como de dominio público, el SL no es gratuito. Es necesario muchos recursos, incluido dinero, para producirlo, mantenerlo y acompañarlo en todo su ciclo de vida. ¿Quién lo paga entonces? Quizá ciertos principales interesados, quizá algún paradigma comercial no basado en compraventa (inmensa escala de voluntarios aportantes, publicidad, etc).
El modelo de SL también traslada el enfoque económico desde un producto con un origen y con una licencia propietaria hacia un modelo de servicio orientado a la solución de problemas concretos.
La inversión en software que hace una pyme ahora no se paga a una empresa importante, centralizada y alejada de la realidad regional, sino que se paga a consultores regionales que utilizan piezas de SL genérico y la personalizan para cada necesidad (y es más barato).
Que no sea gratuito no impide que eventualmente una organización utilice de manera gratuita una pieza de software. De hecho, hay muchos casos en los que ocurre algo así:
Por ejemplo, sea un SL consistente en un sistema de base de datos. Una empresa multinacional hace un aporte importante de dinero efectivo, permitiendo financiar el proyecto de esa base de datos. El interés de esta empresa es que va a utilizar esa base de datos para integrarla con otros productos o servicios de su propiedad (hacer un sistema de base de datos desde cero de características similares le costaría exponencialmente más).
Como es una característica del SL, ese proyecto es publicado. Desarrolladores de software regionales (independientes, consultores o empleados de pymes) lo toman e instalan (quizá con ningún cambio) en sus clientes. Esos clientes son organizaciones pequeñas (de 1 a 50 empleados) que no pagan nada por ese producto, salvo a los desarrolladores regionales (por la solución completa).
Eventualmente los desarrolladores regionales pueden retroalimentar el proyecto de base de datos que fue publicado reportando su experiencia de uso o instalación, publicando mejoras o informando errores. Este último aspecto hace que en última instancia la empresa grande que hizo el aporte principal se ve beneficiada por muchos voluntarios que aportan a una mejora continua del producto.

2) El SL es amateur: falso. En muchos casos (y en la mayoría para los SL conocidos) hay un equipo profesional y multidisciplinario en el desarrollo y en el ciclo de vida del producto.

3) Se necesita Linux para usar SL: falso. Hay infinidad de piezas de SL independientes del sistema operativo o para plataformas específicas como Windows.

4) No pueden mezclarse en una pyme SL y software propietario: falso. Comenzar a utilizar SL no implica hacer un "salto" (normalmente al vacío :-) ) descartando todo lo que se utiliza hasta ahora y tomando todo software nuevo. Más bien es una decisión que debe tomarse con una planificación a mediano plazo y un plan gradual, incluso con objetivos que pueden no ser el reemplazo total del software existente. Gracias a que el SL siempre se encuentra sometido a estándares, es posible por ejemplo tener varios puestos de trabajo con un procesador de textos propietario y otros puestos con un procesador de textos basado en software libre.

5) Los "peces gordos" de la tecnología no hacen SL, sólo lo hacen comunidades independientes: falso. Actualmente quienes promueven más activamente al SL son las empresas más exitosas en los últimos años en su rubro (como IBM, Google, Sun, etc).

6) El SL no tiene soporte: falso. Sí tiene soporte: se puede contratar mesa de ayuda, soporte con asistencia remota. Se puede estar suscripto a bases de conocimiento o preguntas frecuentes (suscripciones que pueden ser gratuitas para el consumidor).
Hay que comprender que estamos presenciando el nacimiento de un nuevo paradigma en ciclo de vida del software, que no viene a reemplazar otro sino que viene a ocupar otro lugar:
Antes las empresas grandes cobraban su producido en software con licencias. Los usuarios debían adaptar sus procedimientos de trabajo a los dictados por ese software ya que los ciclos de vida con realimentación normalmente no tenían la agilidad esperada. No se está haciendo un juicio de valor sobre esta forma de trabajo. Simplemente se la presenta.
Ahora hay una alternativa: el desarrollo es más personalizado, se orienta más al servicio y a la solución de los problemas concretos. Las grandes empresas crean plataformas, marcos de trabajo (frameworks) o estándares de desarrollo sobre los que los regionales arman la solución.

7) El SL no puede tener un uso comercial: falso. Puede ser utilizado con cualquier propósito, principalmente como asistente a actividades comerciales, productivas, de investigación y entretenimiento. Incluso hay muchísimo SL cuyo ámbito principal de aplicación es el comercial.

8) Freeware y Shareware son lo mismo que SL: falso. Freeware significa gratis, y shareware con período de prueba gratis. SL (free software) es software libre.

9) SL es de menor calidad. falso. Cualquier software (libre o propietario) tiene la calidad que le da su equipo de trabajo y la que certifican los auditores expertos. Todo lo que hay que hacer es buscar la opinión de un grupo especialista en que se confíe: si ese grupo dice que un determinado SL es de la calidad esperada: adelante, a utilizarlo.
Habitualmente quien da la garantía a una pyme sobre un software es el consultor/desarrollador regional que se contrata.
Por ejemplo, si una pyme compra un servidor con sistema operativo Windows Server, la garantía de que va a funcionar correctamente va a estar brindada por el fabricante del software. Si en lugar de eso compra un servidor sin sistema operativo, su responsable de sistemas instalará un sistema operativo SL y será él mismo quien garantizará el correcto funcionamiento.

10) SL es de dominio público: falso. Dominio público pertenece a toda la humanidad, no tiene licencia. En última instancia el software de dominio público puede considerarse una variante dentro del software libre . El SL siempre tiene licencia, la cual hay que conocer y aceptar (y, de tener dificultades para entenderla, buscar soporte en alguien de confianza -personas, grupos, organizaciones- para recibir ayuda a interpretarla).

Los nombres mencionados son marcas registradas de sus respectivos propietarios.