¿Por qué usar programas abiertos? ¡Atención a las cifras!

David A. Wheeler

dwheeler@dwheeler.com

Revisado el 25 de enero de 2001

Traducido por Eduardo Maldonado
eduardo.maldonado@hispalinux.es
Revisada la traducción por Nico Aragón
nico@nicoaragon.com

Últimamente están cobrando gran notoriedad los programas llamados libres o de código abierto. En este documento los llamaremos simplemente "abiertos". Si quiere una explicación más precisa del significado de "libre" o "abierto" en el contexto del software, puede consultar mi documento List of OSS/FS references. Si prefiere una explicación más breve: se trata de que los programas abiertos tienen una licencia que concede a sus usuarios la libertad de hacerlos funcionar como quieran, modificarlos, copiarlos o dárselos a quien quieran, sin coste adicional.

Cuando se usa el término "código abierto" (open source), se hace hincapié en ventajas técnicas, como seguridad o rendimiento, fruto de la disponibilidad del código para inspección, mientras que con el término "libre" (free software) se quiere destacar que estos programas no están completamente controlados por un fabricante. Lo opuesto a "abierto" es obviamente "cerrado", o "privado". Téngase en cuenta que muchos programas abiertos son a la vez comerciales, así que no confunda "abierto" con "no comercial". Tampoco se ha puesto casi ningún programa abierto en el llamado "dominio público", de modo que tampoco será conveniente usar ese término. No es lo mismo.

Anécdotas dispersas las hay a montones sobre las razones para usar programas abiertos. Pero no son válidas para justificar la toma de decisiones. Por eso este documento dedica una atención especial a los aspectos cuantitativos tales como experimentos y estudios de mercado, que le harán ver por qué el uso de productos abiertos es una decisión razonable e incluso preferible en muchos casos.

Quiero dejar claro que, aunque encuentro muchos motivos para que me gusten, no soy un furibundo defensor de los programas abiertos. Uso tanto productos abiertos como cerrados. Los vendedores de éstos últimos dedican un esfuerzo considerable para reunir datos que justifiquen la elección de su oferta. Esta página proporciona un antídoto efectivo contra esos estudios, desde el punto de vista de un consultor independiente, basándose en algunas cifras esclarecedoras.

Obsérverse además que el objetivo de este documento no es demostrar que cualquier programa abierto es mejor que uno cerrado. Hay quienes lo piensan desde aproximaciones éticas, morales o sociales, pero eso no puede demostrarse con números. Vamos simplemente a comparar programas abiertos y cerrados de uso común, para mostrar que a menudo los abiertos son iguales de buenos, si no mejores que sus contrapartidas cerradas.

Pondremos especial interés en el sistema operativo GNU/Linux, a veces abreviado como "Linux", y el servidor de web Apache, porque son dos de los proyectos abiertos más destacados. Los compararemos sobre todo con el Windows de Microsoft, dada su significativa cuota de mercado, y el hecho de que su fabricante es uno de los más acérrimos defensores del código cerrado, de forma que se puedan poner sus afirmaciones en perspectiva.

Mencionaremos también de pasada los sistemas UNIX, aunque la situación respecto a éstos es un tanto ambigua; ya que muchos incluyen una cierta porción de componentes abiertos o sus derivados. Por eso, al comparar sistemas UNIX cerrados con sistemas abiertos a veces lo difícil es encontrar las diferencias, pues tanto UNIX como GNU/Linux son "sistemas de tipo UNIX". Lo mismo ocurre con la creación más reciente de Apple Macintosh (MacOS X), pues aunque las versiones anteriores de MacOS eran completamente cerradas, Apple lo ha rediseñado del todo, basándolo ahora en un sistema UNIX con una contribución sustancial de componentes abiertos. Por si fuera poco, Apple está reforzando abiertamente la colaboración con los desarrolladores de código abierto.

Por último, aclaro que incluiremos datos de varios años, no sólo del año pasado; pues creo que es fundamental observar cómo ha evolucionado un producto cuando se está considerando su adopción.

A continuación vean la discusión sobre los datos de cuota de mercado, estabilidad, rendimiento, escalabilidad, seguridad, y coste total de propiedad. Cerraremos con una breve disgresión sobre aspectos no cuantitativos, temores infundados, otras direcciones que proporcionan información relacionada, y las conclusiones.

Cuota de mercado

Mucha gente no toma en serio un programa a menos que tenga una cuota de mercado significativa. Parece simplista pero hay buenas razones: los productos con una gran cuota de mercado van acompañados de aplicaciones y personal formado en su uso y mantenimiento. Significa menos riesgo. Algunos autores arguyen contra el código abierto y GNU/Linux que su uso es minoritario, pero tal aseveración refleja el pasado, no el presente. Hay claras evidencias de que el código abierto tiene una cuota de mercado muy relevante en numerosos mercados:

  1. Apache es el servidor de web número uno de Internet, y lleva en ese puesto desde abril de 1996. Las estadísticas de servidores de web de Netcraft nos presentan a Apache, un servidor de web abierto, como claro líder del mercado de servidores de web en la internet pública, sin interrupción desde que llegó a este puesto por vez primera en abril de 1996. ¿Cómo se hace esa estadística?. Por ejemplo, en noviembre de 2001, Netcraft probó todos los sitios web que pudo encontrar, ¡en total 36.458.394!, y encontró que de los que respondieron a la petición de página, Apache tenía un 56'81% del mercado, Microsoft un 29,74%, iPlanet (antes Netscape) un 3,59% y Zeus un 2,20%.

    Cuota de mercado de los principales servidores de web, agosto 1995 - noviembre 2001
    Cuota de mercado de los principales servidores de web, agosto 1995 - noviembre 2001

    Cuando Netcraft discriminó en sus rastreos los sitios "inactivos", debido a que se han instalado muchos simplemente como "ocupas", sin ofrecer un contenido real, se encontró con que Apache salía incluso mejor parado: en noviembre de 2001 tenía un 61,88% de los servidores de web del mercado, por un 26,40% de Microsoft, 1,48% de iPlanet un y 0,04% de Zeus.

    Cuota de mercado para servidores de web activos, junio 2000 - noviembre 2001
    Cuota se mercado para servidores de web activos, junio 2000 - noviembre 2001

    Los mismos resultados generales los ha mostrado de forma independiente E-soft. Su informe publicado el 1 de julio de 2001 revisó 3.178.197 servidores de web, y encontró que Apache era el número uno con un 59,84%, seguido de Microsoft IIS con el 28,42%. Obviamente, estas cifras fluctúan mensualmente. Pásese si lo desea por Netcraft y E-soft para obtener los datos más frescos.

  2. También GNU/Linux ocupa un lugar destacado como segundo sistema operativo que sirve web en Internet. En algunos de los rastreos de Netcraft tambíen se han incluido datos sobre sistemas operativos; dos rastreos en 2001, los de junio de 2001 y septiembre de 2001, revelaron que GNU/Linux es el segundo sistema operativo para servidores de web y ha ido ganando constantemente aceptación desde febrero de 1999. Este recuento no se hizo por nombre de servidor como se hace con el de programas servidores de web, sino por direcciones IP, o sea los identificadores únicos de cada máquina visible en Internet.
    Una pequeña aclaración sobre las fechas: Netcraft da la fecha de cada estudio según el momento de la última tanda de rastreos, no el de publicación del informe. Por eso la revisión con fecha de "junio de 2001" se publicó en julio, y cubre resultados de revisiones de sistemas operativos desde marzo.
    Aquí tenemos un resumen del estudio de Netcraft:

    Grupo de sistemas operativos

    Porcentaje (marzo)

    Porcentaje (junio)

    Composición

    Windows

    49.2%

    49.6%

    Windows 2000, NT4, NT3, Windows 95, Windows 98

    [GNU/]Linux

    28.5%

    29.6%

    [GNU/]Linux

    Solaris

    7.6%

    7.1%

    Solaris 2, Solaris 7, Solaris 8

    BSD

    6.3%

    6.1%

    BSDI BSD/OS, FreeBSD, NetBSD, OpenBSD

    Otros UNIX

    2.4%

    2.2%

    AIX, Compaq Tru64, HP-UX, IRIX, SCO UNIX, SunOS 4 y otros

    Otros - no-UNIX

    2.5%

    2.4%

    MacOS, NetWare, sistemas operativos cerrados de IBM

    Desconocidos

    3.6%

    3.0%

    Sistemas operativos que el detector de Netcraft no identifica

    Se pueden interpretar estas tablas de forma muy distinta según lo lo que se pretenda medir. Si queremos el porcentaje de sistemas abiertos, tendremos que sumar una parte de los BSD (FreeBSD, NetBSD, y OpenBSD), varios de los cuales son también abiertos, de modo que al menos un 6.1% se añade al 29,6% de GNU/Linux. En consecuencia, es más que razonable afirmar que una tercera parte de los ordenadores servidores de web usan sistemas operativos abiertos. Hay además diferencias geográficas. Por ejemplo, GNU/Linux supera a Windows en Alemania, Hungría, la República Checa y Polonia.

    Entre los sitios web muy conocidos que utilizan GNU/Linux se encuentran La Casa Blanca, Google, y el proveedor líder de alojamiento web Rackspace. Más sitios web harto conocidos que utilizan otros sistemas abiertos son, por ejemplo Yahoo y Sony de Japón, que usan FreeBSD.

    Si lo que le interesa es la proporción del mercado de servidores de web entre "UNIX y Windows", la puede encontrar también en la siguiente suma. Todos los sistemas operativos Windows se han reunido en un único número, sean Windows 95/98/ME o Windows NT/2000 aunque haya profundas diferencias. Una agrupación análoga de los ordenadores UNIX produce un total del 44,8% para sistemas de tipo UNIX en marzo de 2001, comparado con el 49,2% de Windows.

    Nótese que estas cifras probablemente diferirían mucho si estuviesen basadas en direcciones de web en lugar de direcciones IP; ya que una clara mayoría de direcciones de web se encuentran en sistemas de tipo UNIX. Según Netcraft, "Aunque Apache ejecutándose en varios sistemas UNIX corre en más sitios que Windows, Apache está fundamentalmente instalado en empresas de hosting e ISPs (proveedores de servicios de Internet) que albergan tantos sitios como pueden en un único ordenador para ahorrar costes". De ahí la diferencia en las cifras.

  3. GNU/Linux es el número uno de los sistemas operativos de servidor en Internet contando por nombre de dominio, de acuerdo a un estudio de 1999 de sitios educativos y europeos sobre todo. Es el primer estudio que encontré que revisó la penetración del mercado de GNU/Linux. Se trata de un rastreo de Zoebelein en abril de 1999. Hay que advertir que en este estudio no pretende abarcar a toda Internet. Por ejemplo, omite ".com" y ".net". Sino que es un análisis más específico de sitios contenidos en las bases de datos de RIPE, que cubre Europa, Oriente Medio, y partes de Asia y de Africa, y el dominio de primer nivel .edu , que corresponden a sitios educativos, como universidades y otros centros de enseñanza. En otro sentido este estudio es más amplio al incluirse servidores con al menos ftp, news, o web, no sólo ésta última.

    Se encontró que de todos los sitios estudiados en 1999 el primer sistema operativo era GNU/Linux con un 28,5%. En este caso se hizo el recuento por nombres de dominio, es decir, el texto del nombre que se teclea en la barra de direcciones del navegador, en lugar de por dirección IP, así que esta cuenta es diferente de la de Netcraft.com de junio de 2001. Además, este estudio contó los servidores que proporcionan servicios de ftp y news y no sólo servidores de web.

    Aquí tenemos cómo aparecen en el estudio los diferentes sistemas operativos:

    Cuota de Mercado

    Sistema Operativo

    Composición

    GNU/Linux

    28.5%

    GNU/Linux

    Windows

    24.4%

    Todos los Windows combinados (incluyendo 95, 98, NT)

    Sun

    17.7%

    Sun Solaris o SunOS

    BSD

    15.0%

    Familia BSD (FreeBSD, NetBSD, OpenBSD, BSDI, ...)

    IRIX

    5.3%

    SGI IRIX

    Una porción de la familia BSD es también de código abierto, de modo que el total de sistemas operativos abiertos es incluso mayor; si alrededor de 2/3 de los BSD,s son abiertos, la cuota total de código abierto sería alrededor del 40%. Los defensores de los sistemas de tipo UNIX notarán que la mayoría, alrededor del 66% estaba corriendo sistemas UNIX, mientras que sólo alrededor de un 24% corría variantes de Microsoft Windows.

  4. GNU/Linux es el segundo sistema operativo más vendido en 1999 y 2000, y el de más rápido crecimiento. De acuerdo a la encuesta de junio de 2000 de IDC de licencias de 1999, el 24% de todos los servidores, contando tanto los servidores de Internet como de intranets, instalados en 1999 corrían GNU/Linux. Windows NT fue el primero con el 36%; todos los otros UNIX combinados sumaban el 15%. De nuevo, toda vez que algunos de los UNIX son sistemas abiertos (p.e. FreeBSD, OpenBSD, y NetBSD), el número de sistemas de código abierto es en realidad superior a lo que muestran las cifras de GNU/Linux. Nótese que todo depende de lo que se quiera contar; el 39% de todos los servidores instalados según el estudio eran de tipo UNIX (es decir: 24% + 15%), de forma que los servidores "tipo UNIX" eran en ese momento los primeros en la cuota de mercado instalado, una vez que se cuentan juntos GNU/Linux y UNIX.

    IDC proporcionó un estudio similar el 17 de enero de 2001 titulado "Server Operating Environments: 2000 Year in Review". En el servidor, Windows contó un 41% de las ventas de sistemas operativos para nuevos servidores en el año 2000, creciendo un 20% - pero GNU/Linux contó con un 27% y creció incluso más rápido, un 24%. Otros UNIX destacados tenían un 13%.

    Este tipo de datos y los proporcionados sobre TCO más tarde han provocado exclamaciones como esta del director de TI (Tecnologías de la Información) el 12 de noviembre de 2001: "Linux en el escritorio está demasiado verde para utilizarse, pero en el servidor ya parece imparable".

    Estas medidas no miden todos los sistemas instalados durante el año: algunos sistemas Windows no han sido pagados pues ha sido copiados ilegalmente (lo que vulgarmente se conoce como "pirateo"), y los sistemas abiertos como GNU/Linux y los BSD en ocasiones se descargan e instalan en múltiples sistemas, dado que es legal y puede hacerse libremente.

  5. Un estudio de Evans Data publicado en noviembre de 2001 encontró que el 48,1% de los desarrolladores de todo el mundo y el 39,6% de los norteamericanos planean dirigir la mayoría de sus aplicaciones a GNU/Linux. La edición de noviembre de 2001 de la Serie de Estudios del Desarrollo Internacional de Evans Data informó tras entrevistas personales con más de 400 desarrolladores en representación de alrededor de 70 países, que cuando se les preguntaba sobre el sistema operativo al que planeaban dirigir la mayoría de sus aplicaciones en el próximo año, el 48,1% de los desarrolladores de todo el mundo y el 39,6% de los norteamericanos indicaron a GNU/Linux. Esto es particularmente sorprendente una vez que sólo un año antes, menos de un tercio estaba escribiendo aplicaciones para GNU/Linux. El informe también indicaba que el 37,8% de la comunidad mundial de desarrolladores y el 33,7% de los desarrolladores norteamericanos ya habían escrito aplicaciones para GNU/Linux, y que más de la mitad de ellos indicaban tener suficiente confianza en GNU/Linux para aplicaciones críticas.

  6. Microsoft financió su propia investigación para "demostrar" que GNU/Linux no se estaba usando tan extensamente, pero se ha demostrado que esta investigación estaba gravemente manipulada. Microsoft financió un informe Dataquest del Gartner Group que indicaba que sólo el 8,6% de los servidores vendidos en Estados Unidos durante el tercer trimestre de 2000 estaba basado en Linux. Sin embargo, hay fundadas sospechas de que Microsoft, que pagó la investigación, había incentivado la aparición de números bajos, y estos números difieren claramente de los de la investigación de IDC sobre el mismo tema. Kusnetzky, de IDC, declaró que la explicación más sencilla era que Gartner había utilizado una definición de "vendido" muy limitada: pensaba que el número era "muy razonable" si sólo se miran nuevos servidores con Linux, "pero nuestra investigación indica que esta no es la forma en que la mayoría de los clientes adquiere Linux. Hemos detectado que sólo un 10 o 15 por ciento de la adopción de Linux viene de máquinas preinstaladas... porque por cada copia pagada de Linux, hay una copia gratuíta que puede replicarse 15 veces". Téngase en cuenta que es muy dificil comprar un nuevo ordenador x86 que no tenga un sistema operativo Microsoft instalado. Microsoft establece contratos con los fabricantes de ordenadores para asegurarse de ello. Pero eso no indica que sea ése el sistema que luego se utilice. Gartner indicó que había utilizado entrevistas para descontar este problema, pero los resultados finales de su investigación, cuando se comparan con los hechos conocidos, sugieren que Gartner no tuvo realmente en cuenta ese efecto. Por ejemplo, Gartner indica que las ventas de Linux en el terreno de las supercomputadoras fueron "cero". De hecho, Linux se emplea ampliamente en el campo de cúmulos paralelos en muchos centros científicos, entre ellos alguno muy sonado. Muchos de esos sistemas se ensamblaron "sobre el terreno", demostrando que el método de Gartner de definir una "venta" no parece corresponderse con las instalaciones que están en marcha. El artículo de The Register, "Nadie está usando Linux" y su compañero "90% de Windows" discuten este punto más a fondo. En resumen, la investigación financiada por Microsoft muestra números bajos, pero estos números son muy sospechosos.

  7. En ordenadores cliente para Apple, GNU/Linux llegó en ventas al 80% de las de MacOS, en 1999. De acuerdo al estudio de junio de 2000 de IDC de licencias en 1999 (5,0% para Mac OS, 4,1% para GNU/Linux), ya se venden tantas licencias de cliente de GNU/Linux como de MacOS. Y nadie duda que MacOS es un sistema de cliente.

    De hecho, GNU/Linux es un contendiente relativamente nuevo en el mercado de sistemas operativos de cliente, y tiene una penetración en el mercado relativamente pequeña. Esto no debería ser sorprendente: contra la salud de las aplicaciones de servidor y de desarrollo, GNU/Linux tiene relativamente pocas aplicaciones de cliente abiertas y muchas de estas aplicaciones aún están madurando. Hay aplicaciones de cliente comerciales como el WordPerfect de Corel, pero no son abiertas, y están disponibles también en otras plataformas. Sin aplicaciones de cliente abiertas y fuertes, particularmente una suite ofimática, GNU/Linux no tiene una ventaja definida sobre otras plataformas de cliente. Después de todo, GNU/Linux combinado con una suite ofimática cerrada pierde la libertad y el bajo coste de un sistema completamente abierto, y tiene que competir con los sistemas cerrados establecidos que tienen más aplicaciones utilizables en su entorno. Microsoft Office es esencialmente un monopolio que domina la batalla de las suites ofimáticas, y no está disponible en GNU/Linux. La segunda mayor de las suites ofimáticas es Corel y, dado que Corel es parcialmente propiedad de Microsoft, Corel ya no se puede considerar realmente un competidor suyo. Varias aplicaciones ofimáticas abiertas están ahora mismo madurando, como StarOffice / OpenOffice, y las alternativas incluyen AbiWord, Gnumeric, y la suite KOffice. Además, el coste del cambio a todos estos escritorios además de los problemas de compatibilidad con un monopolio atrincherado hace dificil utilizar nada que no sea Windows y Office en los clientes.

    Sin embargo, a pesar de la debilidad de las aplicaciones de cliente abiertas en varias áreas clave en este momento, un estudio de IDC determió que GNU/Linux capturó un 4% del mercado en 1999. De forma más general, IDC determinó que se vendieron 98,6 millones de sistemas operativos de cliente en 1999, de los cuales Windows 3.x, 95 y 98 sumaron un 66%, Windows NT un 21%, MacOS un 5% y GNU/Linux un 4%.

    Hay algunos indicios sugerentes de que esto puede cambiar en el futuro. Organizaciones, como TrustCommerce y la ciudad de Largo (Florida, EEUU) informan de que han cambiado con éxito a Linux en el escritorio. Será interesante ver si estos números empiezan a cambiar en 2002-2004, cuando las aplicaciones abiertas de cliente anteriormente mencionadas, como AbiWord y OpenOffice, empiecen a rivalizar con sus rivales cerrados tanto en usabilidad como en la funcionalidad que los usuarios necesitan. Hay ya algunas evidencias de que otros han anticipado también este cambio: Richard Thwaite, director de TI de Ford en Europa, indicó en 2001 que su objetivo era un escritorio de código abierto, y que estaba esperando a la industria para una eventual migración. Controla 33.000 escritorios, de modo que éste no sería un movimiento trivial. Se podría argumentar que esto es sólo "un farol" en su negociación con Microsoft. Pero esos "faroles" sólo funcionan si son creíbles.

  8. Las empresas planean incrementar su uso de GNU/Linux. Un estudio de Zona Research encontró que más de la mitad de quienes respondieron en nombre de grandes empresas esperaban incrementar el número de los usuarios de GNU/Linux en sus firmas hasta en un 25%, mientras que cerca de un 20% esperaba incrementarlos en más de un 50%. En pequeñas empresas, más de un tercio indicó que el uso de GNU/Linux debería expandirse un 50%. Los factores más importantes identificados que justificaban estas decisiones eran la estabilidad, el bajo precio, la velocidad de las aplicaciones y la escalabilidad. Aquí están los números:

    Uso esperado de GNU/Linux

    Empresas pequeñas

    Empresas medianas

    Empresas grandes

    Total

    Incremento del 50%

    21,0%

    16%

    19,0%

    19%

    Incremento del 10-25%

    30,5%

    42%

    56,5%

    44%

    Sin crecimiento

    45,5%

    42%

    24,5%

    36%

    Reducción

    3,0%

    0%

    0%

    1%

    Se puede ver más sobre este estudio en "La nueva religión: Linux y el código abierto" (ZDNet) y en el artículo de 5 de febrero de 2001 de InfoWorld "Linux ilumina la empresa: Pero extiende la preocupación entre los vendedores de SO".

  9. Los mil mayores proveedores de servicios de Internet esperan que el uso de GNU/Linux se incremente un 154%, de acuerdo con un estudio de Idaya realizado entre enero y marzo de 2001. Un estudio realizado por Idaya de los mil mayores ISP (Internet Service Provider, Proveedores de Servicios de Internet) encontró que esperan un crecimiento del uso de GNU/Linux de hasta un 154% en 2001. Además, casi dos tercios (64%) de los ISP consideran que el programa de código abierto líder cumple con los estándares exigidos para aplicaciones de nivel empresarial, comparable con los programas cerrados. Idaya produce código abierto, lo que debe tenerse en cuenta como un sesgo potencial.

  10. IBM encontró un incremento del 30% en el número de aplicaciones de nivel empresarial para GNU/Linux en el primer semestre de 2001. Durante algún tiempo, era común decir "No hay suficientes aplicaciones que corran en GNU/Linux" para un uso de nivel empresarial. Sin embargo, IBM encontró que hay más de 2.300 aplicaciones GNU/Linux --un incremento del 30% en 6 meses-- disponibles en IBM y los vendedores independientes de programas (ISV) líderes . Un informe especial sobre informática en redes con Linux para la empresa discute algunos de los punto s fuertes de GNU/Linux, y encuentra muchas cosas positivas que decir sobre GNU/Linux para aplicaciones empresariales.

  11. Un estudio de 2001 mostró que el 46,6% de los profesionales de TI consideraban que sus organizaciones deberían emplear GNU/Linux, una cifra mayor que cualquier otro S.O. excepto Windows. Un estudio de TechRepublic Research titulado Benchmarks, Trends, and Forecasts: Linux Report encontró que "el conocimiento de Linux avanza sorprendentemente rápido" cuando se estudia a los profesionales de TI y se les pregunta confidencialmente si sus organizaciones deberían emplear varios sistemas operativos. Dado el dominio de Windows en el mercado de escritorio, no es sorprendente que la mayoría de ellos considere que sus organizaciones deberían mantener varias versiones de Windows. Para Windows NT, la proporción era un 90 %, para Windows 2000 un 81,6 %. Sin embargo, GNU/Linux aparecía el tercero, con un 46,4 %; ¡alrededor de la mitad de los encuestados respondió que sus organizaciones confiaban ya en su capacidad para asistir con GNU/Linux! Esto sorprende especialmente porque GNU/Linux sustituye a otros productos bien conocidos de ilustres historiales como UNIX (42,1 %), Novell Netware (39,5%), Solaris de Sun (25,7 %) y Apple (13,6 %). TechRepublic sugería que hay varias razones para estos resultados sorprendentemente altos:

    TechRepublic sugiere que los ejecutivos de TI deberían inventariar los conocimientos de sus plantillas, porque podrían descubrir que sus organizaciones ya pueden emplear GNU/Linux, si es que no lo están usando aún.

  12. Sendmail, un programa de código abierto, es el servidor de correo líder. Un estudio realizado entre el 27 de septiembre de 2001 y el 3 de octubre de 2001 por D.J. Bernstein de un millón de direcciónes IP aleatorias se conectó con éxito a 958 servidores SMTP (correo electrónico) --esos servidores también se conocen como agentes de transporte de correo, o MTA,s--. Bernstein descubrió que Sendmail sobre UNIX tenía la mayor cuota de mercado, un 42% de todos los servidores de correo, seguido de Microsoft Exchange en Windows (18%), qmail en UNIX (17%), Ipswitch IMail en Windows (6%), smap en UNIX (2%), Postfix en UNIX (antes conocido como "VMailer", 2%) y Exim en UNIX (1%). Tengase en cuenta que Bernstein implementa uno de los competidores de Sendmail, qmail, de modo que se encuentra "desmotivado" para identificar la cuota de mercado de Sendmail. Qmail no es abierto, porque los derivados de Qmail no se pueden redistribuir libremente; Qmail es "código visible", por lo que algunas personas se equivocan al pensar que Qmail es de código abierto. Sin embargo, Sendmail, Postfix, y Exim son abiertos. Por ello, no sólo el programa líder, Sendmail, es de código abierto, sino que los programas abiertos tienen más del doble de instalaciones que sus más inmediatos competidores.

  13. Una investigación durante el segundo trimestre del año 2000 encontró que el 95% de los servidores de nombres de dominio (DNS) de traducción inversa utilizaban bind, un producto abierto. Internet consiste en muchos componentes de infraestructura mayormente invisibles. Esto incluye a los servidores de nombres de dominios (DNS), que toman los nombres de máquina legibles por las personas, como "yahoo.com", y los traducen en sus direcciones numéricas. Las máquinas públicamente accesibles generalmente también permiten la "traducción inversa", que convierte direcciones numéricas en nombres; por razones históricas, esto se implementó utilizando el dominio oculto "in-addr.arpa". Investigando el dominio in-addr, se puede estudiar el interior de cómo está montada toda Internet. Bill Manning revis&oactue el dominio in-addr y ha hallado que el 95% de todos los servidores de nombres en el segundo trimestre de 2000 que realizan esta importante tarea de la infraestructura de Internet utilizan alguna versión de "bind". Bind es un programa abierto.

