domingo, 21 de septiembre de 2014

¿Cómo elegir un Software Open Source?

Hay grandes herramientas de Software Libre (Open Source) que pueden competir sin pudor con las comerciales. Sólo por citar algunas de las más conocidas:
  • OpenOffice: la alternativa a Microsoft Office. Uno de sus fork (hablaremos de esta palabreja en un momento), LibreOffice, está arrasando últimamente
  • Mozilla Firefox: competencia directa de Chrome y Explorer. Aunque no pasa por su mejor momento, estuvo cerca de dominar el mercado
  • Linux: qué vamos a decir de este Sistema Operativo
  • Apache: el servidor de aplicaciones más implantado
  • VLC: uno de los mejores reproductores de vídeo jamás desarrollados ahora también con capacidades de streaming
  • eMule, bitTorrent: dos herramientas para facilitar la comunicación Peer to Peer que revolucionaron Internet. Se usan profusamente con fines menos nobles pero, en su momento, ofrecían protocolos de comunicación innovadores y extremadamente eficientes
  • MySql: una base de datos que amenazaba con desbancar a SqlServer u Oracle. Y digo "amenazaba" porque Oracle compró todo el código hace unos años. También hablaremos sobre cómo es posible comprar un software que suele ser gratuito
  • Android: también ha sido publicado como Software Libre aunque no tiene licencia CopyLeft (ya sabéis, en un momento) ni deja abierto todo el código fuente.
Es posible encontrar aplicaciones que cubran prácticamente todas las necesidades de una empresa. Basta con darse una vuelta por SourceForce, una de las principales plataformas de Software Libre, para comprobarlo.

Suelen ser gratuitas, algunas realmente potentes y, sin embargo, optar por cualquiera de ellas siempre supone un cierto riesgo, más en el entorno empresarial. ¿Cómo saber si he elegido la más adecuada?, ¿dará demasiados problemas?, ¿carecerá de alguna funcionalidad importante? ¿sera complicada su instalación y puesta en marcha?, ¿tendrá soporte?.

LO MÁS BÁSICO

1. Comprueba cuando fue publicada la última versión. Si tiene más de 1 año comienza a preocuparte. Si son más descarta la opción, es probable que ya nadie soporte la aplicación o que esté siendo explotada por alguna empresa por otros canales.

2. Échale una vistazo al foro de discusión. Suele haber una importante comunidad tras la mayoría de estos productos. Al igual que antes, comprueba si hay actividad reciente. Revisa los comentarios en busca de gente informando sobre errores (bugs). Su acumulación excesiva debe ponerte en alerta aunque no tiene por qué ser un problema. Mucho más preocupante es que no reciban respuesta.

3. Date una vuelta por Internet. El buen Software Libre siempre se vuelve muy popular en la red. Buscar referencias al software de tu interés. Si no encuentras nada es mala señal incluso aunque se haya publicado recientemente.

4. Comprueba la revisiones y el roadmap de implementación. En general encontrarás una lista con las actualizaciones (para corregir errores o incorporar nueva funcionalidad de carácter menor) y últimas versiones publicadas. Si tienes suerte, también habrá un plan de desarrollo aunque, por desgracia, esto es cada vez menos frecuente. Ambas te darán una idea sobre el interés que está despertando el software.

ALGUNAS PALABREJAS

