Aspectos Técnicos

A la gran mayoría de usuarios de computadoras, no les resulta desconocido los términos Windows[ii] y Linux[iii], como sistemas operativos pues se han convertido en los más representativos del software propietario y libre respectivamente. Existen otros productos como los paquetes de oficina (procesadores de textos y hojas de cálculo entre otros), sistemas administradores de bases de datos, navegadores de Internet (browsers) y software personal -de una lista mayor de productos- que están presentes en ambos lados (propietario y libre). Se debe tener en cuenta que existe software libre que funciona sobre plataformas (sistemas operativos) propietarios y viceversa [5][6].

Para la comparación desde el punto de vista técnico se ha tomado el modelo de calidad de producto interna/externa descrita en la NTP-ISO/IEC 9126-1:2004 [7] que presenta 6 características: funcionalidad, fiabilidad, usabilidad, eficiencia, facilidad de mantenimiento y portabilidad. La norma técnica también propone un modelo de calidad del producto en uso (con las características: efectividad, productividad, integridad y satisfacción) pero, debido a que ésta depende del usuario en un contexto determinado, no se ha tomado en cuenta para este documento. La comparación es la siguiente:

  1. La funcionalidad se define como la capacidad del software para suministrar las funciones que satisfacen las necesidades establecidas (como requerimientos) [7]. Debido al tiempo que tiene el software propietario frente al software libre, se podría pensar que el primero tiene mayor cantidad de funcionalidades que ofrecer, sin embargo esto no siempre es cierto, debido al gran crecimiento que ha tenido el software libre en los últimos años. En el caso de los sistemas operativos, se encontrarán muchos reportes que den como ganador a uno frente al otro y viceversa; sin embargo, ambos productos (Windows y GNU/Linux) han alcanzado un notable nivel de desarrollo. En el caso de paquete software de oficina definitivamente la opción de Office[iv] ofrece una mayor cantidad de funcionalidades respecto de OpenOffice [15] (el equivalente más cercano en software libre); sin embargo también es cierto –por experiencia- que la gran mayoría de usuarios no utiliza gran parte de las funcionalidades ofrecidas por estos productos, lo que los coloca en un aparente igualdad. El usuario avanzado de Office podrá encontrar dificultades en el OpenOffice, por ejemplo en la ejecución de macros de hojas de Excel o Word. Asimismo hay que tener en cuenta que Microsoft suele cambiar los formatos de estos archivos, en sus nuevas versiones, afectando la compatibilidad con OpenOffice debido a que son formatos propietarios. Muchos usuarios notan también una mayor lentitud en la ejecución del OpenOffice, por ejemplo al abrir un archivo derivado del proceso de conversión realizados para reconocer los formatos de Word, Excel y PowerPoint, en equipos con hardware modesto (inferior a Pentium 4). En el caso de los sistemas administradores de bases de datos todavía hay una diferencia significativa a favor del software propietario, sin embargo, según las necesidades del usuario, le puede resultar suficiente algunas de las soluciones de software libre y de código abierto.

Dentro de la funcionalidad se considera también a la seguridad. Los sistemas Windows han mostrado a lo largo del tiempo más vulnerabilidades habiendo una gran cantidad de virus y gusanos en Internet diseñados para afectarlo a comparación de lo que ocurre con el sistema GNU/Linux [8], este hecho cuestiona la afirmación de Microsoft sobre la “peligrosidad” inherente al software libre y abierto por tener su código fuente disponible. Según estadísticas de detección del programa antivirus F-Prot [9] se obtienen los siguientes resultados para sistemas Unix[v] y Windows[vi]

DOS/Windows: 109202 viruses and 61558 Trojans (*)
Word/Excel: 8543 viruses and Trojans (*)
Unix shell: 405 viruses and Trojans (**)
Unix: 432 viruses and Trojans (**)

Si se compara los datos de (*) con (**) podrá apreciarse que para los sistemas basados en Unix (como es el caso de GNU/Linux) se ha desarrollado una cantidad significativamente menor de programas maliciosos. Muchas personas afirman que lo anterior se da, por que los sistemas basados en UNIX son menos vulnerables que los basados en Windows. Para una comparación más detallada de la seguridad de Windows vs. GNU/Linux, se puede consultar también el estudio hecho por la revista The Register [10].