Estabilidad

Hay un montón de anécdotas sobre la legendaria estabilidad de los programas de código abierto, pero definitivamente también hay datos cuantitativos que confirman esta impresión generalizada:

  1. Las aplicaciones equivalentes abiertas son más estables de acuerdo a un estudio de 1995. El documento de 1995 "Fuzz Revisited" midió la estabilidad enviando a los programas caracteres aleatorios y determinando cuales resistían las caídas y los bloqueos. Algunos investigadores rechazan este método indicando que esta aproximación es incapaz de encontrar fallos sutiles. Pero los autores del estudio hacen notar que en la práctica funciona, que encuentra muchos errores en programas que ya están en producción, y que es una herramienta muy útil para localizar también los fallos.

    Los programas abiertos tiene mayor estabilidad según estas medidas. Se indica en la sección 2.3.1 que:

    Es también interesante comparar los resultados de probar los sistemas comerciales con los resultados de probar "programas libres" de GNU y Linux. Los siete sistemas comerciales del estudio de 1995 tuvieron un promedio de fallos del 23%, mientras que Linux tuvo un promedio de fallos del 9%, y las utilidades GNU sólo del 6%. Es razonable preguntarse por qué un grupo de programadores diseminados por todo el mundo, sin el apoyo de pruebas formales o estándares de ingeniería de software pueden producir código más estable, al menos según nuestras medidas, que el código producido comercialmente. Incluso si se consideran sólo las que estaban disponibles en GNU o Linux, el promedio de fallos para estos dos sistemas era mejor que en otros.

    Existe evidencia de que las aplicaciones de Windows NT tienen una estabilidad similar a las del código cerrado para UNIX; es decir, menos estable que el software abierto. Un documento posterior, "Un estudio empírico de la robustez de las aplicaciones de Windows NT utilizando pruebas aleatorias", encontró que en el terreno de las aplicaciones gráficas Windows NT, abortaban el 21% de las aplicaciones probadas, fallaban un 24% adicional, y abortaban o fallaban todas las aplicaciones sometidas a prueba cuando las sometían a la recepción de mensajes de Win32 aleatorios. Por tanto, no hay ninguna evidencia de que el código de Windows sea más estable que el de entornos de código abierto según esta medida.

    Aunque este experimento se realizó en 1995, nada indica que los programas cerrados hayan mejorado mucho más que los de código abierto desde entonces. Por el contrario, puesto que desde 1995 se ha incrementado el interés y la participación en el código abierto, resulta que cada vez más "ojos avizores" examinan e incrementan la estabilidad de los programas abiertos.

    Y ahora seamos cuidadosos: el código abierto no es una varita mágina: ¡los programas en fase beta de cualquier tipo siempre contendrán errores!. Sin embargo, el experimento de 1995 midió programas abiertos maduros contra programas cerrados maduros, y los abiertos eran más estables bajo estas medidas.

  2. GNU/Linux es más estable que Windows NT, según un experimento de 10 meses de ZDnet . ZDnet corrió una prueba de 10 meses de estabilidad comparando OpenLinux de Caldera Systems, Red Hat Linux, y Windows NT Server 4.0 con Service Pack 3 de Microsoft. Los tres utilizaron hardware identico de una CPU, y se enviaron en paralelo a cada servidor peticiones de red solicitando servicios de estándares de internet, de archivos y de impresión. El resultado: NT abortaba un promedio de una vez cada seis semanas, llevandose alrededor de 30 minutos para corregirlo; no es un mal promedio, pero mientras tanto, ningún servidor GNU/Linux cayó. Este artículo de Zdnet también hace un buen trabajo al identificar las debilidades de GNU/Linux, es decir las aplicaciones de escritorio y el multiprocesamiento simétrico paralelo (SMP) masivo.

  3. GNU/Linux es más estable que Windows NT, de acuerdo a un experimento de un año de Bloor Research. Bloor Research tuvo ambos sistemas operativos corriendo en máquinas Pentium relativamente antíguas. En el intervalo de un año, GNU/Linux abortó una vez a causa de un fallo de hardware (problemas con el disco), que provocó 4 horas de reparación, dando una disponibilidad medida del 99,95 %. Windows NT abortó 68 veces, causadas por problemas de hardware (discos), memoria (26 veces), mantenimiento de ficheros (8 veces), y cierta cantidad de problemas aislados (33 veces). Todo ello necesitó 65 horas para corregirse, dando una disponibilidad del 99,26 %. Es intrigante que el único problema de GNU/Linux y bastantes de los problemas de Windows NT estaban relacionados con el hardware; se podría argumentar que el hardware de que disponía Windows era peor, o que GNU/Linux hizo un mejor trabajo evitando o conteniendo los fallos de hardware. En cualquier caso, los fallos del mantenimiento de ficheros se pueden asignar a Windows, y los "problemas aislados" parecen ser causados también por Windows, indicando que GNU/Linux es más estable que Windows. Gnet lo resumió diciendo "el claro vencedor fue Linux".

  4. Las direcciones de Internet que utilizan Microsoft IIS como servidor de web pasan más del doble de tiempo fuera de servicio en promedio que las direcciones que utilizan el programa Apache, según una evaluación suiza de tres meses. Esos son los resultados de un análisis de Syscontrol AG sobre tiempo de funcionamiento de sitios de web, anunciado el 7 de febrero de 2000. Midieron más de cien direcciones suizas populares durante un período de tres meses, comprobando desde 4 direcciones diferentes cada cinco minutos. ¡Hubiera sido interesante saber qué hubiese ocurrido con una muestra mayor!. Se puede ver su informe en alemán, o una traducción de Babelfish automática del informe al inglés. Aquí está su juego completo de datos publicados sobre "tiempo de caida promedio por hora y por tipo de servidor", más un promedio de 3 meses que yo he medido por mis propios medios:

    Tiempo de caída

    Apache

    Microsoft

    Netscape

    Otros

    Septiembre

    5,21

    10,41

    3,85

    8,72

    Octubre

    2,66

    8,39

    2,80

    12,05

    Noviembre

    1,83

    14,28

    3,39

    6,85

    Promedio

    3,23

    11,03

    3,35

    9,21

    No es difícil darse cuenta de que Apache, el servidor de web abierto, tiene los mejores resultados en el promedio de los tres meses, y con mejores resultados en el tiempo, también. Especialmente, el peor mes de Apache es mejor que el mejor mes de Microsoft. Creo que la diferencia entre Apache y Netscape es estadísticamente insignificante, pero también muestra que la solución abierta libremente disponible, Apache, muestra una estabilidad al menos tan buena como la más estable de las soluciones cerradas. El informe también hace notar que esto no debe ser sólo consecuencia de la estabilidad de los programas, puesto que varias direcciones Microsoft IIS muestran pequeñas interrupciones en el mismo período del día, lo que sugiere que se están efectuando rearranques regulares. Sin embargo, esto aún mantiene la cuestión: ¿por qué las direcciones con IIS exigen muchos más de estos rearranques regulares que las direcciones con Apache?. Cada parada, incluso si es planeada, provoca una interrupción del servicio y para direcciones dedicadas al comercio electrónico, una potencial pérdida de ventas.

  5. De acuerdo con un estudio separado de útima hora de Netcraft, al código abierto le va muy bien: según mostraba el 3 de agosto de 2001, de las 50 direcciones con mayor tiempo de funcionamiento continuado, el 92% utiliza Apache, y el 50% utiliza un sistema operativo abierto. Netcraft mantiene un ranking de las 50 direcciones más solicitadas con los períodos más largos de funcionamiento continuado en http://uptime.netcraft.com. Estudiando el informe del 3 de agosto de 2001, observo que el 92% (46/50) de estas direcciones utilizan Apache, uno de los servidores de web era desconocido, y los otros tres no eran Apache. De estos tres, sólo uno informaba ser Microsoft IIS, y aun éste era sospechoso, ya que indicaba que sus sistema operativo era BSD/OS. Esta inconsistencia aparente puede explicarse de varias maneras, por ejemplo por la existencia de una barrera BSD/OS que "enmascara" al servidor de web IIS, o bien porque el servidor de web está ocultando su verdadera identidad para confundir a los atacantes. En esta muestra, el 50% (25/50), corrían en un sistema operativo de código abierto, y sólo los sistemas operativos de tipo UNIX tenían estos períodos de funcionamiento continuado mayores. Ningún sistema Windows aparece en esta clasificación (N. del T. Se pueden observar resultados muy parecidos, en el momento de traducir este mismo documento, si vemos la situación a fecha de hoy).

    Como ocurre con todos los estudios, éste tiene una debilidad, como se muestra en la colección de preguntas frecuentes de Netcraft Uptime. Sus técnicas para identificar servidores de web y sistemas operativos pueden burlarse. Sólo se incluyen en el estudio los sistemas para los que Netcraft haya enviado muchas peticiones, y ésos no son "todos los sitios del mundo". Cada dirección a la que se lanza el formulario de consulta "qué está corriendo", se añade al conjunto de direcciones que se muestrean rutinariamente, y Netcraft no monitoriza rutinariamente los 22 millones de direcciones que se conocen, por razones de rendimiento. Muchos sistemas operativos no proporcionan información actualizada y por ello no se pueden incluir, y esto incluye a AIX, AS/400, Compaq Tru64, DG/UX, MacOS, NetWare, NT3/Windows 95, NT4/Windows 98, OS/2, OS/390, UNIX de SCO, NEWS-OS de Sony, SunOS 4, y VM. Por ello, este contador de funcionamiento continuado sólo puede incluir sistemas que corren BSD/OS, FreeBSD (pero no la configuración por omisión en versiones 3 y posteriores), las versiones recientes de HP-UX, IRIX, núcleo de GNU/Linux 2.1 o posterior excepto en sistemas basados en el procesador Alpha, MacOS X, las versiones recientes de NetBSD/OpenBSD, Solaris 2.6 y posteriores y Windows 2000. Obsérvese que los sistemas Windows NT no se pueden incluir en este estudio, porque no indican su período de funcionamiento. Pero sí se incluyen los sistemas Windows 2000. De nuevo, ningún sistema Windows entra en los 50 mejores períodos de funcionamiento continuado en esta muestra. Obsérverse que HP-UX, muchas versiones de GNU/Linux, Solaris y las versiones recientes de FreeBSD vuelven a cero tras 497 días, exactamente como si la máquina se hubiese rearrancado en ese preciso momento. Por ello no se puede ver un sistema HP-UX, la mayoría de los GNU/Linux, o Solaris con medidas de funcionamiento continuado superiores a 497 días, y de hecho sus períodos de funcionamiento pueden estar equivocados; ya que pueden estar levantados durante un largo intervalo de tiempo, pero no decirlo. Aún asi, este sistema compara Windows 2000, GNU/Linux (habitualmente hasta los 497 días), FreeBSD y varios sistemas operativos más, y una gran cantidad de servidores de web, y el código abierto sale bastante bien librado.