Si no estás demasiado familiarizado con la informática, entender estos términos puede resultar de ayuda en tu proceso de exploración y toma de decisiones
  • BUG: es un error detectado en el código. Como ya he comentado, encontrarte con un gran número de bugs es preocupante pero no tiene por qué suponer un problema. Mucho más importante es comprobar si reciben respuesta
  • TICKET: los errores y las peticiones de mejora o de soporte suelen ser reportados mediante un sistema de gestión de incidencias (un sistema de Ticketing). La actividad en estos sistemas es una de las mejores fuentes de información. Sirve para comprobar el interés que está despertando el producto, el soporte que podrás esperar en el futuro y el interés del programador (o programadores) por el producto.
  • PATCH: es un parche, una actualización del software que corrige uno o varios errores detectados. Puede ser completa (se actualiza todo el producto) o parcial (un programa de instalación más limitado corrige los módulos afectados)
  • FORK: es una bifurcación del software. En su forma más amable se produce para crear versiones de un mismo software adaptadas a diferentes sistemas operativos o dispositivos móviles. Más frecuentemente suponen un cisma de la comunidad que da soporte al producto debido a discrepancias en cuanto a su evolución futura, cambio de objetivos o intereses personales. Normalmente una de las ramas (no siempre la más nueva) acaba predominando. Con el tiempo es fácil saber cuál de ellas ha triunfado pero si la escisión en reciente, no es un buen momento para tomar una decisión.

    LibreOffice es un Fork de Open Office ideado para afrontar la amenaza que supone Oracle interesada en terminar con este proyecto patrocinado en el pasado por SUN, una empresa adquirida hace años por Oracle. Oracle ha dado muestra de su aversión al Open Source terminando con proyectos cómo OpenSolaris o adquiriendo todos los derechos de MySql (una base de datos que amenazaba su supremacía en el sector) o Java (a través de la adquisición de SUN)
  • SOFTWARE LIBERADO: se utiliza este término cuando un programador o una organización optan por publicar el código fuente de un producto y permitir su alteración y uso bajo ciertas condiciones.
  • GPL: "General Public Licence" es el tipo de licencia más usado en el mundo del software libre. Otorga a los usuarios derechos de descarga, instalación ejecución, modificación y redistribución del software. Suele venir acompañado por GNU (GNU GPL) en referencia al sistema operativo desarrollado por Richard Stallman, el primero licenciado como Software Libre para competir por Unix. El nombre es curioso al ser un acrónimo recursivo ("GNU is Not Unix").
  • Copy Left: es una práctica que consiste en el ejercicio del derecho de autor con el objetivo de permitir la libre distribución de copias y versiones modificadas de una obra u otro trabajo, exigiendo que los mismos derechos sean preservados en las versiones modificadas (Wikipedia). Es, en definitiva, una forma de luchar contra Forks no deseados.
MODELOS DE DISTRIBUCIÓN

En ocasiones, la instalación y mantenimiento de Sofware Libre resulta complicada así como estar al tanto de las frecuentes revisiones actualizaciones.

Es frecuente que surjan organizaciones y empresas para facilitar la distribución y ofrecer servicios de soporte y mantenimiento. El ejemplo más conocido es Red Hat, creada para asegurar la distribución y mantenimiento de algunas de las versiones más populares de Linux como Fedora o de creación propia como Red Hat Enterprise Linux.

La práctica adoptada por Red Hat no sólo es lícita si no aconsejable (o imprescindible) para permitir la difusión del Open Source en las empresas siempre ansiosas por asegurar el soporte y mantenimiento de sus sistemas.

Más recientemente, la irrupción de Cloud Computing ha provocado la aparición de empresas que ofrecen Software libre a través de la nube. Estos Servicios Web no requieren instalación y basta con pagar (una cantidad modesta en general) para acceder al servicio. Las ventajas son evidentes: puesta en marcha inmediata, mantenimiento y soporte asegurados así como las copias de seguridad y la accesibilidad a través de Internet.

Es una buena opción especialmente si la seguridad y confidencialidad de la información no son aspectos críticos de tu negocio. Por diferentes motivos (proyectos clasificados, protección información de los clientes, etc) no todas las empresas puede ubicar datos en Internet por muchas garantías que ofrezca el proveedor del servicio.

ALGUNAS ARGUCIAS

El Software Libre es una filosofía, un noble modo de actuar diseñado para fomentar la participación y colaboración en el desarrollo del software. El movimiento lo inició Richard Stallman con el Manifiesto GNU.