La interoperabilidad es también parte de la funcionalidad según el modelo planteado [7]. En este aspecto, como es de dominio público, las empresas de software propietario como por ejemplo Microsoft, han mantenido –total o parcialmente- en reserva la información sobre los detalles internos de sus sistemas operativos, de modo que la interoperabilidad de los productos ha sido siempre un problema; solo algunas empresas socias han tenido acceso a lo que Microsoft permite. Los sistemas de software libre en contraposición, a lo indicado anteriormente, ofrecen acceso a todo el código fuente, permitiendo que los propios usuarios los modifiquen de acuerdo a sus necesidades y puedan desarrollar software sobre esos productos con la confianza que pueden construir –eventualmente si no existen- los componentes necesarios. Adicionalmente Microsoft emplea por lo general formatos propietarios para los archivos generados por sus aplicaciones los cuales -en muchos casos- pueden ser modificados de manera exitosa sólo con sus productos y que incluso generan incompatibilidad con versiones antiguas obligando al usuario a comprar la versión más actual, situación que se ve por ejemplo con archivos generados con Office, esta incompatibilidad genera problemas a la hora de compartir documentos entre usuarios que poseen versiones distintas de Office, como solución a éste problema se hace muy popular el uso del formato PDF de la compañía Adobe donde algunos gobiernos lo toman como documento estándar de publicación [51][52][53], el formato PDF puede ser visualizado sin problemas en sistemas Linux. Adicionalmente una gran cantidad de empresas sigue usando versiones antiguas del Office (97 y 2000) pues no encuentra mayores beneficios en las funcionalidades del Office 2003 que justifiquen su compra [30] [31] [32]. Una comparación más detallada entre los paquetes de Office 2003 y OpenOffice 1.1.1. ha sido realizada por eWeek [42], también existen una comparativa entre la versión beta OpenOffice 2.0 con MS Office XP [47].

  1. La fiabilidad se define como la capacidad del producto software para mantener un nivel especificado de funcionamiento [7]. Bajo este concepto se encuentra la tolerancia a fallas y la recuperabilidad del software ante caídas; ambos conceptos se relacionan a lo que se denomina la arquitectura del software. En el caso de sistemas operativos, se dice con mucha frecuencia que la arquitectura de GNU/Linux es muy robusta porque ésta se deriva de la arquitectura UNIX; de otro lado Windows ha ido evolucionando a través de los años y la arquitectura de sus actuales sistemas operativos (derivada del Windows NT) ha mejorado mucho, en especial el Windows XP Profesional; sin embargo la instalación del paquete (componente) de actualizaciones llamado Service Pack 2 podría ocasionar eventualmente conflictos con otros programas [44] y posiblemente hacer más lento al equipo. En el caso de sistemas administradores de bases de datos definitivamente el software propietario todavía sigue siendo superior en esta característica. En el caso de paquetes software de oficina y de uso personal, existen diversos productos (tanto en software libre como propietario) que ofrecen fiabilidad parecida.
  2. La usabilidad es la capacidad del software de poder ser usado adecuadamente [7]. En este tema el software propietario tiene cierta ventaja todavía, sin embargo cada vez la diferencia es menor entre ellas. Por ejemplo para adaptarse al paquete OpenOffice se requiere sólo un par de horas [30]. En el caso de sistemas operativos, la mayor crítica que se le hacía a GNU/Linux -hasta hace 3 años aproximadamente [38]- era que la interfaz estaba en modo carácter o consola siendo poco amigable para el usuario inexperto; sin embargo hoy en día ya existen interfaces gráficas de usuario (en realidad sistemas de escritorio) de muy buen nivel como KDE [13] o GNOME [14].
  3. La eficiencia es la capacidad del producto software de proveer un desempeño apropiado de acuerdo a la cantidad de recursos utilizados [7]. A este concepto se asocian el tiempo de respuesta y el uso de los recursos existentes (hardware o software). En el caso de sistemas operativos, el sistema GNU/Linux puede ejecutarse sin necesitar el entorno gráfico, el cual es un módulo opcional, que permite que disponga de mayor cantidad de recursos para ejecutar más eficientemente diversos servicios de red como un servidor DNS, un Firewall o un servidor Web sencillo o ejecutarse sobre una plataforma antigua como un Pentium I de 100Mhz con 32MB. Para el entorno gráfico de GNU/Linux se disponen de diversos entornos de escritorio, desde los que requieren un Pentium I de 100 Mhz y 48MB de RAM hasta los que requieren Pentium 4 de 1Ghz y 512MB de RAM, los más populares y completos son KDE y GNOME pero requieren de una buena cantidad de recursos hardware para que se ejecuten eficientemente [46], sin embargo existen distribuciones GNU/Linux que usan entornos gráficos muy ligeros especialmente diseñados para correr en equipos antiguos, en el portal de DistroWatch [50] se pueden encontrar referencias a éste tipo de distribuciones tales como Vector Linux y Damn Small Linux. En el caso de Windows, la eficiencia no ha sido una de las características sobresalientes y, a lo largo de los años, en cada nuevo producto el tamaño y necesidades de hardware de los sistemas operativos ha sido cada vez mayor debido, en gran parte, a que el entorno gráfico está integrado al sistema operativo, lo cual significa que el sistema ya consume recursos sin estar ejecutando aplicaciones, se dispone también de acceso a ventanas en modo consola pero con limitaciones en su uso respecto de la variedad de comandos disponibles en GNU/Linux. En el caso de otros productos la evaluación resulta complicada por el nivel de interacción que tienen los usuarios con los productos.
  4. La facilidad de mantenimiento es la capacidad del producto software para ser modificado (correcciones, mejoras o adaptaciones) que pueden necesitarse por diversas razones [7]. En la mayoría de productos de software propietario el mantenimiento del software está regulada por las licencias y son las mismas empresas productoras –en su mayoría- las únicas que pueden realizarla; ya que solo ellas tienen acceso al código fuente. Para el caso de productos software de uso masivo las actualizaciones se hacen periódicamente, pero no necesariamente a solicitud de un cliente en particular sino cuando la empresa lo tenga previsto. En el caso de software libre existen diversos modelos de gestión de actualizaciones: desde uno donde cada organización puede hacerse cargo ella misma, hasta la contratación de una empresa o expertos que puedan realizar el mantenimiento necesario. La posibilidad de contar con el código fuente y los permisos para su modificación y distribución que otorga el software libre, aunque no siempre con la documentación necesaria, brindan una interesante oportunidad para cualquier organización. Esta posibilidad estimula al mercado de profesionales a estar mejor preparado para poder atenderla, elevando su competitividad.
  5. La portabilidad es la capacidad del producto software de ser trasladado de un entorno a otro [7]. Si bien existen distribuciones GNU/Linux preparadas para correr sobre diferentes plataformas hardware (AMD x86-64, ARM, Compaq Alpha, CRIS, DECVAX, H8/300, Hitachi SuperH, HP PA-RISC, IBM S/390, Intel IA-32/64, MIPS, Motorolla 68000, PowerPC, SPARC, UltraSparc y v850) se debe tener en cuenta que la mayoría de distribuciones GNU/Linux están hechas para trabajar sobre procesadores Intel de la familia x86 soportando incluso multiprocesadores. La portabilidad es una de las características más sobresalientes del software libre, ya que la gran mayoría de programas hechos para un sistema GNU/Linux pueden correr en todas las arquitecturas que soporta GNU/Linux, sin ningún cambio sustancial. El tema de la portabilidad también se aplica a programas que deban ejecutarse en cualquier distribución GNU/Linux; es por ello se ha creado el Linux Standard Base (LSB) [57] elaborado por el Free Standards Group [56] conformado por Red Hat, Novell, la Debian Common Core Alliance (9 miembros) y Asianux. A la fecha el LSB va por su versión 3.0 [58][59] y elimina los problemas de compatibilidad entre las diversas distribuciones que se ajustan al estándar LSB lo cual permite portar sin problemas una aplicación de una distribución a otra.