Por supuesto, hay muchas anécdotas sobre la estabilidad de Windows respecto a la de UNIX. Por ejemplo, el programa "Smart Ship" de la Marina de los USA, causó un fallo completo todo el buque USS Yorktown en septiembre de 1997. Anthony DiGiorgio (un whistle-blower -literalmente "soplador de silbato", equivalente al cornetín de órdenes español-) indicó que Windows era "el origen de los problemas de los ordenadores del Yorktown". Ron Redman, diputado director técnico de la División de Introducción de la Flota de la Oficina Ejecutiva del Programa Aegis, dijo que "han habido numerosos fallos de programa asociados con [Windows] NT a bordo del Yorktown". Redman también dijo que "a causa de la política, nos han forzado a hacer cosas que sin política no habríamos hecho, como Windows NT... De haber sido por mí, probáblemente no habría utilizado Windows NT en esta aplicación particular. De haber utilizado UNIX, tendríamos un sistema con menos tendencia a caer".

Un problema con las medidas de estabilidad es que se llevan un largo período de tiempo de recogida de datos en circunstancias de estabilidad de la vida real. Sin embargo, la evidencia disponible sugiere que el código abierto tiene un significativo éxito en materia de estabilidad.

Rendimiento

La comparación entre el rendimiento de GNU/Linux y Microsoft Windows en hardware equivalente tiene una historia nutrida de afirmaciones contradictorias y resultados divergentes basados en puntos de partida distintos. Creo que el código abierto ha demostrado que es cuando menos suficientemente competitivo, y en muchas circunstancias incluso gana la competición.

Las comparaciones de rendimiento son muy sensibles a las suposiciones previas y al ambiente, de modo que la mejor comparación es la que realice usted mismo para el entorno que desee. A falta de la cual no debería utilizar medidas sesgadas, porque es demasado fácil crearlas.

En primer lugar, hay unos pocos estudios recientes que sugieren que algunos sistemas abiertos baten a sus competidores cerrados en al menos algunas circunstancias:

  1. En el PC Magazine de noviembre de 2001 se publicó que habían medido el rendimiento de los servidores de ficheros, y descubierto que Linux con Samba superaba significativamente a Windows 2000. El artículo de PC Magazine Pruebas de rendimiento: volumen servido y tiempo de respuesta de un servidor de ficheros mostró que Linux con Samba superaba significativamente a Windows 2000 Server cuando se utiliza como servidor de ficheros para los protocolos de red de ficheros cerrados de Microsoft. Esto era cierto sin mirar el número de clientes simultáneos. Probaron hasta con 30 clientes. Y era cierto en el intervalo completo de máquinas que comprobaron: Pentium II/233MHz con 128MB RAM, Pentium III/550MHz con 256MB RAM, y Pentium III/1GHz con 512MB RAM, donde un MB equivale a 2^20 bytes. Además, conforme la máquina era más potente, la diferencia se volvía más pronunciada. En el hardware más rápido, mientras se manipulaba el mayor número de clientes, el volumen de salida de GNU/Linux era alrededor de 130 MB/sec, contra los 78 MB/sec de Microsoft. GNU/Linux fue un 78% más rápido.

  2. En pruebas de rendimiento de la revista Sys Admin, GNU/Linux batió a Solaris en Intel, Windows 2000, y FreeBSD. El artículo ``¿Qué SO es más rápido para aplicaciones de red de alto rendimiento?'' en la edición de julio de 2001 de la revista Sys Admin examinó arquitecturas de alto rendimiento, y encontró que GNU/Linux vencía esta competición cuando se le comparaba con Solaris en Intel, el sistema abierto FreeBSD, y Windows 2000. Intencionadamente corrían los sistemas "conforme salen de la caja", sin puesta a punto, excepto para el incremento de conexiones TCP/IP simultáneas, imprescindible para probar las aplicaciones asíncronas y multihilo. Utilizaron la última versión de cada sistema operativo en exactamente la misma máquina. Realizaron un informe por sistema operativo de los resultados de dos pruebas de rendimiento diferentes.

    Los desarrolladores de FreeBSD criticaron eston resultados, notando que FreeBSD por defecto pone énfasis en la estabilidad, no en la velocidad, y que ellos esperaban que cualquiera con una necesidad de rendimiento significativa, primero habría realizado un ajuste. Por ello, Sys Admin rehizo las pruebas de FreeBSD tras ajustar FreeBSD. Un cambio que hicieron fue cambiar a montaje "asíncrono", lo cual hace más rápido el sistema, aunque incrementa el riesgo de pérdida de datos en caso de fallo de alimentación. Este es el defecto en GNU/Linux y es muy fácil de implementar en FreeBSD, de modo que era una modificación muy pequeña y razonable. Sin embargo, también realizaron muchos otros cambios, por ejemplo encontraron y compilaron 17 parches de FreeBSD y utilizaron varios comando de ajuste. Los otros sistemas operativos no sufrieron un cambio a "ajustados" como éste, de modo que comparar sistemas operativos sin ajustar con un FreeBSD ajustado no es realmente correcto.

    En cualquier caso, aquí están las dos pruebas de rendimiento:

    1. Su prueba "de mundo real" medía cuán rápidamente podían enviar correos electrónicos utilizando sus servidores de envío de correo , MailEngine. Hasta 100 envíos simultáneos no había diferencias, pero conforme se incrementaba el número, los sistemas empezaron a mostrar diferencias significativas en su velocidad de envío de correos por hora. Hacia los 500 envíos simultáneos, GNU/Linux era claramente superior a todos excepto el sistema FreeBSD ajustado, y GNU/Linux se mantuvo en la cumbre. El FreeBSD ajustado tenía rendimientos similares a GNU/Linux cuando se corrían mil o menos envíos simultáneos, pero FreeBSD llegó a un pico alrededor de las 1.000-1.500 conexiones simultáneas, con un suave declive no sufrido por GNU/Linux, y el FreeBSD ajustado tuvo problemas más allá de las 3.000 conexiones simultáneas. Hacia las 1.500 conexiones simultáneas, GNU/Linux estaba enviando 1,3 millones de correos por hora, mientras Solaris manejaba aproximadamente 1 millón, y Windows 2000 y el FreeBSD ajustado estaban sobre los 0,9 millones.
    2. En sus "pruebas de E/S a disco", crearon, escribieron y leyeron 10.000 ficheros de tamaño idéntico en un único directorio, variando el tamaño de los ejemplares de los ficheros. Aquí Solaris fue el más lento, con el FreeBSD ajustado como segundo más lento. FreeBSD ajustado, Windows 2000 y GNU/Linux tenían velocidades similares en los tamaños de ficheros más pequeños. En algunos casos el FreeBSD ajustado era más rápido, como en los tamaños de 8 k y 16 k. Pero cuando los tamaños de los ficheros alcanzaron los 64 k o 128 k, los sistemas operativos empezaron a mostrar diferencias de rendimiento significativas: GNU/Linux fue el más rápido, después Windows 2000, y luego FreeBSD. En 128 kb, FreBSD era un 16 % peor que Windows 2000 y un 39 % peor que GNU/Linux: todos resultaron más rápidos que FreeBSD sin ajustar y Solaris. Cuando se totalizaron esos tiempos a lo largo de todos los ficheros, los resultados eran GNU/Linux: 542 segundos, Windows 2000: 613 segundos, FreeBSD ajustado, 630 segundos, FreeBSD sin ajustar 2398 segudos, y Solaris 3990 segundos.

  3. GNU/Linux con TUX ha producido mejores valores de SPEC que Windows/IIS en varios casos, incluso con configuraciones de disco inferiores. Una organización que intenta desarrollar comparaciones no sesgadas es el SPEC Consortium, que desarrolla y mantiene una serie completa de comparaciones. La idea es probar Microsoft Windows contra GNU/Linux, comparando los resultados de SPECweb99, que mide el rendimiento de servidores de web, en un hardware idéntico si ambos han de realizar la misma cantidad de esfuerzo de optimización del rendimento. Sin embargo, las cosas no suelen ser tan simples: raramente disponen de las mismas plataformas hardware básicas para probar ambos sistemas operativos, e incluso cuando eso ocurre, como el 13 de julio de 2001, no se ha probado exactamente configuraciones idénticas. Difieren por ejemplo en utilizar un número diferente de discos, o incluso algunos discos duros más rápidos. Utilizando los resultados disponibles el 13 de julio de 2001, había tres configuraciones, todas de Dell, que corrían con GNU/Linux utilizando el servidor/acelerador web TUX, y Windows utilizando IIS, exactamente en el mismo hardware subyacente. Aquí están los resultados del SPECweb99 de 13 de julio de 2001, donde mayor es mejor, anotando las diferencias de configuración:

    Sistema

    Resultado de SPEC para Windows

    Resultado de SPEC para Linux

    Dell PowerEdge 4400/800, 2 Pentium III Xeon a 800MHz

    1.060 (IIS 5.0, 1 controlador de red)

    2.200 (TUX 1.0, 2 controladores de red)

    Dell PowerEdge 6400/700, 4 Pentium III Xeon a 700MHz

    1.598 (IIS 5.0, 7 discos de 9GB a 10KRPM)

    4.200 (TUX 1.0, 5 discos de 9GB a 10KRPM)

    Dell PowerEdge 8450/700, 8 Pentium III Xeon a 700MHz

    7.300/NC (IIS 5.0, 1 disco de 9Gb a 10KRPM y 8 discos de 16Gb a 15KRPM)
    luego 8001 (IIS 5.0, 7 discos de 9Gb a 10KRPM y 1 disco de 18Gb a 15KRPM)

    7.500 (TUX 2.0, 5 discos de 9Gb a 10KRPM)

    La primera fila, correspondiente al PowerEdge 4400/800, realmente no prueba nada. El sistema IIS tiene menos rendimiento, pero sólo tiene un controlador de red mientras que el sistema TUX tiene dos, de modo que si el sistema TUX tiene mejor rendimiento, podría ser simplemente porque puede utilizar dos conexiones de red.

    El segundo registro, el PowerEdge 6400/700, ciertamente sugiere que GNU/Linux más TUX realmente es mucho mejor - el sistema IIS tiene dos discos más disponibles, lo cual debería incrementar el rendimiento. Pero el sistema TUX tiene más del doble del rendimiento del sistema IIS.

    El último registro para el PowerEdge 8450/700 es incluso más complejo. Primero, los discos son diferentes - el sistema con IIS tiene al menos un disco que gira más rápido que los que dispone el sistema con TUX, lo que debería dar al sistema con IIS una ventaja de rendimiento, dada la velocidad de transferencia ciertamente mayor. Además, también tiene más discos, dando de nuevo otra ventaja de rendimiento al sistema con IIS. Cuando originalmente reuní los datos de esta tabla, mostrando todos los datos públicamente disponibles en abril de 2001, cubriendo desde el tercer trimestre de 1999 hasta el primero de 2001, IIS 5.0 en un Dell PowerEdge 8450/700 con 8 procesadores tenía un valor de SPECweb99 de 7.300. Desde ese momento, Microsoft cambió la disponibilidad de Microsoft SWC 3.0, y según las reglas de SPECweb99, estos datos hacen que los resultados de la prueba sean "no cumplidores" (NC). Esto es sutil: no es que la prueba misma fuera inválida, es que Microsoft cambió lo que se podía utilizar, y utilizó las propias reglas del SPEC Consortium para invalidar la prueba, probablemente porque los resultados de la prueba no le eran deseables. Se realizó entonces una nueva prueba, con aun otra configuración de discos, en la cual IIS produjo un valor de 8.001. Sin embargo, estas dos pruebas se realizaron en circunstancias de mejor hardware - y en una circunstancia de mejor hardware no fue mejor.

    De tal forma que en estas configuraciones, el sistema GNU/Linux más TUX aún en un inferior hardware ganó en rendimiento. Puesto que se pueden invocar otros factores, es difícil juzgar - hay situaciones patológicas en las que un "mejor hardware" puede producir un peor rendimiento, o puede haber otro factor no localizado que tenga un efecto significativo. Es deseable que en el futuro haya otras pruebas cara a cara en varias configuraciones idénticas.

    Observese que TUX está indicado para utilizarse como un "acelerador web" para cualquier circunstancia, donde manipula rápidamente las peticiones simples y pasa las consultas más complejas a otro servidor, habitualmente Apache. He seleccionado las líneas de TUX porque suponen las medidas de rendimiento más recientes que tengo disponibles. Desde ese momento, no tengo medidas SPECweb99 u otras medidas de rendimiento recientes para Apache en GNU/Linux o para Apache y TUX juntos. Tampoco tengo medidas de estabilidad de TUX. Espero que tales medidas aparecerán en el futuro.

  4. Comparaciones de bajo nivel de IBM encontraron que GNU/Linux tenía mejor rendimiento de tuberías (pipes) que Windows. Ed Bradford, director del Microsoft Premier Support en IBM Software group, publicó en octubre de 2001 el estudio Tuberías en Linux, Windows 2000, y Windows XP. En este estudio, examinó el rendimiento de las tuberías, un mecanismo de bajo nivel habitual para la comunicación entre procesos de programas. Encontró que las tuberías en Red Hat 7.1 con núcleo Linux 2.4.2 tenían un intervalo de pico de E/S de alrededor de 700MB/segundo, con un estado estable de alrededor de 100 MB/segundo para tamaños de bloque muy grandes. En contraste, Windows 2000 tenía un pico de 500 MB/segundo, con un estado estable para bloques grandes de 80 MB/segundo. Windows XP, en su versión de evaluación, era especialmente desafortunado: su intervalo de pico era de sólo 120 MB/segundo, con un estado estable de 80 MB/segundo, todos en la misma plataforma y todos corriendo una interfaz gráfica de usuario.

  5. InfoWorld descubrió que Windows XP es significativamente más lento que Windows 2000. El número de 29 de octubre de 2001de InfoWorld incluye el artículo "Esperando a Windows XP" (pag. 53-57), en el que compararon Windows XP con el código final release, con Windows 2000 con Service Pack 2, utilizando Benchmark Studio Professional de CSA Research en diferentes escenarios. Véase su artículo para obtener más detalles y las medidas cuantitativas. Encontraron que XP era siempre el de peor rendimiento, y que los resultados eran peores conforme se incrementaba la carga. Por ejemplo, el número de segundos requeridos para Windows 2000 contra Windows XP en un Pentium 4 a 1.5 Ghz para diferentes escenarios utilizando la interfaz de usuario por omisión era como sigue: 29,13 s contra 39,43, para la línea de referencia, 35,05 contra 43,30 para el escenario 1, 42,12 contra 56,76 para el escenario 2, y 53,60 contra 81,70 para el escenario 3. Totalizando cada situación, lo que se hace a veces para realizar cada comparación, uno detrás de otro, la situación es de 159,9 contra 220,52. Es decir, Windows XP es un 38% más lento que Windows 2000. En resumen, InfoWorld indicó que "los resultados de nuestra comparación muestran que Windows XP es significativamente más lento que Windows 2000, especialmente en situaciones de carga importante. A menos que la inversión en nuevo hardware para atender la demanda de los usuarios sea una opción, las compañías deberían mantenerse con Windows 2000". En resumen, Windows XP ya ha salido, pero no ha reducido el liderazgo de Linux en rendimiento, al menos en una buena parte de las circunstancias.