Pero allá donde hay un negocio potencial surgen empresas que tratan de aprovecharse para desvirtuar los fines más altruistas. Os dejo algunas de estas argucias sin nombrar a sus autores (sólo mencionaré algunos casos sobradamente conocidos). No lo hago por cuestiones éticas o consideraciones legales; simplemente no quiero darles más publicidad.

La administración pública lleva años fomentando el uso de Open Source (al menos en España y en Europa) obligando a que los proyectos de investigación publiquen los resultados como Software Libre. Y lo hacen, pero tan pronto como finaliza el proyecto concluye el soporte y mantenimiento. El software sigue allí pero ya no hay actualizaciones ni una comunidad de desarrolladores que le dé soporte. En el peor de los casos, el mismo producto aparece en una versión comercial teñida por el término "profesional". Aquí si obtendrás soporte y verás cómo se suceden las versiones y actualizaciones. Pero el software ya no será libre ni tendrás licencia para modificarlo o redistribuirlo.

Una estrategia similar es seguida por algunas empresas para lanzar su producto, aprovechando la popularidad de las comunidades Open Source. Lo publican, esperan el reporte de errores, reciben las opiniones de usuarios potenciales y, quizás, algunas buenas ideas para mejorarlo. Después dejan de mantener el software y sacan al mercado la versión comercial.

Otras corporaciones se embarcan en la compra del Software Libre que amenaza con quebrar su supremacía. Esto es posible adquiriendo los derechos de propiedad intelectual de los desarrolladores originales o de los miembros más relevantes de la comunidad actual, aquéllos que han desarrollado el core (el núcleo) del producto. Es un proceso complicado pero factible como se demostró con la compra de Java y, más recientemente MySql (SUN primero, Oracle después).

Algunas más publican el software declarándolo como libre pero se olvidan de liberar algunas partes críticas; suelen ser ficheros binarios que pueden ejecutarse pero no modificarse. Retienen así en su poder algunas partes críticas del software mientras lanzan su producto y recogen las contribuciones de una comunidad de desarrolladores impulsada por fines más nobles. Es el caso de Android (Google).

Por cierto, existen innumerables forks de Android, casi todos ellos diseñados para solventar los problemas de seguridad de la versión original de Google. Con ellos, eso de conceder permisos respondiendo a preguntas generalistas ("la app necesita acceso completo a Internet o al teléfono") no es posible. Ofrecen, además, un completo inventario de la actividad de todas y cada una de las Apps instaladas (qué están haciendo, qué datos transmiten, a qué servicios intentar acceder). Si tienes un móvil de sobra, es una buena manera de saber lo que puedes esperar cuando la instales en el bueno.

EN DEFINITIVA

Es posible que tras leer este artículo estés asustado o sientas más reticencias para instalar un Software Libre. No debería ser así, descartar esta posibilidad es un error especialmente para las PYMES.

Tomar la decisión correcta parece complicado, pero puedes informarte en diez minutos realizando una cuantas búsquedas por Internet:
  • Comprueba el interés que esta despertando el producto en Internet y en los foros de discusión asociados. Es importante que haya una comunidad activa probando el producto, proponiendo mejoras, extendiendo la funcionalidad
  • Échale un vistazo a ticketing del producto. ¿Se reportan Bugs?, ¿Son atendidos?, ¿Muestran actividad?
  • Asegúrate que existen actualizaciones recientes y que éstas se realizan con cierta frecuencia
  • Investiga los forks (suele bastar con realizar una búsqueda estilo "[PRODUCTO] FORK")
  • Comprueba que no existan productos comerciales basados en el software libre o que, de existir, no sean patrocinados por la misma organización que publicó en su momento la versión original
Antes de terminar, os dejo una infografía que explica bastante bien cómo debería ser el Software Libre:



2 comentarios:

  1. Muy buen resumen y planteamiento. Muchas gracias. Laura

    ResponderEliminar
  2. Muchas gracias por la publicación, me dieron información muy útil.

    ResponderEliminar