Microsoft por su parte ha desarrollado su sistema Windows para ejecutarse sobre procesadores Intel y AMD de 32 y 64 bits o compatible con ellos (también sobre Alpha, aunque ya está descontinuado desde Windows 2000).

Sin embargo debemos tener en cuenta que el uso de una plataforma hardware propietaria como PowerPC y RISC de IBM o SPARC y UltraSparc de Sun crean dependencia también con el fabricante y con su soporte técnico, en cambio el uso de procesadores Intel está extendido a diversos fabricantes y la oferta de soporte es mayor, adicionalmente está la oferta de los procesadores AMD compatibles con la tecnología de Intel.

Finalmente, se puede decir que la evaluación se ha centrado principalmente sobre los sistemas operativos, ya que ellos son la base para el funcionamiento de otros productos software. GNU/Linux posee el respaldo de grandes empresas del sector informático como IBM [60], Oracle [61], HP [62], Sun [63] y Novell [64]. Es conocida también la demanda legal que la compañía SCO tiene contra IBM por supuestas violaciones de patentes en el código del kernel Linux (componente central del sistema operativo), sin embargo, SCO no posee, ni ha proporcionado pruebas ni argumentos sólidos en su demanda y no reviste mayor peligro [11]. En el caso de sistemas administradores de bases de datos de alto desempeño los sistemas propietarios todavía son mejores que los de software libre; algunos de estos productos propietarios (como Oracle, Informix, DB2, etc) funcionan sobre GNU/Linux, existe incluso un interesante estudio hecho por Roby Sherman [65] donde se muestra que Oracle corre 38.4% más rápido sobre Linux Red Hat 7.2 que sobre Windows 2000 Server. Para aquellos usuarios o empresas que no necesitan de una base de datos de altas prestaciones les puede resultar interesante opción usar Postgresql [33] o MySQL [34]. En el caso de software de oficina y de computación personal las decisiones deben apoyarse en otros criterios adicionales a los técnicos y económicos. En el caso de sistemas para Internet, GNU/Linux y otros productos del software libre se han posicionado muy bien a nivel internacional siendo las opciones más difundidas el pequeño y eficaz navegador Mozilla Firefox [35] y el Mozilla Thunderbird [36] para cliente de correo, ambas con versiones para Windows incluso.