Todos los sistemas operativos en situación de desarrollo activo están en una constante batalla para conseguir incrementos de rendimiento sobre sus rivales. La historia de las comparaciones entre Windows y GNU/Linux nos ayuda a colocar esta rivalidad en perspectiva.

  1. Ziff-Davis encontró que GNU/Linux con Apache vencía a Windows NT 4.0 con IIS por un 16% a un 50% dependiendo de la distribución de GNU/Linux. Ziff-Davis comparó el rendimiento de Linux y Windows NT sirviendo web. Encontraron que "Linux con Apache vence a NT 4.0 con IIS, sin despeinarse. SuSE, el Linux menos efectivo, es un 16% más rápido que IIS, y Caldera, el líder, es un 50% más rápido."

  2. Mindcraft publicó un informe en abril de 1999 que afirmaba que Microsoft Windows NT Server 4.0 es 2,5 veces más rápido que Linux con núcleo 2.2 como servidor de ficheros, y 3,7 veces más rápido como servidor de web cuando se corre en un sistema SMP de 4 CPUs. Varias personas y organizaciones, como Linux Weekly News (LWN) y Dan Kegel, identificaron graves problemas en este estudio. Un punto obvio era que NT había sido especialmente puesto a punto por expertos en NT de Microsoft, mientras que GNU/Linux no fue ajustado en absoluto. Otro aspecto que es no se consideró la relación precio/prestaciones, ni se mantuvo constante el gasto total: para una misma cantidad de dinero, el sistema GNU/Linux debería tener mejor hardware. Mindcraft argumentaba que habían pedido ayuda, pero no utilizaron los métodos documentados para obtenerla, ni contrataron asistencia técnica. Mucha gente se mostró especialmente ofendida con el hecho de que, aunque este estudio fue pagado por Microsoft, uno de los contendientes, y orientado a su beneficio, ni el anuncio inicial de Mindcraft ni su documento hicieron ninguna mención a este conflicto de intereses, y se podría alegar sencillamente que sus configuraciones se diseñaron especialmente para poner a GNU/Linux en desventaja. Sus configuraciones eran en cierta forma extrañas: daban por supuesto que todas las páginas web eran estáticas, cuando típicamente los grandes sitios web tienden a utilizar muchas páginas web generadas dinámicamente, y que había cien o más clientes conectados a través de líneas 100baseT. En 1999 una situación más típica debería ser que una mayoría de los clientes utilizase módems más lentos, de 28,8 ó 56 Kbps.

    Sin embargo, un examen cuidadoso de la comparación encontró algunos problemas auténticos en el núcleo. Estos problemas incluían un error de TCP, la ausencia de semántica "wake one", y cuellos de botella en SMP. Vea las páginas de Dan Kegel para conseguir más información. Los desarrolladores del núcleo de Linux empezaron a trabajar en las debilidades identificadas en la comparación.

  3. PC Week confirmó que Windows mostraba ser mejor en esta configuración menos probable. El 30 de junio de 1999, Mindcraft publicó su Open Benchmark junto con PC Week. Aunque no elimine el sesgo impreso por Mindcraft, fue una muestra convincente de que había problemas reales en el núcleo de Linux y en Apache que hacían a GNU/Linux un producto de peor rendimiento en esta configuración improbable, o sea servir muchas páginas web estáticas a muchos clientes con conexiones de alta velocidad. Nótese que esta configuración era considerablemente diferente de la de Ziff-Davis, de modo que las comparaciones no son necesariamente contrapuestas: se trata simplemente de que unas suposiciones diferentes pueden producir resultados diferentes, como hemos indicado antes.

  4. Network Computing encontró que GNU/Linux con Samba corría esencialemente a la misma velocidad que Windows para servir ficheros. En su artículo "Es la Hora de Linux'', Network Computing comparó Red Hat Linux v5.2 corriendo Samba 2.0.3 con Microsoft Windows NT Server Enterprise Edition en un HP NetServer LPr basado en Pentium II, cargando la máquina con múltiples lecturas y escrituras de ficheros pequeños, medianos y grandes a lo largo de varias horas.

    Para el servicio de ficheros, descubrieron sólo "diferencias de rendimiento despreciables entre los dos para cargas de trabajo de promedio... [y] dependiento del grado de ajuste realizado en cada instalación, cualquiera de los dos sistemas podía sobrepasar al otro ligeramente en términos de rendimiento en la compartición de ficheros". Red Hat Linux sobrepasó ligeramente a NT en escrituras de ficheros, mientras que NT superó a Red Hat Linux en lecturas masivas. Obsérvese que esta configuración estaba inicialmente limitada por la capacidad de la red: "en ningún momento fuimos capaces de superar el 50% de utilización de la CPU, simplemente porque la instalación de red, full dúplex 100 baseT no nos lo permitió".

    También anotaron que "el examen de la diferencia de costo entre las licencias de los dos sistemas arroja una luz enteramente nueva a esta prueba... el potencial de ahorro sólo en licencias debería abrirnos los ojos. Por ejemplo, basándosos en el precio medio de mercado para una licencia de cliente de Windows NT de 30$ (dólares estadounidenses), 100 licencias deberían costar alrededor de 3.000$, más el coste de una licencia de NT server, aproximadamente 600$. Compare ésto con el precio de un CD de Red Hat Linux, o quizá incluso a una descarga gratuita, y el ahorro empieza a aproximarse al coste de un servidor de trabajo en grupo de bajo nivel. Suba a unos pocos cientos miles de clientes y empezará a ver ahorros astronómicos". Vea esta sección del documeto en coste total de propiedad.

  5. La revista alemana c't encontró que los sitios web con NT eran mejores con conexiones de red duales y contenido estático, mientras que GNU/Linux era mejor para sitios con contenido dinámico y conexiones sencillas. Su artículo Dobles mixtos: Linux y NT como servidores de web y sus mejores entornos examinó Windows NT con IIS contra GNU/Linux con núcleo 2.2.9 y Apache en una máquina con cuatro CPUs Pentium II Xeon. Hallaron que el mejor rendimiento dependía de la situación, lo que a estas alturas no es una sorpresa. Si el servidor de web servía fundamentalmente páginas estáticas a través de dos tarjetas de red de alto rendimiento, el rendimiento de NT era superior. Por contra, también notaron que en sitios web sofisticados esto no es aplicable, porque estos sitios tienen a tener contenidos fundamentalmente dinámicos, y que pocos sitios tienes este tipo de conexiones duales. Cuando sólo se tiene utilizable una tarjeta de red, GNU/Linux generalmente tiene ventaja. Vea sus documentos para obtener más información.

  6. Los esfuerzos combinados de los desarrolladores de Linux parecen haber dado resultado. En junio de 2000, Dell midió los valores de SPECweb99 indicados antes.

Hay otras comparaciones disponibles, pero las hemos reunido en varios grupos:

  1. Un conjunto más reciente de artículos de eWeek de junio de 2001, muestran algunos números de rendimiento que saltan a la vista, para GNU/Linux con TUX. Sin embargo, lo comparan con Microsoft IIS, y no incluyen el SWC de Microsoft (Scaleable Web Cache, cache web escalable), que fue la respuesta de Microsoft a TUX, y en mi opinión, omitirlo hace la comparativa inadecuada. Puede leer más en ``TUX: Construido para la Velocidad'', "Smart Coding pays off Big", y Puntualizaciones detalladas de Kegel.

  2. El artículo de ZDNet ¡Toma ya! Linux bate a MS en pruebas de rendimiento, clamó a toque de trompetas que GNU/Linux era el líder de rendimientos en mayo de 2001 en la prueba de apoyo a la decisión TCP-H (base de datos, categoría "100Gb"). Sin embargo, estos resultados no se deben tomar en serio: el hardware de Linux era más poderoso que el de su competidor Windows 2000. Francamente, lo más sorprendente de esta puntuación máxima, que puede explicarse fácilmente por la diferencia de hardware, es su simple medición: tradicionalmente sólo se informaban en esta categoría los números de Microsoft. Para más información, vea los resultados de TPC.

Kegel proporciona más información sobre varias pruebas en NT vs. Linux Server Benchmark Comparisons, SPEC, y dmoz entry on benchmarking.

Recuerde que en las pruebas comparaciones todo depende de la configuración de las suposiciones de partida. Muchos sistemas están limitados por el ancho de banda de la red: en estas condiciones, montar un ordenador más rápido no nos ayudará en absoluto. Incluso cuando la limitación no es el ancho de banda, ni Windows ni GNU/Linux trabajan bien en configuraciones de multiproceso simétrico a gran escala (SMP): si usted quiere CPUs de 64 vías con memoria compartida, ninguno de ellos es apropiado. Sun Solaris, que no es abierto, trabaja mucho mejor en esta configuración. Por otra parte, si se desea memoria distribuida masiva, no compartida, GNU/Linux lo hace bastante bien, con lo que se pueden comprar más CPUs para una cantidad de dinero dada. Si la distribución masiva no le puede ayudar y necesita usted muy alto rendimiento, Windows ni siquiera está llega a la línea de salida: hoy Windows 2000 sólo corre en procesadores compatibles con x86 de Intel, mientras que GNU/Linux corre en procesadores de mucho mayor rendimiento, además de los x86.

Escalabilidad

Lo que nos lleva al asunto de la escalabilidad, un término sencillo con múltiples aspectos:

  1. GNU/Linux y NetBSD, ambos abiertos, admiten una variedad de plataformas de hardware con distinto rendimiento mayor que cualquier otro sistema operativo. Mucha gente entiende por "escalabilidad" la respuesta a la pregunta: "¿puedes utilizar el mismo sistema informático tanto para pequeñas instalaciones como para grandes proyectos?". Lo que nos da una idea de que le gustaría arrancar con un sistema modesto, pero tener la posibilidad de hacer crecer el sistema conforme crece la demanda sin costosas modificaciones. En ese terreno el código abierto es invencible, ya que muchas personas pueden identificar los problemas de escalabilidad, y que el código fuente se puede optimizar para su plataforma, la escalabilidad de muchos productos abiertos es asombrosa. Si nos fijamos específicamente en GNU/Linux, veremos que funciona en PDAs, incluyendo la agenda VR3, en hardware anticuado que ya no será necesario desechar, en hardware de PC normal moderno, sobre una docena de chipsets diferentes y no sólo en Intel x86s, en mainframes, en clusters masivos, y en un cierto número de superordenadores. GNU/Linux se puede utilizar para procesamiento paralelo masivo: una aproximación a esta forma de trabajar es la arquitectura Beowulf. Sandia's "CPlant" corre en un conjunto de sistemas que funcionan con GNU/Linux, y era el cuadragésimo segundo ordenador más poderoso del mundo en junio de 2001 (número 42 en la lista TOP 500 Supercomputer list, de junio de 2001). Hay incluso un prototipo de implementación de GNU/linux en un reloj de muñeca, y GNU/Linux corre en un gran número de chips de CPUs diferentes, incluyendo los x86, Intel Itanium, ARM, Alpha, IBM AS/400 de gama media, SPARC, MIPS, 68k, y Power PC. Otro sistema operativo que ampliamente escala a muchas otras plataformas es NetBSD.

    De esta forma, se puede comprar un sistema GNU/Linux o NetBSD, y hacerlo crecer tanto como se necesite; además se puede reemplazar hardware pequeño con procesadores masivamente paralelos o de velocidad extremadamente alta, o arquitecturas de CPU muy diferentes sin cambiar el sistema operativo. Windows CE/ME/NT escala en plataformas pequeñas, pero no a las grandes, y sólo trabaja en sistemas x86. Muchos sistemas UNIX, como Solaris, escalan bien en grandes plataformas específicas, pero no en plataformas pequeñas o distribuidas. Esos sistemas abiertos son algunos de los programas más escalables del mundo.

  2. Los procesos de desarrollo de código abierto pueden escalar al desarrollo de grandes sistemas informáticos. Hubo un tiempo en el que era común preguntarse si el proceso abierto en sí mismo era "escalable", es decir, si los procesos de código abierto podrían realmente desarrollar sistemas a gran escala. En 1976, Bill Gates, en su "Carta abierta a los aficionados", preguntaba retóricamente "¿Quién puede realizar un esfuerzo profesional para nada?. ¿Qué aficionado puede dedicar tres años-hombre a programar, encontrar errores, documentar su producto, y distribuirlo gratis?". Suponía que estas preguntas no tenían respuesta, pero se equivocaba. Véase mi informe sobre estimaciones del tamaño de GNU/Linux. Para Red Hat Linux 6.2, hallé que el tamaño rondaba los 17 millones de líneas de código fuente (SLOC). Una implementación tradicional de esta carga de trabajo, habría tomado 4.500 años-hombre y alrededor de 600 millones de dólares. Para Red Hat Linux 7.1, encontré que tenía sobre los 30 millones de SLOC, lo que represetan 8.000 años-hombre de trabajo ó un millardo de dólares. La mayor parte de los desarrolladores se adscribe al principio de diseño de que los componentes deberían dividirse en componentes más pequeños donde sea razonable - una prática que se aplica también a GNU/Linux - pero algunos de los componentes no eras fácilmente divisibles, y por ello algunos de los componentes eran muy grandes en sí mismos. Por ejemplo, los más de 2 millones de líneas de código para el núcleo, mayormente en los controladores de dispositivos. De forma que ya no es razonable argumentar que el código abierto no puede escalar a sistemas grandes: puede hacerlo claramente.

Seguridad

La medida cuantitativa de la seguridad es muy difícil. Sin embargo, hay unos pocos intentos de hacerlo, y sugieren que el código abierto es superior a los sistemas cerrados. Nos concentraremos en particular en comparar código abierto con los sistemas Windows.

  1. El "seguro contra hackers" de J.S. Wurzler Underwriting Managers cuesta entre un 5% y un 15% más si se utiliza Windows en lugar de UNIX o GNU/Linux para operar con Internet. Al menos una compañía de seguros ha indicado que Windows NT es menos seguro que los sistemas UNIX o GNU/Linux, lo que da como resultado que las tarifas para sistemas basados en Windows son más caras. Frecuentemente es difícil averiguar cuándo una compañía ha sido atacada con éxito: a menudo las compañias no quieren divulgar tal información al público por una serie de razones. Entre otras cosas, si los consumidores o los socios comerciales pierden la confianza en una compañía, las pérdidas resultantes podrían ser mucho mayores que las causadas por el ataque original. Sin embargo, las compañías de seguros que aseguran contra ataques, pueden exigir disponer de esa información como una condición para la cobertura, y pueden calcular futuras primas en función de ese conocimiento. De acuerdo con la información de CNET, J.S. Wurzler Underwriting Managers, con base en Okemos (Michigan, EEUU), una de las primeras empresas en ofrecer "seguros contra hackers", y por ello de las que más fácilmente poseen datos históricos para calcular estas primas, ha empezado a cargar a sus clientes entre un 5 y un 15% más si utilizan como sistema Windows NT de Microsoft en lugar de UNIX o GNU/Linux para sus operaciones en Internet. Walter Kopf, vicepresidente primero de una empresa de seguros, dijo que "hemos comprobado que la posibilidad de pérdidas es mayor utilizando el sistema NT". También dijo que la decisión se basa en el estudio de cientos de partes de seguros que la empresa ha tenido que atender para pequeñas y medianas empresas clientes suyas en los últimos años.

  2. La mayoría de los sitios web desfigurados están situados en ordenadores con Windows, y los sitios con Windows ocupan desproporcionadamente más las cifras de equipos desfigurados que lo que implicaría su cuota de mercado. Otra forma de medir la seguridad es fijarse en el sistema operativo utilizado en los sitios web desfigurados, y compararlo con su cuota de mercado. Un sitio web "desfigurado" es el sito que ha sido atacado y su contenido cambiado habitualmente de una forma bastante obvia, puesto que las modificaciones no se suelen notificar al responsable. La ventaja de esta medida es que, contra otras mediciones de roturas de seguridad, que usualmente son "encubiertas", normalmente hacen muy difícil a las víctimas ocultar el hecho de que han sido atacadas con éxito. Históricamente esta información la mantenía Attrition.org. Se puede encontrar un resumen en el artículo de James Middleton, y los datos actuales en el sitio web de Attrition.org. Estos datos mostraban que el 59% de los sistemas desfigurados corrían Windows, el 21% Linux, el 8% Solaris, un 6% BSD, y un 6% todo el resto de sistemas en el período de agosto de 1999 a diciembre de 2000. De modo que los sistemas Windows tienen casi 3 veces más desfiguraciones que los sistemas GNU/Linux. Esto podría tener sentido si hubiera 3 veces más sistemas Windows que GNU/Linux, lo que no cuadra con los datos que disponemos, simplemente no es cierto.

    Por supuesto, no todos los sitios web se han atacado a través de su servidor de web y su SO. Muchos han sido desfigurados a través de contraseñas averiguadas, mala programación de aplicaciones web, y cosas parecidas. Pero si así fuese, ¿por qué tendría que haber tal diferencia en el número de desfiguraciones en coincidencia con el sistema operativo?. Sin duda alguna, se deberían encontrar aquí otras razones. Estos datos sólo muestran correlaciones, no causas. Pero sugieren ciertamente que el código abierto puede tener una seguridad mejor.

    Attrition.org decidió abandonar la recogida de esta información debido a la dificultad de conservar el enorme volumen de sitios rotos, y parecía que obtener esta información ya no sería posible. Sin embargo, defaced.alldas.de ha decidido realizar este valioso servicio. Sus informes recientes muestran que esta tendencia ha continuado: el 12 de julio de 2001, informaban de que el 66,09% de los sitios desfigurados corrían Windows, comparado con el 17,01% para GNU/Linux, sobre 20.260 sitios web desfigurados.

  3. La base de datos de vulnerabilidades Bugtraq sugiere que el sistema operativo menos vulnerable es abierto, y que todos los sistemas operativos de código abierto en el estudio eran menos vulnerables que Windows en 1999-2000. Una aproximación para examinar la seguridad es utilizar una base de datos de vulnerabilidades; hay un análisis de una en la página Bugtraq Vulnerability Database Statistics. Con datos de 17 de septiembre de 2000, aquí tenemos el número total de vulnerabilidades de algunos sistemas operativos líderes:

    Sistema Operativo

    1997

    1998

    1999

    2000

    Debian GNU/Linux

    2

    2

    30

    20

    OpenBSD

    1

    2

    4

    7

    Red Hat Linux

    5

    10

    41

    40

    Solaris

    24

    31

    34

    9

    Windows NT/2000

    4

    7

    99

    85

    No se deberían tomar estos números muy en serio. Algunas vulnerabilidades son más importantes que otras. Algunas pueden proporcionar muy poco si se explotan, o producir vulnerabilidad sólo bajo ciertas condiciones indeseables. Otras están siendo activamente explotadas, mientras que otras incluso se han corregido ya antes de la explotación. Los sistemas operativos de código abierto tienden a incluir muchas aplicaciones que habitualmente se venden por separado en los sistemas cerrados, incluyendo Windows y Solaris. Por ejemplo, Red Hat 7.1 incluye dos sistemas de bases de datos relacionales, dos procesadores de texto, dos programas de hoja de cáculo, dos servidores de web, y un gran número de editores de texto. Además, en el mundo del código abierto, las vulnerabilidades se discuten públicamente, de forma que se pueden identificar en programas todavía en desarrollo, los que suelen llamarse "beta". Aquellos con pequeñas cuotas de mercado lógicamente son menos analizados. La "pequeña cuota de mercado" no va con GNU/Linux, por supuesto, ya que hemos establecido que GNU/Linux es el 1º o 2º sistema operativo de servidores web, dependiendo de cómo los contemos. Más aun, se muestra claramente que los tres sistemas de código abierto listados, Debian GNU/Linux, OpenBSD y RedHat Linux, salen mucho mejor parados de estas medidas que Windows en 1999, y más aun en 2000. Incluso si se desarrollase una distribución de GNU/Linux explícitamente para duplicar todas las vulnerabilidades presentes en las distribuciones mayores de GNU/Linux, esta distribución intencionadamente mala aún saldría mejor que Windows. Tendría 88 vulnerabilidades en 1999, contra 99 de Windows. Los mejores resultados los produce OpenBSD, un sistema operativo abierto que durante años se ha enfocado específicamente a la seguridad. Se podría argumentar que su menor número de vulnerabilidades se debe a su menor implantación, pero la explicación más simple es que OpenBSD se ha enfocado específicamente a la seguridad, y lo ha conseguido mejor que el resto.

    Estos datos son particularmente interesantes porque un periodista distorsionó completamente estos números en un intento de mostar que GNU/Linux era peor. Tomó esos números, y le añadió los de GNU/Linux, de forma que cada vulnerabilidad de Linux aparecía contada al menos dos veces, una para cada distribución a las que se lo aplicó, y una más. Utilizando estas medidas incorrectas, declaró que GNU/Linux era peor que cualquier otro. Si lee usted su articulo, necesitará leer también la refutación por el gerente del área de Atención a Microsoft (Microsoft Focus Area) en SecurityFocus para conocer por qué el artículo del periodista estaba equivocado.

    En vez de esto, como señala el Criptograma de 15 de septiembre de 2000 de Bruce Schneier, las vulnerabilidades están afectadas también por otros factores como cuántos atacantes explotan la vulnerabilidad, la velocidad con la que el proveedor proporciona una correccíón, y la velocidad a la que la aplican los administradores. Ningún sistema es invencible.

    Un análisis más reciente de John McCormick en Tech Republic comparó las vulnerabilidades de Windows y Linux utilizando números durante septiembre de 2001. Es un análisis interesante que muestra que Windows NT lideró el número de vulnerabilidades en 2000, utilizando los números de 2001 hasta septiembre de 2001, Windows 2000 se colocó en el "centro del paquete", con algunas distribuciones de Linux que tienen más y otras que tienen menos. Sin embargo, parece que en estos números, los errores en las aplicaciones de Linux se han contado como errores de Linux, mientras que los errores de las aplicaciones de Windows no se han contado como errores de Windows, es decir, no se trata realmente de una comparación adecuada. Como se hizo notar anteriormente, las distribuciones de Linux incluyen muchas aplicaciones que Microsoft vende por separado.

  4. Red Hat, un vendedor de código abierto, respondió más rápido que Microsoft o Sun a las advertencias; Sun tenía menos advertencias a las que responder, y aun así le llevó tiempo responderlas. Otro punto de vista importante es que SecurityPortal ha reunido una lista del tiempo que se toman los vendedores para responder a las vulnerabilidades. Y concluyeron que:

    ¿Cómo de rápido contestan?. Red Hat obtuvo el mejor resultado, con 348 días para resolver 31 advertencias, y un promedio de 11,23 días por error para corregirlas. Microsoft tuvo 982 días de retraso para corregir los 61 avisos, con un promedio de 16,10 días por error. Sun demostró por sí misma ser la más lenta, y aunque tuvo sólo 8 avisos acumulados, tardó 716 días en resolverlos, prácticamente tres meses para corregir cada uno.

    Sus tablas de datos para 1999 son como se muestran:

    Análisis de Avisos 1999

    Vendedor

    Días Totales para sacar correcciones

    Avisos Totales

    Días de Retraso por Aviso

    Red Hat

    348

    31

    11.23

    Microsoft

    982

    61

    16.10

    Sun

    716

    8

    89.50

    Está claro que esta tabla utiliza un método diferente para contar los problemas de seguridad que la anterior. De los tres sistemas anotados aquí, Solaris de Sun era el que tenía el menor número de vulnerabilidades, pero Sun fue de lejos la que más tiempo se tomó para resolverlas. RedHat fue la más rápida corrigiendo problemas de seguridad, y se situaba en posición intermedia en el número de ellas. Es adecuado hacer notar que OpenBSD, que también es un sistema de código abierto, tuvo menos vulnerabilidades reportadas que cualquiera de estos tres. Evidentemente, tener un sistema operativo cerrado no le garantiza un sistema más seguro: Microsoft tuvo con mucho el mayor número de avisos de seguridad, utilizando este método de recuento.

  5. Apache tuvo un mejor registro de seguridad que Microsoft IIS, si medimos informes de vulnerabilidades graves. El artículo de 20 de julio de 2001 de la revista eWeek "Apache impide la mayoría de los riesgos de seguridad" examinó los avisos de seguridad realizados en el pasado a Apache 1.0. Encontraron que el último aviso de seguridad grave para Apache, uno en el que un atacante remoto podría correr código arbitrario en el servidor, se anunció en enero de 1997. Un grupo de problemas de menor gravedad, incluyendo una sobrecarga de búfer en la utilidad logresolve del servidor, se anunció y corrigió en enero de 1998 con Apache 1.2.5. En los tres años y medio siguientes, los únicos problemas de seguridad remota han sido posibilidades de denegación de servicio, y lagunas de seguridad de información, donde los atacantes podían ver ficheros o listados de directorios que no deberían ver.

    Por contra, en el artículo "IT bugs out over IIS security,'' (N. del T. Una traducción algo libre del título podría ser “Los errores de las TI planean sobre la seguridad de IIS”), eWeek determinó que Microsoft recibió 21 boletines de seguridad para IIS desde enero de 2000 a junio de 2001. Determinando que este número parecía un poco difícil, y que el artículo no hacía referencia a sus complejidades, examiné yo mismo los boletines de Microsoft para encontrar su significado auténtico. No todos los boletines tienen el mismo significado, por lo que simplemente decir “21 boletines” no ofrece un cuadro completo. Sin embargo, está claro que varios de estos boletines tratan de vulnerabilidades peligrosas que permiten a un usuario externo tomar el control sobre el sistema. Yo conté 5 boletines con tales vulnerabilidades altamente peligrosas para IIS 5.0 en el período desde enero 2000 a junio de 2001, y previamente a este momento, conté tres boletines más referidos a IIS 4.0 en el período de junio de 1998 a diciembre de 1999. Puede examinar estos boletines usted mismo: son los números MS01-033, MS01-026, MS01-025, MS01-023, MS00-086, MS99-025, MS99-019, y MS99-003. El gusano Code Red, por ejemplo, atacó un gran número de sitios con IIS a través de vulnerabilidades identificadas en el boletín de seguridad MS01-033 de junio de 2001.

    En resumen, totalizando el número de informes de vulnerabilidades peligrosas que permiten a los atacantes ejecutar código arbitrario, encontré un total de 8 boletines para IIS desde junio de 1998 a junio de 2000, mientras que Apache no tuvo ninguna vulnerabilidad de este tipo en el mismo período. El último informe de Apache fue en junio de 1998, y afectaba al analizador de logs, no al servidor de web en sí mismo. Como se señaló anteriormente, la última vulnerabilidad de un peligro semejante en Apache se anunció en enero de 1997.

    Ni siquiera ésto muestra el panorama completo, sin embargo: una vulnerabilidad en IIS es más peligrosa que una vulnerabilidad equivalente en Apache, porque Apache sigue escrupulosamente la buena práctica de seguridad del “menor privilegio”. IIS está diseñado de tal forma que cualquiera que toma el control sobre IIS lo hace sobre todo el sistema, pudiendo realizar acciones como leer, modificar o borrar cualquier fichero del sistema. Por contra, Apache se instala con muy pocos privilegios por omisión, de forma que tomar el control de Apache da a los atacantes relativamente pocos privilegios. Por ejemplo, atacar Apache no otorga a los atacantes el derecho a modificar o borrar la mayoría de los ficheros. Por supuesto, esto no es perfecto, y un atacante puede ser capaz de encontrar otra vulnerabilidad para darle acceso completo, pero un sistema Apache presenta más dificultades que uno IIS.

    El artículo afirma que hay cuatro razones por las que la seguridad de Apache es más fuerte, y tres de estas razones son simplemtente buenas prácticas de seguridad. Apache instala muy pocas extensiones de servidor por defecto ("aproximación minimalista"); todos los componentes del servidor corren como un usuario sin privilegios, y todos los ajustes de configuración están centralizados haciendo fácil para los administradores saber lo que está pasando. Sin embargo, el artículo también indica que una de las principales razones por las que Apache es más seguro que IIS es porque el “código fuente de los ficheros del núcleo del servidor están bien escrutados”, una tarea que es mucho más fácil siendo código abierto, y que podría utilizarse para defender que el código abierto potencia las otras buenas prácticas de seguridad.

    Por supuesto, un simple recuento de las vulnerabilidades no es necesariamente una buena medida. Un vendedor sacaría intencionadamente menos boletines, pero dado que el código de Apache se discute públicamente, parecería raro que Apache estuviese publicando menos noticias. Se podrían dar menos noticias de vulnerabilidades si el pruducto no estuviese bien revisado, o si se utilizase raramente, pero ésto simplemente no es cierto con Apache. Incluso la línea de la tendencia no es alentadora: utilizando los meses de los boletines, (2/99, 6/99, 7/99, 11/00 tres en 5/01 y 6/01), encuentro que el preriodo en meses entre los anuncios de nuevas vulnerabilidades importantes encuentro 4, 1, 18, 6, 0, 0, 1 y 3 hasta septiembre de 2001. Esto se compara con los 12 y 44 hasta septiembre de 2001 de Apache. Dadas estas tendencias, parece que la seguridad de IIS se está incrementando muy lentamente, y hace dificil que llegue a alcanzar a la seguridad de Apache en un futuro próximo. En vez de eso, estas formas de contar las vulnerabilidades se corroboran con otras medidas como el rango de alteración de sitios web.

    La conclusión más importante que extraer aquí es que ningún programa particular es invencible, ¡en ningún sentido!, pero evidentementemente es más probable resistir ataques futuros basándonos en buenos rendimientos del pasado. Está claro que Apache tiene unos registros de seguridad mucho mejores que los de IIS, de forma que el Gartner Group ha decidido hacer una recomendación inusual, que comentamos a continuación.

  6. El Gartner Group está recomendando que las empresas migren de Microsoft IIS a Apache o iPlanet debido a los pobres registros de seguridad de IIS, notando que las empresas han gastado 1,2 millardos de $ (dólares de EEUU) simplemente corrigiendo las vulnerabilidades de Code Red relacionadas con IIS en julio de 2001. Microsoft IIS tiene tan mal registro de seguridad que en septiembre de 2001, Gartner Group publicó una recomendación indicando que "las empresas atacadas por Code Red y Nimda deberían investigas inmediatamente alternativas a IIS, incluyendo migrar sus aplicaciones de web a un programa servidor de web de otros proveedores, como iPlanet o Apache. Aunque estos servidores han necesitado algunos parches de seguridad, tienen registros de seguridad mucho mejores que IIS, y no se encuentran bajo el ataque activo de un gran número de escritores de gusanos y virus". Microsoft es a veces cliente del Gartner Group, por lo que este anuncio es particularmente sorprendente.

    En un documento de respaldo del Gartner, discuten más a fondo los impactos de Code Red. En julio de 2001, Computer Economics, una firma de investigación, estimó que las empresas de todo el mundo habían gastado 1,2 millardos de dólares de EEUU corrigiendo vulnerabilidades en sus sistemas de TI que Code Red podría explotar. Recuerde que Code Red está diseñado para atacar únicamente a sistemas IIS, mientras que los sistemas Apache son inmunes. Para ser justos, Gartner señaló correctamente que el problema no es sólo que IIS tenga vulnerabilidades, sino que parte del problema es que las empresas que utilizan IIS no están manteniendo la seguridad de sus TI actualizadas, y Gartner preguntó abiertamente por qué se daba esta situación. Más aun, Gartner también realizó otra pregunta, "¿por qué los productos de Microsoft continúan proporcionando agujeros facilmente explotables por los atacantes?". Esto fue una premonición, una vez que poco después sobrevino el ataque de "Nimda" contra IIS, Microsoft Outlook y otros productos de Microsoft.

    Aquí procede un breve aparte. El portavoz de Microsoft Jim Desler intentó contrarrestar la recomendación de Gartner, intentando etiquetarla como "extremista", y diciendo que "vulnerabilidades graves se han encontrado en todos los productos y plataformas para servidores de web, se trata de un reto a toda la industria". Aunque esto es cierto, no es una verdad completa. Como apuntó Gartner, "IIS tiene un montón más de vulnerabilidades de seguridad que otros productos y requiere más cuidado y atención". Tiene mucho sentido seleccionar el producto con un mejor registro de seguridad, aunque ningún producto tenga un registro perfecto.

  7. La mayoría de los problemas de seguridad más graves afectan sólo a productos de Microsoft, y no a productos abiertos, como sugirieron el CERT/CC en "tipos de incidentes y vulnerabilidades de seguridad de mayor impacto y frecuencia y la base de datos del ICAT. Hay vulnerabilidades que son más importantes que otras por varias razones. Por ello algunos análisis se centran en intentar determinar lo que es "más mportante", y sus resultados sugieren que el código abierto no tienen tantas vulnerabilidades.

    El Centro de Coordinación del CERT (CERT/CC) se fundó federalmente para estudiar vulnerabilidades de seguridad y realizar actividades afines tales como publicar alertas de seguridad. He muestreado su lista de "actividad actual" de los incidentes de seguridad y vulnerabilidades más frecuentes y de alto impacto el 24 de septiembre de 2001, y he encontrado aun más evidencias de que los productos de Microsoft tienen peor seguridad comparados con otros, incluyendo el código abierto. Cuatro de las seis vulnerabilidades más importantes fueron específicas de Microsoft: W32/Nimda, W32/Sircam, corrupción de la caché en servidores de DNS de Microsoft, y actividades relacionadas con "Code Red". Sólo uno de los seis puntos afectaba inicialmente a productos no-Microsoft, un desbordamiento de buffer de telnetd; aunque esta vulnerabilidad particular es importante, habría que hacer notar que para empezar muchos sistemas de código abierto, como Red Hat 7.1, normalmente no habilitan este servicio, y por ello están más alejados de ser vulnerables. El sexto de los ejemplos, "barridos y pruebas", es un aviso general de que hay un gran número de barridos y pruebas en Internet, lo que puede dar lugar a muchas vulnerabilidades potenciales en todos los sistemas. En resumen, 4 de 6 ejemplos de vulnerabilidades de alto impacto son específicos de Microsoft, 1 de 6 son vulnerabilidades que afectan inicialmente a sistemas de tipo UNIX, incluyendo sistemas operativos abiertos, y 1 de cada 6 es una nota general sobre barridos. De nuevo, no es que los productos abiertos nunca tengan vulnerabilidades de seguridad, sino que demuestran que tienen menos.

    Es sistema ICAT proporciona un índice y una ordenación navegable de las vulnerabilidades haciendo referencias cruzadas por CVE. He muestreado sus 10 primeros el 19 de diciembre de 2001; esta lista de los 10 primeros se define por el número de peticiones realizadas para una vulnerabilidad particular en el ICAT, e incluyendo únicamente vulnerabilidades del último año. En este caso, 8 de estas 10 vulnerabilidades afectan sólo a sistemas cerrados, Windows en todos los casos. Sólo 2 de los 10 afectan a sistemas abiertos, la 6ª, CAN-2001-0001, una debilidad en PHP Nuke 4.4, y la 8ª, CVE-2001-0013, una nueva vulnerabilidad encontrada en una versión vieja de Bind, Bind 4. Obviamente, esto no prueba por sí mismo que las vulnerabilidades en sistemas de código abierto sean menos graves, pero es un buen indicio.

    Los virus de ordenador son abrumadoramente más frecuentes en Windows que en cualquier otro sistema. Las infecciones por virus han supuesto un coste fundamental para los usuarios de Microsoft Windows. El virus LoveLetter por sí solo ha supuesto un coste estimado de 960 millones de dólares en costes directos, y 7,7 millardos en pérdidas de productividad, y la industria de los programas antivirus vende aproximadamente un millardo en total. El Análisis del impacto del código abierto de los doctores Nic Peeling y Julian Satchell incluye un análisis de las variadas fuentes de datos sobre recuentos de virus. Aquí tenemos lo que han dicho:

    Las cifras difieren al bajar a los detalles, pero todas las fuentes indican que los virus de ordenador son abrumadoramente más frecuentes en Windows que los aparecidos en cualquier otro sistema. Hay aproximadamente 60.000 virus conocidos en Windows, más o menos 40 para Macintosh, alrededor de 5 para UNIX comerciales, y unos 40 para Linux. La mayoría de los virus sobre Windows no son importantes, pero varios cientos han causado muchísimos daños. Dos o tres de los virus de Macintosh se extendieron lo suficiente para revestir alguna importancia, y ninguno de los virus en UNIX o Linux se llegaron a extender. La mayoría quedaron confinados al laboratorio.

    ¿Por qué es Windows tan desproporcionadamente vulnerable? Hay tres razones, una social y dos técnicas. Windows es el objetivo más atractivo para los que escriben virus, simplemente por su gran implantación. Para que un virus haga su "trabajo", tiene que transmitirse él mismo a otro ordenador susceptible; como promedio, cada infección debe causar una más. La ubicuidad de las máquinas Windows hace más fácil alcanzar ese umbral. Finalmente, Windows ha sufrido un buen número de malas elecciones de diseño durante años. Por ejemplo, la ejecución de macros en el arranque de Word, la ejecución de ficheros enlazados en Outlook, la ausencia de protección de escritura en los directorios de sistema en Windows 3.1/95/98) que han permitido la ejecución de código indeseado, convirtiéndolo en un objetivo muy sencillo.

    Aunque es posible escribir virus para sistemas de código abierto, su diseño hace más dificil que se extiendan. Parece que los desarrolladores de código abierto tienden a tomar decisiones de diseño que limitan el daño de los virus, quizás en parte porque su código está sujeto a la inspección y el comentario público. Por ejemplo, los programas abiertos no suelen permitir la ejecución de macros al arrancar, y los sistemas operativos abiertos, tales como GNU/Linux y los distintos BSD, siempre han tenido protección de escritura en los directorios del sistema.

  8. De acuerdo a una evaluación de Network Security, el mejor escáner de vulnerabilidades, el más efectivo, es un producto abierto, Nessus. El 8 de enero de 2001, el artículo de Network Computing Vulnerability Assessment Scanners. Informó sobre una evaluación de nueve herramientas de barridos de red, la mayoría de ellas cerradas. En su evaluación, los técnicos de Network Computing prepararon sistemas de demostración con 17 de las vulnerabilidades más comunes y críticas; a continuación comprobaron las variadas herramientas de barrido de red para comprobar con cuanta efectividad detectaban estas vulnerabilidades. Lamentablemente, ninguno de los productos detectó todas las vulnerabilidades. El mejor de los escáneres fue el programa de código abierto Nessus Security Scanner, que encontró 15 de las 17, y que también recibió la puntuación total más alta; el siguiente mejor era un escáner cerrado que encontró 13,5 de 17.

    En sus palabras:

    Algunos de nosotros eramos algo escépticos sobre el proyecto de código abierto Nessus, hasta que describrió el mayor número de vulnerabilidades. Este es un argumento muy de peso, y ahora estamos comiéndonos nuestras palabras... [Nessus] obtuvo la mejor calificación simplemente porque hizo correctamente más cosas que los otros productos.

    Estoy de acuerdo con los autores en que el escáner de vulnerabilidades de red ideal debería encontrar todas las vulnerabilidades bien conocidad, y que "incluso un agujero es demasiado". Sin embargo, la perfección es rara en el mundo real. Aún más importante, un escáner de vulnerabilidades debería ser sólo una parte del proceso de seguridad de una organización, no debería ser la única medida. Aun en este caso, esta evaluación sugiere que una organización será más segura, no menos segura, utilizando un programa de código abierto. Se prodría aducir que esto simplemente demuestra que este programa abierto particular es más funcional, no más seguro, pero en este caso particular, la simple funcionalidad del producto ya proporciona un aumento de la seguridad.

Un problema grave es que hay fuertes desincentivaciones económicas para que los vendedores de código cerrado hagan seguros sus productos. Por ejemplo, si los vendedores inviertiesen tiempo en hacer sus programas más seguros, no conseguirían ser los "primeros" en un mercado dado; y esto haría que perdiesen ese mercado. Puesto que para los clientes es muy difícil distinguir un programa cerrado con seguridad alta del que tiene una seguridad pobre, los productos pobres tienen a expulsar del mercado a los buenos. A fin de cuentas, son más baratos de producir y por lo tanto menos costosos. Los gobiernos tienen otros factores de desincentivación. Sobre una discusión de algunas desincentivaciones económicas para crear programas seguros, vea Why Information Security is Hard - an Economic Perspective by Ross Anderson en Proceedings of the Annual Computer Security Applications Conference (ACSAC), diciembre de 2001, páginas. 358-365. No está claro que el código abierto siempre evite estas desincentivaciones, pero parece que al menos en algunos casos lo hace. Por ejemplo, el código fuente abierto es público, de modo que la diferencia en la seguridad es más visible que en productos cerrados.

Uno de los problemas de seguridad más peligrosos con el código cerrado es que, si incluye código intencionadamente malicioso, tal código es extremadamente dificil de encontrar. Pocos vendedores de programas cerrados tienen a otros desarrolladores examinando todo el código en gran detalle: sus procesos de pruebas están diseñados para detectar errores no malicia, y por ello no revisan el código completo. Por contraste, cualquiera puede encontrar código malicioso cuando el código fuente está disponible públicamente, y con el código abierto hay incentivos para que cualquier persona pueda revisarlo, como añadir nuevas funcionalidades o realizar una revisión de seguridad. Por ello alguien que inserte código malicioso en un proyecto abierto corre un riesgo mucho mayor de ser descubierto. Hay dos ejemplos, uno confirmado, y el otro no:

  1. En algún momento entre 1992 y 1994, Borland insertó intencionadamente una "puerta trasera" en su servidor de bases de datos "InterBase", como un usuario secreto con contraseña fija. Esta puerta trasera permitía a cualquier usuario local o remoto manipular cualquier objeto de base de datos, e instalar programas arbitrarios, y en algunos casos podría adquirir el control de la máquina como "root". Esta vulnerabilidad permaneció en el producto al menos durante 6 años, ya que nadie más podría revisar el código, y Borland no tenía motivos para retirarla. Cuando Borland abrió el codigo fuente en julio de 2000 como código abierto, el proyecto "Firebird" empezó a trabajar con el código fuente, y descubrió este grave problema de seguridad de InterBase en diciembre de 2000, sólo 5 meses tras la apertura. En enero de 2001, el CERT anunció la existencia de esta puerta trasera como aviso CERT CA-2001-01. Es descorazonador que esta puerta trasera era fácilmente visible por un simple volcado ASCII del código, un truco común de los crackers, de modo que es muy posible que esta vulnerabilidad se haya explotado muchas veces en los años precedentes. Una vez que la revisión de los desarrolladores de código abierto se encontró este problema, se corrigió muy rápidamente.
  2. Mohammad Afroze Abdul Razzak, arrestado por la policía de Mumbai (Bombay) el 2 de octubre de 2001, indicó que La red Al Qaeda de Osama bin Laden era capaz de conseguir empleo en Microsoft, y que planeaba insertar "troyanos, puertas traseras y errores en Windows XP." De ello se informó a Ravi Visvesvaraya Prasad, un consultor de telecomunicaciones y sistemas de información de Nueva Delhi, que luego lo comunicó a la división Newsbytes del Washington Post. Este aviso no fue confirmado, de hecho soy en cierta medida escéptico. El problema, sin embargo, es que es imposible de descartar. Incluso si este caso particular no es cierto, obsérvese que es un asunto desafortunadamente creíble en el código cerrado, porque muy pocos de sus usuarios pueden revisar el código. Resulta mucho menos peligroso en el código abierto, porque es posible una revisión por todo el mundo incluyendo la capacidad de ver los cambios realizados en cada versión.

Ya debería ser obvio a partir de estos ejemplo que los sistemas abiertos no son mágicamente invencibles por los problemas de seguridad. En vez de eso, hemos mostrado que hacer disponible el código da a los atacantes una ventaja, porque tienen más información para realizar un ataque. Mientras que el código abierto da a los atacantes más información, muestra también fuerzas opuestas: tener el código fuente disponible también da a los defensores más información, porque también pueden examinar el código fuente original, y además, los defensores pueden mejorar el código. Para una discusión más larga de estas ideas, vean mi discussion on open source and security, un extracto de mi libro sobre writing secure software. Como vemos, a partir de estas imágenes, parece que los sistemas abiertos sean mejores, y no sólo iguales, en su resistencia a los ataques.

Coste total de propiedad (TCO)

El coste total de propiedad (Total Cost of Ownership, habitualmente abreviado como "TCO" en inglés) es un dato muy importante. No se limita a medir si el producto empieza siendo muy barato, sino que vigila si el precio se mantiene bajo durante toda su vida útil, por lo que el TCO es muy sensible a las suposiciones de partida que se hagan.

Por ello, para cualquier producto que pueda imaginar, pueden encontrarse estudios de lo bajo que puede resultar el TCO en determinadas circunstancias. No es raro que tanto Microsoft como Sun presenten estudios que muestran que tienen el menor TCO, pero no se pierda mis comentarios más abajo sobre el estudio de Microsoft. Xephon tiene un estudio que determina que los mainframes son los más baratos por usuario debido a su control centralizado, con 3.450 libras esterlinas por usuario y año (5.546,71 euros); el coste del UNIX centralizado estaría en 7.350 libras por usuario y año, y el entorno PC descentralizado en 10.850 libras por usuario y año. Xephon aparece como un consultor basado en mainframe, de forma que podría tener interés en que los resultados salgan de esa forma. Hay de todas formas determinadas ocasiones en las que aplicar mainframes tiene sentido... pero veremos que aun en estos casos se puede emplear un ambiente abierto.

En resumen, quién tenga el menor TCO dependerá de su ambiente y de sus necesidades. Para determinar el TCO, deben identificarse todos los costes importantes, el llamado "modelo de costes", y estimar su importe. No olvide los costes "ocultos", como los costes de administración, de actualización, de asistencia técnica, de operación de usuario final, etc. De este modo, el código abierto tiene una serie de ventajas de costes importantes en varias categorías que pueden dar lugar, en muchos casos, a un TCO menor.

  1. El código abierto es más barato en la adquisición inicial. El código abierto cuesta mucho menos en su adquisición inicial. Un programa "libre" no tiene por qué ser "gratis" en el sentido monetario del término (N. del T: en inglés es necesaria esta aclaración pues free significa tanto "libre" como "gratuito"). El término "libre" en "programas libres" hace referencia a libertad, no a precio. Habitualmente se resume con la expresión "free speech, not free beer", o sea "libertad de expresión, no cerveza gratis". También se gasta dinero por la documentación en papel, asistencia, formación, administración del sistema, etcétera, igual que con los sistemas cerrados. En muchos casos, los programas recogidos en las distribuciones abiertas se pueden descargar libremente. linux.org proporciona algunos enlaces a donde encontrar las distribuciones. Sin embargo, la mayoría de las personas, especialmente los principiantes y quienes no tengan conexiones de internet de alta velocidad, preferirán pagar una pequeña cantidad a un distribuidor por un paquete agradablemente integrado con CD-ROMs, documentación en papel, y asistencia. Incluso en este caso el código abierto es menos costoso de adquirir.

    Por ejemplo, hay diferencias muy significativas de precios cuando se intenta configurar un servidor. Digamos que queremos un servidor de web público, o un servidor de ficheros y correo de una intranet, en el cual se podría desear disponer de C++ y un RDBMS para algunas tareas. Esto es un ejemplo, por supuesto. Misiones diferentes precisarían componentes diferentes. Se han utilizado los precios de "Global Computing Supplies" de Suwanee (Georgia, Estados Unidos), en septiembre de 2000, y redondeado al dólar. Un resumen rápido de algunos costes:

     

    MS Windows 2000

    Red Hat Linux

    Sistema operativo

    1.510$ (25 clientes)

    29$ (estándar), 76$ deluxe, 156$ professional (todos sin límite de clientes)

    Servidor de correo electrónico

    1.300$ (10 clientes)

    incluido (sin límite de clientes)

    Servidor RDBMS

    2.100$ (10 CALs)

    incluido (sin límite de clientes)

    Desarrollo con C++

    500$

    incluido

    Básicamente, Microsoft Windows 2000 con 25 clientes cuesta 1.510$; su servidor de correo Microsoft Exchange con acceso para 10 clientes cuesta 1.300$, su servidor RDBMS SQL Server 2000 cuesta 2.100$ con 10 CALs (Client Access Licenses licencias para clientes conectados simultáneamente), y su suite de desarrollo Visual C++ 6.0 cuesta 500$. Red Hat Linux 6.2, una distribución de GNU/Linux ampliamente usada, cuesta 29$ en el caso de la versión estándar con asistencia para la instalación durante 90 días basada en correo electrónico; 76$ si es la versión deLuxe que supone además 30 días de asistencia telefónica a la instalación, o 156$ si hablamos de la versión professional que incluye conexiones SSL para tráfico web cifrado. Incluyen en todos los casos todas estas funcionalidades: servidor de web, servidor de correo, servidor de bases de datos, C++, y mucho más. Un servidor de web público, con Windows 2000 y un RDBMS costaría 3.610$ (1.510 + 2.100), contra 156 de Red Hat Linux, mientras que un servidor de intranet con Windows 2000 y un servidor de correo costaría 2.810$ (1.510 + 1.300) contra 76 del Linux de Red Hat.

    Ambos paquetes tienen funcionalidades que el otro no tiene. El sistema GNU/Linux también incluye un número ilimitado de licencias; el número de clientes que se usen efectivamente depende de los requisitos. Sin embargo, esto ciertamente muestra que en cualquier caso, los productos de servidor de Microsoft cuestan miles de dólares más por servidor que el sistema GNU/Linux equivalente.

    Para otro análisis en detalle comparando los costes iniciales de GNU/Linux con los de Windows, vea Linux vs. Windows: The Bottom Line de Cybersource Pty Ltd. Aquí tenemos un resumen de su estudio en dólares de EEUU y en 2001:

     

    Solución Microsoft

    Solución abierta
    (GNU/Linux)

    Ahorro usando
    GNU/Linux

    Empresa A
    (50 usuarios)

    69.987$

    80$

    69.907$

    Empresa B
    (100 usuarios)

    136.734$

    80$

    136.654$

    Empresa C
    (250 usuarios)

    282.974$

    80$

    282.894$

    Consulting Times encontró que cuando el número de buzones de correo crecía, el TCO a tres años de un mainframe con GNU/Linux se volvía muy competitivo. Para 50.000 cuentas de correo, una solución Exchange/Intel cuesta 5,4 millones de dólares, mientras que la solución Linux/IBM en G6 cuesta 3,3 millones de dólares. Para 5.000 buzones, Exchange/Intel cuesta 1,6 millones de dólares, mientras que Groupware en IFL cuesta 362.890$. Para otro estudio más, vea Cost Comparison from jimmo.com. Obviamente, la diferencia de precio depende de las funciones exactas que necesite utilizar, pero para muchas situaciones comunes, GNU/Linux cuesta mucho menos de adquirir.

  2. Los costes de actualización son típicamente menores. Los costes de actualización a largo plazo son mucho menores para los sistemas abiertos. Por ejemplo, actualizar un sistema Microsoft típicamente cuesta la mitad de la compra original. Esto es así, porque esencialmente se está en sus manos para los precios a largo plazo, una vez que es el único proveedor. Véase Microsoft Turns the Screws. En contraste, los sistemas GNU/Linux se pueden descargar gratis o simplemente comprar de segunda mano generalmente por menos de 100$, y una única actualización se puede utilizar en todos los sistemas. Esto no incluye asistencia técnica, pero en ella técnico podemos encontrar competencia, lo que en la práctica no se da con el código cerrado. Si no le gusta su suministrador de GNU/Linux, lo puede cambiar.

  3. El código abierto permite frecuentemente aprovechar hardware más antiguo, con más eficacia que los sistemas cerrados, reduciendo aun más los costes de hardware, y en algunos casos eliminando la necesidad de ese nuevo hardware. El código abierto corre más rápido en hardware más rápido, por supuesto, pero muchos programas abiertos pueden utilizar el hardware antiguo más eficientemente que los programas cerrados, resultando en un coste del hardware menor, e incluso en algunos casos no requiriendo nuevos costes, porque los sistemas "descartados" pueden a menudo utilizarse de nuevo. Por ejemplo, los requisitos mínimos para Microsoft Windows 2000 Server de acuerdo a las especificaciones de Microsoft son una CPU compatible con Pentium 133 MHz o superior, 128 MB de RAM mínimo con 256MB como "mínimo recomendado", y 2 GB de disco duro, con al menos 1 GB libre. Según Red Hat, Red Hat Linux 7.1, una distribución común de GNU/Linux, exige al menos un i486 (se recomienda un Pentium), 32MB RAM con 64MB recomendado, y 650MB de espacio en disco, 1,2 GB recomendados.

    En el artículo de agosto de 2001 de Scientific American The Do-It-Yourself Supercomputer se explica cómo los investigadores construyen poderosas plataformas de computación con un gran número de ordenadores anticuados ya descartados y GNU/Linux. El resultado recibió el nombre de "Superordenador de la Edad de Piedra"; en mayo de 2001 contenía 133 nodos, con un pico de rendimiento teórico de 1,2 gigaflops.

  4. Conforme se incrementa la cantidad de sistemas y el rendimiento del hardware, esta diferencia en los costes inicial y de actualización se vuelve incluso más sustancial. Conforme se va incrementando el número de servidores, las soluciones cerradas se van volviendo cada vez mas costosas. En primer lugar, muchos sistemas cerrados, incluyendo a Microsoft, venden licencias por cliente; esto hace que si su hardware puede servir a más clientes, usted tiene que pagar más para utilizar ese hardware que ha comprado. En segundo lugar, puede que usted desee utilizar más ordenadores, en ese caso deberá pagar más licencias de sistemas cerrados. Por contraste, para la mayoría de las distribuciones de GNU/Linux, se pueden instalar tantas copias como se desee sin pagos adicionales, y no hay límite de rendimiento incluido en el programa. Puede encontrarse un pago adicional por la asistencia técnica añadida, pero aún para esta asistencia se pueden encontrar proveedores compitiendo entre ellos.

    De acuerdo con Network World Fusion News, Linux se está utilizando cada vez más en entornos sanitarios, financieros, bancarios y de distribución comercial, a causa de las ventajas de coste cuando se va incrementando el número de instalaciones idénticas. De acuerdo a sus cálculos, para un despliegue de 2.000 ordenadores, SCO UNIXWare costaría 9 millones de dólares, Windows costaría 8 millones de dólares, y Red Hat Linux 180 dólares.

  5. Hay muchos otros factores, y sus efectos varían dependiendo de lo que se intente hacer. Hay muchos otros factores en el TCO, pero es difícil categorizar sus efectos en general, y es generalmente difícil encontrar números que justifiquen esos otros efectos. Los defensores de Windows proclaman que los administradores de sus sistemas son más baratos y más fáciles de encontrar que los administradores de UNIX/Linux, mientras que los defensores de GNU/Linux y UNIX argumentan que se necesita un número menor de administradores de tales sistemas, porque la administración es más fácil de automatizar, y los sistemas son más sencillos de poner en marcha. Algunos defensores de GNU/Linux me dicen que GNU/Linux les permite instalar múltiples servicios en una única máquina, mientras que las instalaciones de Windows necesitan varias máquinas. La administración del cumplimiento de las licencias puede ser costosa en entornos cerrados, es decir, el tiempo dedicado a comprar las CAL --licencia de acceso por conexió simultánea--, seguir la pista a los documentos de licencia, y preparar la auditoría siempre implícita, un coste que en código abierto es simplemente irrelevante.

  6. Por muchas circunstancias, el ahorro en costes totales puede ser sustancial; por ejemplo, el ahorro excedía los 250.000$ al año según informaron el 32 % de los CTOs entrevistados por InfoWorld en 2001; el 60% de estos CTOs ahorraron más de 50.000$ anuales. InfoWorld publicó un análisis el 27 de agosto de 2001 (páginas 49 y 50) sobre 40 CTOs que formaban parte de la red de CTOs miembros de InfoWorld. En este estudio, utilizando OSS, un 32% había ahorrado más de 250.000$ , otro 12 % entre 100.001 y 250.000, y un 16% entre 50.001 y 100.000$. Adicionalmente sólo un 8% indicó ahorros menores que 10.000$, de modo que el 92% había ahorrado 10.000$ o más anualmente. El principal beneficio de OSS, de acuerdo al 93% de los CTO,s fue la reducción en el coste de desarrollo y adquisición de las aplicaciones, un 72% dijo que el principal beneficio fue el tiempo de implementación o desarrollo. Se permitían múltiples respuestas. Los CTOs indicaron que utilizaban o planeaban utilizar OSS para servidores de web (65%), sistemas operativos de servidor (63%), servidores de aplicaciones web (45%), pruebas de desarrollo de aplicaciones (45%), y sistemas operativos de sobremesa (38%), aparte de otros usos. InfoWorld lo resumió de esta forma: "a principios del 2000, parecía que nadie estaba usando programas de código abierto para tareas empresariales críticas... una gran mayoría de los ejecutivos de IT de las corporaciones de hoy están utilizando o planeas utilizar sistemas operativos o servidores de web OSS para sus aplicaciones empresariales".

  7. Muchas organizaciones han informado de ahorros importantes utilizando código abierto. Aquí tenemos algunos ejemplos de organizaciones específicas que han ahorrado utilizando código abierto:

    Hay muchos otros informes de aquellos que han cambiado a sistemas abiertos, para más información, vea informes de usuarios .

El estudio del TCO de Microsoft que mencionamos anteriormente probablemente no sea utilizable como punto de partida para estimar su propio TCO. Su estudio informaba de la ventaja del TCO en sitios con productos Microsoft, comparado con sitios que utilizaban sistemas Sun, pero aunque los sistemas con Microsoft costaban un 37% menos, los sistemas Solaris manipulaban bases de datos mayores, aplicaciones que demandaban más recursos se conectaban a esas bases de datos, tenían un 63% más de conexiones concurrentes, y un 243% más de accesos al día. En otras palabras, los sitemas Microsoft que trabajan menos son menos costosos. Eso no es un punto de arranque utilizable si se está utilizando el TCO como ayuda para determinar el sistema a adquirir: para hacer esa comparación, se necesitaría comparar el TCO de sistemas que estén realizando una carga de trabajo similar. Un análisis en dos partes de Thomas Pfau, que puede ver en parte 1 y parte 2, identifica ésta y muchas otras debilidades en el estudio.

De nuevo, es el TCO como total el que se debe considerar, y no sólo ciertas categorías. Aun más, dadas estas grandes diferencias, en muchas situaciones el TCO del código abierto es menor que el TCO de sistemas cerrados. Hubo un tiempo en el que de proclamaba que la instalación de código abierto llevaba más tiempo, pero hoy día, los sistemas abiertos se pueden comprar preinstalados, y los instaladores automáticos suponen un esfuerzo de instalación equivalente. Algunos proclaman el mayor coste de administración de los sistemas, pero estudios como el de Sun sugieren que en muchos casos el coste de administración es menor, y no mayor, para los sistemas de tipo UNIX, al menos para Sun. Por ejemplo, en sistemas de tipo UNIX suele ser más fácil automatizar tareas, proque se puede, pero no se necesita, utilizar entornos gráficos, reduciendo de este modo las tareas manuales, y reduciendo por ello el TCO. La retención de costes puede ser significativa, pero ahora que GNU/Linux tienen entornos gráficos modernos, hay evidencias anecdóticas de que este coste es actualmente muy pequeño. Incluso he visto estudios muy serios evaluando cuantitativamente este capítulo. En resumen, es muy dificil demostrar que una solución cerrada proporciona ventajas que realmente le ayuden contra su demostrablemente mayor coste en otras categorías, cuando tienen que competir con productos abiertos maduros para una función dada.

¿Nos lleva esto a que el código abierto siempre tiene el menor TCO? ¡No! Como ya hemos anotado repetidamente, esto depende del uso. Pero la noción de que el código abierto siempre tiene un mayor TCO es sencillamente equivocada.

Aspectos no cuantitativos

En justicia, debemos hacer notar que no todos los aspectos se pueden cuantificar, entre ellos muchos de los más importantes. Los aspectos más importantes incluyen la libertad, la protección contra los litigios por licencias, y la fexibilidad. Otro aspecto importante difícil de medir es la innovación.

  1. El código abierto protege a los usuarios de los riesgos y desventajas de las soluciones de proveedor único. Aunque los defensores de los "programas libres" usan el término "libertad", y algunas empresas ponen el acento en términos diferentes como "diversificación", el concepto es el mismo: los usuarios no quieren quedar prisioneros de un único vendedor. Las empresas en general prefieren comprar productos para los que tengan un gran número de proveedores, porque esto reduce los riesgos: siempre pueden cambiar de proveedor cuando no estén satisfechos o cuando el proveedor original abandona el negocio. Esto se traduce en efectos sobre los productos mismos: si los clientes pueden elegir fácilmente y cambiar entre productos competidores, los precios bajan y la calidad se incrementa. A la inversa, cuando se da una situación próxima al monopolio sobre un producto, con el tiempo el proveedor eleva el precio y limita sus usos a aquellos que benefician su monopolio.

    Históricamente, los vendedores cerrados pierden eventualmente frente a los que proporcionan productos con múltiples fuentes, incluso cuando la tecnología cerrada es inicialmente mejor. El formato Betamax de Sony perdió frente al VHS en el mercado de vídeocasetes, la arquitectrura de microcanal de IBM perdió frente a la IS en el mercado de las arquitecturas de PC, y NeWS de Sun perdió frente a X-Window en el mercado de los gráficos en red, todos porque los clientes preferían reducir los riesgos, y a veces también reducir los costes, con los productos no cerrados. Esto en algunos casos se llama "conversión en artículo de consumo masivo", un proceso del que huyen los vendedores cerrados, pero muy beneficioso para los usuarios. Una vez que se gastan el dinero, los usuarios quieren encontrar alguien que haga lo que ellos quieren.

    Con código abierto, los usuarios pueden elegir entre diferentes distribuciones, y si un proveedor cierra, pueden cambiar a otro vendedor. Como resultado, los proveedores se ven forzados a proporcionar productos y servicios de buena calidad por precios relativamente bajos, porque los usuarios pueden cambiar si no lo hacen. Los usuarios pueden incluso reunirse y mantener el producto por ellos mismos. Así fue como nació el proyecto Apache y así es como se hace posible que los grupos de usuarios se protejan ellos mismo del abandono.

  2. El código abierto protege a los usuarios de los litigios y la gestión de licencias. Los vendedores cerrados ganan dinero de la venta de licencias, y están imponiendo mecanismos de manejar estas licencias cada vez más engorrosos para los consumidores. Por ejemplo, Microsoft Windows XP exige la activación del producto, un esquema que provoca que una acumulación de cambios de hardware exija un nuevo código de activación. Los proveedores cerrados también litigan contra aquellos que no cumplen con sus complicados requisitos de gestión de licencias, incrementando los riesgos legales para los usuarios. Por contraste, los usuarios de código abierto no tienen miedo de litigios por el uso y copia de código abierto. Los detalles del licenciamiento aparecen al modificarse y redistribuirse código abierto, pero para ser justos, el código cerrado sencillamente prohíbe esta acción, de forma que se convierte en un nuevo derecho. Incluso en estas circunstancias, redistribuir programas abiertos modificados generalemente requiere seguir unas pocas reglas sencillas dependiendo de la licencia, tales como seguir danto crédito a los desarrolladores originales y publicar las modificaciones bajo el mismo esquema de licencia original.

  3. El código abierto tiene mayor flexibilidad. Los usuarios de código abierto pueden ajustar el producto tanto como sea necesario para conseguir cubrir sus necesidades en formas que no son posibles sin el código fuente. Los usuarios pueden ajustar los productos ellos mismos, o encontrar quien pueda resolver el problema, que incluso podría ser el desarrollador original del producto. Algunos han proclamando que esto crea un "peligro de disgregación", es decir, múltiples versiones incompatibles de un mismo producto. Esto sólo es un riesgo para los que creen que la competencia es demoníaca: también tenemos múltiples versiones de coches. Y en la práctica, el alto coste de mantener el programa por uno mismo hace que los cambios se reviertan a la comunidad. En caso contrario, por ejemplo resuelve un problema particular cuya solución se necesitaba para una situación particular, supone también una ganancia para el usuario, porque le ha resuelto un problema que de otra forma no se hubiese podido.

  4. Hay buenas razones para creer que el código abierto potencia, que no limita, la innovación. Microsoft proclama públicamente que el código abierto, y particularmente su licencia más común, la GPL, eliminará la innovación, pero los hechos no justifican estas proclamas. La mayoría de los gestores de TI no las creen. En un estudio de Forrester Research en 2000, 2.500 gestores de TI entrevistados indicaron en un 84% que predecían que el código abierto sería crucial para conseguir innovaciones significativas en la industria. Por supuesto, cuando examinamos las más destacadas innovaciones en Informática, se descubre rápidamente que Microsoft no ha realizado ninguna, ni ha sido nunca su primer implementador. Por contraste, una buena porción de esas innovaciones clave eran proyectos abiertos. Por ejemplo, Tim Berners-Lee, inventor de la World Wide Web, estableció en diciembre de 2001 que "un factor muy significativo [en la amplia extensión del uso de la Web en la investigación científica] fue que el todos los programas eran lo que ahora llamaríamos "de código abierto". Se extendió rápidamente, y se potenció rápidamente, y pudo implantarse en instalaciones gubernamentales y de la gran industria sin tener que atravesar largos procesos de adquisición". Nótese que esto no terminó una vez que las ideas originales se desarrollaron: el servidor de web número uno del año 2001, Apache, es de código abierto, y el segundo navegador web en 2001, Netscape Navigator, es casi enteramente de código abierto, diez años despues del desarrollo original de la web. Adicionalmente, los casos judiciales recientes han mostrado fuertes evidencias de que la única razón por la que el cerrado Internet Explorer es el primer navegador web está en los años de uso ilegal del poder monopolístico de Microsoft.

    Esta historia de la innovación no debería ser sorprendente: el código abierto se aproxima al método científico, permitiendo a cualquiera hacer aportaciones o añadir técnicas innovadoras, y ponerlas inmediatamente a disposición del público. Eric Raymond ha mostrado por qué la innovación está más próxima, que no menos, a los proyectos abiertos. El sitio web Sweetcode informa de programas libres innovadores. Aquí tenemos lo que Sweetcode dice de su sitio: "La innovación que muestran el conjunto de los programas sobre el que aquí informamos no es sólo una copia de algo, ni aun menos un añadido a algo, ni una traducción de algo, ni siquiera una nueva implementación de conceptos ya ampliamente conocidos... los programas recogidos en sweetcode deberían sorprenderle de alguna forma interesante".

    Si la aproximación cerrada de Microsoft fuera mejor para los investigadores, deberíamos esperar que estuviese documentado en la comunidad investigadora. Sin embarlo, lo cierto es lo contrario: el documento "NT Religious Wars: Why Are DARPA Researchers Afraid of Windows NT?'' muestra que, a pesar de la fuerte presión de los clientes de pago, los investigadores informáticos se resistieron tenazmente a basar su investigación en Microsoft. Las razones dadas eran: los desarrolladores creen que Windows es de verdad temible, que las muy restrictivas disposiciones de no divulgación de Microsoft entran en conflicto con los intereses de los investigadores, y no está clara la forma en que se produciría la transición de la tecnología para los sistemas operativos y los productos de investigación de redes construidos en Microsoft, toda vez que sólo Microsoft puede distribuir cambios en sus productos. La propia investigación secreta de Microsoft, más tarde llamada "Halloween I", se daba cuenta de que "los proyectos de investigación/aprendizaje sobre Linux se 'diseminan' más fácilmente debido a la amplia disponibilidad del código fuente de Linux. En particular, así incluso se permite que las nuevas ideas de investigación se implementen primero y estén disponibles antes en Linux de lo que lo están / se incorporan a otras plataformas''. El profesor de la Stanford Law School Lawrence Lessig, el "experto especial" en el juicio antimonopolio contra Microsoft, anotó que "Microsoft ha estado utilizando su poder para protegerse a sí misma de las innovaciones" y que Microsoft generalmente practica un freno a la innovación, no la promueve.

    Dado un sitio entero dedicado a enlazar proyectos abiertos innovadores, la historia demostrada de PLCA en innovaciones clave, los informes de los gestores de TI dando su apoyo al código abierto, los informes de la insatisfacción de los investigadores y de otros sobre las aproximaciones cerradas de Microsoft, y la propia invenstigación interna de Microsoft mostrando que las nuevas ideas de investigación son habitualmente implementadas y están disponibles primero en Linux antes que en otras plataformas, las proclamas de que el código abierto bloquea la innovación es demostrablemente falsa.

Aunque no se pueden medir cuantitativamente estos aspectos, particularmente los tres primeros son de hecho los aspectos más importantes para muchos.

Miedos innecesarios

Algunos rechazan el código abierto, no a causa de los aspectos anotados anteriormente, sino a causa de miedos innecesarios al código abierto. Realicemos un recuento de algunos de ellos:

  1. ¿Tiene fundamentalmente mejor asistencia técnica los programas cerrados que los abiertos?. No. Actualmente hay dos mecanismos de asistencia técnica del código abierto: la asistencia tradicional a cambio de un precio, y la asistencia informal a cargo de la comunidad. Hay muchas organizaciones que proporcionan asistencia tradicional por un precio. Puesto que existe competencia, una opción que no está disponible para el código cerrado, se puede obtener un excelente precio por esa asistencia. Por ejemplo, muchas distribuciones de GNU/Linux incluyen asistencia a la instalación cuando se compra su distribución, y a cambio de un pago adicional proporcionan niveles adicionales de asistencia. Como alternativa, se puede conseguir asistencia gratuita de la comunidad general de usuarios y desarrolladores, a través de grupos de noticias, listas de correo, sitios web y otros foros electrónicos. Aunque este tipo de asistencia no es tradicional, son muchos los que han quedado satisfechos con ella. Por ejemplo, en el premio a la "Mejor Asistencia Técnica" de 1997 de InfoWorld, la premiada fue la "Comunidad de Usuarios de Linux", batiendo a todas las asistencias técnicas de todos los vendedores de programas cerrados. Muchos creen que esto es un efecto colateral de la penetración de Internet: cada vez más usuarios y desarrolladores están comunicados directamente entre ellos, mostrándose que esta aproximación es más efectiva que las alternativas. Para saber más sobre esta filosofía de negocio, lea The Cluetrain Manifesto. Utilizar esta aproximación no tradicional, efectivamente para la asistencia exige seguir ciertas reglas. Para saber más sobre estas reglas, consulte "Como realizar preguntas acertadas". Pero téngase en cuenta que hay una alternativa: utilizar código abierto no conlleva utilizar la asistencia no tradicional y seguir sus reglas, de modo que quienes quieran asistencia tradicional garantizada pueden pagar por ella exactamente como harían por código cerrado.

  2. ¿Le dan los programas cerrados más derechos legales que los abiertos?. No. Algunos han declarado que "con el código abierto se cede el derecho a demandar si las cosas van mal". La respuesta obvia es que esencialmente todas las licencias de programas cerrados también prohíben las reclamaciones legales, luego no hay diferencia entre ellas. Cualquiera que piense que puede demandar a Microsoft o a otros vendedores de programas cerrados cuando las cosas se pongan feas está simplemente engañándose a sí mismo. En cualquier caso, la mayoría de los usuarios no están interesados en demandar a los vendedores, lo que quieren es tener sistemas que funcionen. Vea "Un abogado sénior de Microsoft examina las licencias de código abierto", donde Bryan Pfaffenberger arguye que "con el código abierto... se está, en principio, haciendo negocios con los ojos bien abiertos. Se sabe lo que está obteniendo y si no, siempre se puede encontrar a alguien que lo sepa. Las licencias de código abierto capacitan a la comunidad de usuarios para inspeccionar el código buscando debilidades y tomar conciencia de ellas, lo que seguramente hacen. Tales licencias permiten a los usuarios crear versiones derivadas del código que potencialmente subsanen eventuales problemas que el autor no pudo prever. Permiten a los usuarios determinar cuando el programa contiene salvaguardas adecuadas para la seguridad y sus riesgos. Por contraste, las poderosas firmas de software que forman la UCITA nos piden que compremos código cerrado que puede contener errores o incluso riesgos descarados atribuibles a la negligencia de la corporación, pero no quieren permitirnos ver el código, ni mucho menos modificarlo. No sabemos con ellos lo que estamos adquiriendo". Finalmente, si el programa funciona de modo equivocado y el error es muy grave, lo puede corregir usted mismo o pagar a alguien para que lo haga. Esta opción, que reduce enormemente el riesgo, no existe con el programa cerrado.

  3. ¿Usar código abierto le expone a un gran riesgo de abandono? No. Las empresas cierran, y los particulares pierden el interés en sus productos, tanto en los programas cerrados como en el mundo del código abierto. La mayor diferencia, sin embargo, es que todos los programas abiertos entran automáticamente en relevos: esto es, que si su desarrollador original deja de mantener el producto, cualquier persona o grupo de personas puede seguir adelante y hacerse cargo en su lugar. Este mecanismo se ha visto repetidamente en el código abierto. Por ejemplo, el Gimp es un editor gráfico que fue abandonado por sus desarrolladores originales (no es exacto: abandonaron antes de su salida inicial, y no encontraron a nadie que les sucediera). Incluso en este caso extremo, tras un período de tiempo otros usuarios pueden volver de nuevo y continuar su desarollo. Como en otro ejemplo, NCSA abandonó su servidor de web "httpd", de modo que algunos de sus usuarios se juntaron para mantenerlo, y el resultado devino en Apache, el más popular de los servidores de web.

  4. ¿El código abierto es económicamente viable? Si. Hay empresas que están ganando dinero con él Por otra parte, si se mira sólo a la parte de la oferta, se pierde de vista que los consumidores ahorran enormes cantidades de dinero y obtienen muchos más beneficios por usar código abierto, de modo que hay una fuerte base económica para el éxito. Nadie que esté ahorrando dinero querrá dejar de ahorrarlo, y de esta forma es más barato para los clientes trabajar juntos para pagar pequeñas potenciaciones de un producto abierto que continuar pagando y repagando un producto cerrado. Para muchos, el dinero sigue estando involucrado, pero es dinero ahorrado, no directamente adquirido como beneficio. Algunos vendedores de código abierto han ido mal económicamente, pero muchos vendedores de programas cerrados también. Afortunadamente para los clientes, los productos abiertos no dependen de la situación financiera de un vendedor particular como le ocurre a muchos productos cerrados.

    Fundamentalmente, los programas son económicamente diferentes de los bienes físicos: son infinitamente replicables, esencialmente no cuesta nada reproducirlos, y pueden ser desarrollados por miles de programadores que trabajen juntos con una pequeña inversión, llevando los costes de desarrollo por persona a cantidades muy pequeñas. De esta forma, el coste marginal de desplegar una copia de un paquete de programas se aproxima a cero. Esto explica cómo Microsoft se ha hecho tan rica de una forma tan rápida, y por qué muchos desarrolladores de código abierto pueden continuar proporcionando programas todavía. Vea "Open Source-onomics: cómo examinar algunos argumentos pseudo-económicos sobre el código abierto" de Ganesh Prasad, que pone al descubierto "varios mitos alrededor de la economía del código abierto".

  5. ¿Quiere el código abierto destruir a la industria o a los desarrolladores de programas?. No. ciertamente es posible que muchos productos abiertos eliminen a sus competidores cerrados, pero ésa es la naturaleza de la competencia. Nadie lamenta la perdida de estupendos fabricantes de carretas, que fueron expulsados del mercado por una mejor aproximación al transporte: los coches. Si la aproximación del código abierto supone un reto a las aproximaciones de código cerrado, los vendedores de programas cerrados deberán elegir entre encontrar vías para competir o unirse al movimentos de código abierto. Hasta donde llegan los desarrolladores, el código abierto no necesita que los desarrolladores trabajen gratis. Muchos productos abiertos están siendo desarrollados por empleados cuyo trabajo consiste en hacerlo, o por contratos de trabajo: se contrata a alguien para hacer mejoras específicas en productos abierto. Aun más: se ha producido recientemente un cambio en el código abierto desde el trabajo de programadores voluntarios hacia el desarrollo por programadores experimentados. De nuevo, vea el artículo de Ganesh Prasad para conseguir mas información.

  6. ¿Es el código abierto compatible con el libre mercado?. Sí. Años atrás, alguien intentó etiquetar el código abierto de "comunista" o "socialista", es decir anticapitalista. Pero ese truco falló. Un artículo que explica por qué el libre mercado y el código abierto son compatibles lo encontramos en How Does the Capitalist View Open Source?. Este documento muestra que el código abierto es muy coherente con el mercado libre: incrementa la riqueza sin violar los principios de propiedad o libre empresa.

  7. ¿Y no es un "destructor de la propiedad intelectual"?. No. Puede usted utilizar productos abiertos, como por ejemplo un procesador de textos, para desarrollar información particular y cerrada, y puede mantener esa información tan particular y tan cerrada como desee. Lo que no puede hacer es utilizar el material de otro de alguna forma prohibida por la ley, y esto es cierto para todo los programas, no sólo para los de código abierto. Un caso interesante es la "General Public License" (GPL), la licencia más común de código abierto. Los programas cubiertos por la GPL se pueden modificar, pero cualquier publicación de ese programa modificado debe incluir la oferta del código fuente bajo la misma licencia GPL.

    Microsoft dice que la GPL no le permite tomar ese código, realizarle modificaciones y mantener el código modificado cerrado, pero eso es puramente hipócrita. Microsoft no permite a otros hacer y distribuir cambios al código de Microsoft en absoluto, de forma que la GPL le permite más derechos a los clientes de los que permite Microsoft. Es cierto que las organizaciones que modifican programas sometidos a la GPL deben renunciar a cualquier patente para aquellos añadidos que publiquen, pero tales organizaciones lo hacen voluntariamente, nadie les fuerza a modificar código GPL, y con completo conocimiento, pues todos los programas GPL vienen con una licencia que lo establece claramente. Y tales autorizaciones sólo se aplican a sus modificaciones particulares; las organizaciones pueden conservar otros derechos que no estén relacionados si así lo desean. Toda vez que las organizaciones no pueden hacer modificaciones al código cerrado en casi ningún caso, las organizaciones adquieren más derechos con la licencia GPL que con las licencias cerradas. Y aunque la GPL haya sido llamada algunas veces un "virus" por la forma en que empuja a otros a usar también la licencia GPL, sólo es cierto hasta notar que muchos productos cerrados, aquellos con "efecto red", también lo hacen. Una vez que algunos usuarios empiezan a utilizar un producto como un sistema operativo o un procesador de textos cerrado, se vuelve cada vez más difícil para otros usuarios utilizar un producto diferente. Con el tiempo, el empleo de un producto cerrado particular también se extiende "como un virus". La GPL no "destruye" la propiedad intelectual. En su lugar, crea un nuevo campo de juego, en el que la gente puede contribuir con mejoras al producto voluntariamente sin que le sean "robadas" por otros.

Más información

Aquí tenemos otras fuentes de información relacionadas:

  1. Hay muchos informes que podemos considerar utilizables de usuarios que han cambiado a código abierto. Mandrakesoft mantiene un sitio que registra las experiencias de usuarios empresariales de la distribución Mandrake. Red Hat proporciona alguna información similar. Opensource.org incluye algunos estudio de casos prácticos. Obviamente, las variadas transformaciones a gran escala que han ocurrido sugieren que el código abierto es realmente viable para el despliegue en la empresa. Muchas cajas registradoras de distribuidores comerciales están cambiando a GNU/Linux, de acuerdo con Information Week; por ejemplo, Home Depot planea montar 90.000 terminales que corran Linux en 2003. Hay muchos otros informes de usuarios, tales como el documento Linux como un Recambio para Windows 2000 y los resultados de Amazon.com. The U.S. Joint Strike Fighter (JSF) está utilizando también GNU/Linux. Un proveedor de servicios de aplicaciones de viajes ahorró 170.000$ en costes de programas durante los primeros seis meses de uso de GNU/Linux, tanto en servidores como en ordenadores de sobremesa; también ahorró en hardware, e informó de que la administración es más barata también. CRN's Test Center encontró que una red basada en GNU/Linux con un servidor y 5 estaciones de trabajo cuesta un 93% menos en programas que una red basada en Windows, y encontró también que es una red muy capaz. Adam Wiggins informó sobre la exitosa transición a escritorios con Linux en TrustCommerce.
  2. Microsoft ha estado intentando proclamar que el código abierto es de alguna forma peligroso, y en liderar su crítica, Lee Gomes, del Wall Street Journal encontró que "Microsoft utiliza código abierto a pesar de negar su uso". Aquí tenemos algunos fragmentos interesantes del artículo:

    ...Pero las instrucciones de Microsoft el viernes vienen a sugerir que la compañia está ella misma aprovechándose de esta tecnología que puede desencadenar terribles consecuencias a los demás. "Estoy horrorizado de la forma en que rechaza el código abierto con una mano, mientras depende de él para su negocio con la otra", dijo Marshall Kirk McKusick, un lider del equipo de desarrollo de FreeBSD.

    Más recientemente, Microsoft ha centrado sus iras en la licencia GPL, pero "no ha sugerido previamente que haya formas benignas de OSS, y mientras despotrica contra Linux de forma particularmente crítica, ha tendido a criticar todo el movimimiento de código abierto con el mismo brochazo". El artículo termina con esta sentencia:

    En su campaña contra el OSS, Microsoft ha sido incapaz de proporcioanr ejemplos de empresas que estén siendo dañadas por él. Una razón, dijo Eric von Hippel, un profesor del Massachusetts Institute of Technology que está realizando un esfuerzo de investigación en este campo, es que virtualmente todas las evidencias disponibles sugieren que el OSS es una "ventaja importante" para las empresas. "Son capaces de construir un estándar común que no es propiedad de nadie", dijo. "Con Windows, Microsoft se lo apropia".

  3. Hay varios sitios de información general sobre código abierto o UNIX que pueden ser de interés, tales como la Free Software Foundation (FSF), el sitio web de la Open Source Initiative, el sitio de Linux.org, y el sitio UNIX versus NT. El documento El futuro del código abierto: Es sólo cuestión de tiempo arguye que dentro de pocos años, el sistema operativo de facto que casi todo el mundo utilizará, así como muchos de los programas de consumo masivo, serán abiertos. El libro The Cathedral and the Bazaar de Eric Raymond examina los conceptos y procesos de desarrollo del código abierto. Una colección útil de muchos escritos sobre código abierto, incluyendo el ensayo La Catedral y el Bazar puede encontrarse en Open Source Reader (que tiene una versión en español, N. del T.)
  4. Microsoft defendió el código abierto sin darse cuenta en sus documentos internos, llamados los documentos de "Halloween".
  5. Recomendaciones del comité sobre programas de código abierto para la alta computación; es el informe de una comisió creada por el Comité para la Defensa de la Tecnología de la Información del Presidente (PITAC, USA). Recomienda que "los gobiernos federales deberían potenciar el desarrollo de programas de código abierto como una ruta alternativa para el desarrollo de la computación de alto nivel".
  6. Se han escrito muchos documentos para recoger las instrucciones de Microsoft, tales como "Linux Myths". Esto incluye la respuesta de LWN y la de Jamin Philip Gray, y el sitio de recuento de FUD. La página shared source propone que la idea de "código compartido" de Microsoft es inferior al OSS. El libro de Richard Stallman The GNU GPL and the American Way revisa las proclamas lanzadas por Microsoft indicando que la GPL es "antiamericana". La carta Free Software Leaders Stand Together responde a algunas aseveraciones de Craig Mundie. Se pueden encontrar muchos sitios generales sobre Microsoft, incluyendo el sitio de Cloweth.
  7. "Cómo Big Blue se enamoró de Linux" es un artículo sobre cómo una IBM convencida se está convirtiendo un apoyo fundamental. Ahora IBM planea invertir un millardo de dólares en GNU/Linux, y sólo es una empresa. Vea el informe anual de IBM.
  8. Para tener una visión científicamente impresentable, pero realmente divertida de lo que dice la gente que utiliza los diferentes sistemas operativos, échele un ojo a Operating System Sucks-Rules-O-Meter. Cuenta como muchs páginas web incluyen instrucciones como "Linux rocks". Es realmente sólo un conjunto de opiniones, pero si no para otra cosa, servirá al menos para producirle una buena carcajada.
  9. Varios estudios examinan a los desarrolladores, es decir a quienes escriben los programas, incluyendo "Un Perfil Cuantitativo de una Comunidad de Desarrolladores de código abierto de Linux", Estudio de Herman, Hertel y Niedner basado en cuestionarios, y el estudio Who Is Doing It (WIDI) (Quién lo está haciendo).
  10. Entre otras evaluaciones están las del Gartner Group y de Gnet.
  11. Para conseguir más información general sobre código abierto, vea mi lista de referencias sobre Open Source Software / Free Software (OSS/FS) en http://www.dwheeler.com/oss_fs_refs.html

Conclusiones

El código abierto tiene una cuota de mercado significativa, es quizá el más fiable, y en muchos casos, tiene el mejor rendimiento. El código abierto escala, tanto en tamaño del problema como en tamaño del proyecto. El código abierto generalmente tiene mejor seguridad, particularmente cuando se compara con Windows. El coste total de propiedad para el código abierto es normalmente menor que para el código cerrado, particularmente conforme crece el número de plataformas. Estas aseveraciones no son meramente opiniones. Estos efectos se pueden demostrar cuantitativamente, utilizando una amplia variedad de medidas. Esto incluso no considera otros aspectos dificiles de medir, como la libertad frente al control por una única fuente, la libertad frente a la gestión de licencias con su correspondientes pleitos y la creciente flexibilidad. Creo que las opciones abiertas deberían considerarse cuidadosamente en cualquier momento en el que se necesite programas o hardware para ordenadores.


 

Sobre el Autor


David A. Wheeler es un experto en seguridad informática y tiene una larga historia trabajando con sistemas informáticos grandes y de alto riesgo. Sus libros incluyen Software Inspection: An Industry Best Practice publicado por IEEE CS Press, Ada 95: The Lovelace Tutorial publicado por Springer-Verlag, y el Secure Programming for Linux and UNIX HOWTO. Los artículos que ha escrito incluyen More than a Gigabuck: Estimating GNU/Linux's Size y The Most Important Software Innovations. La dirección web de Mr. Wheeler es http://www.dwheeler.com. Puede ver la versión inglesa actualizada de su artículo en http://www.dwheeler.com/oss_fs_why.html.

Picture of David A. Wheeler