El reinicio mágico

Pregunta a cualquier informático, soporte técnico o administrador de sistemas Windows sobre cualquier problema, y la primera cosa que te preguntarán es: ¿Has reiniciado el equipo?

¿Por qué te preguntan esto? Sencillamente porque funciona. Yo mismo resolví hace unos días una crisis en mi oficina reiniciando un servidor.

Tanto es así, que muchos programas te piden reiniciar tras actualizarse bajo la premisa del por si acaso. ¿Sabes la gracia que me hace tener que reiniciar un servidor en el que hay 30 usuarios trabajando porque he actualizado el lector de PDF? En una empresa eso tiene un coste tremendo.

Pero el auténtico misterio es... ¿Por qué funciona? Quiero decir: si tu ordenador está estropeado o mal configurado, al reiniciar seguiría igual; pero si no lo está, debería funcionar sin necesidad de reiniciar...

Recuerdo que esta fue una de mis mayores frustraciones al principio de usar GNU/Linux: ¡Reiniciaba el ordenador y no se arreglaba mágicamente! Pero andando el tiempo, he llegado a apreciarlo. Si está bien configurado, un servidor GNU/Linux sencillamente no tiene necesidad de reiniciarse jamás (incluso tras ciertas actualizaciones del kernel o sus módulos); y si está mal configurado, no creas que reiniciando se va a arreglar solito. Esto no es magia, es ciencia.

Hace falta un antivirus

Hace tiempo que alguien me alarmó de que no tenía antivirus en un ordenador Windows. Desde luego, fue una imprudencia por mi parte, pero fue fruto de la falta de costumbre.

En Linux es prácticamente imposible sufrir el ataque de un virus. Esto es así porque ningún programa puede autoejecutarse en Linux a no ser que manualmente le des permisos de ejecución, y por muy malo que sea lo que haga, nunca podrá tener permisos suficientes para dañar el sistema en sí u otros usuarios del mismo.

Evidentemente, esto es la teoría. Una mala configuración, un bug o un despiste pueden jugarnos malas pasadas; pero el concepto generalmente conocido como virus nos es algo ajeno.

El dogma al que nos enfrentamos ahora es que hace falta tener un antivirus instalado o eres carne de cañón para los atacantes. Esto es mentira.

Ejercitemos nuestras pequeñas células grises. Ningún sistema operativo es creado para ser infectado por virus. Por tanto, ¿por qué existen virus? Porque existen vulnerabilidades en el sistema operativo. Y si mi sistema tiene vulnerabilidades, ¿cómo se corrigen? Pues lo más normal sería que alguien notificara al desarrollador para que tapara esa vulnerabilidad, y tú recibirías el parche en la siguiente actualización.

Si al casco de tu barco le salen agujeros, puedes taponarlos con un antivirus, o reparar el casco con actualizaciones. Pero si reparas el casco, ¿para qué te sirven los tapones?

En el caso de Windows, es una plataforma cerrada. Como tal, tan solo Microsoft tiene acceso al código fuente, y por tanto sólo ellos pueden descubrir (o ser notificados de) los agujeros de seguridad de su sistema. Cuando un fabricante de un antivirus descubre una vulnerabilidad, en lugar de notificar a Microsoft, la parchea con su antivirus; mientras que cuando la descubre un cracker (si se da el caso de que no es la misma persona), la aprovecha para crear el virus. Todo esto genera un mercado en el que cada cual quiere tener un antivirus (o virus) mejor, y nadie abre el código a los demás.

En el caso de Linux, es una plataforma abierta, con el código fuente a la vista de todo el mundo. Esto hace que mucha gente se dedique a inspeccionarlo, y cuando se descubre una vulnerabilidad, es notificada al proyecto, es parcheada, y en la siguiente actualización todo el mundo recibe su parche. Por tanto, el equivalente al antivirus en Linux, sería tener el sistema actualizado. Esto sí que es imprescindible. Por suerte, mientras estés usando una distribución con soporte, las actualizaciones de seguridad no deberían tardar más de 2 días en llegarte.

Ojo, no estoy presumiendo que Linux sea invulnerable. Por muy seguro que sea un sistema, la posibilidad de sufrir un 0day siempre existe. Tan solo digo que el antivirus no es la solución. Hablando de eso... ¿alguien ha visto alguna vez un antivirus que no se parezca a un virus? Porque todos los que he visto yo te sacan carteles a todas horas, te amenazan con que tu equipo está en peligro, y te intentan sacar el número de la tarjeta de crédito...

Hace falta Windows

Afortunadamente este dogma empieza a desaparecer, ya que Microsoft ha perdido su monopolio del escritorio. No tanto porque los escritorios lleven otras cosas (que también), sino porque están pasando de moda en favor de las tabletas.

Sin embargo, para el trabajador o el jugón sigue existiendo este dogma.

Cierto es que en ocasiones no te queda más remedio que usar una aplicación de Windows, pero eso no quiere decir necesariamente que necesites Windows. Gracias a Wine, yo he sido capaz de pasarme juegazos AAA como la primera trilogía de Batman Arkham sin necesidad de Windows. También me sirve para gastar la única aplicación que hoy en día sigo necesitando de Windows.

Y no nos podemos olvidar de Steam, cuyo objetivo desde hace unos años es convertirse en una videoconsola, y para ello simplemente han decidido darle un estilo más consolero a su cliente, ofrecerlo para Linux, darle soporte oficial en Ubuntu y en su propia distribución SteamOS (basada en Debian), ir portando más y más juegos a Linux (3002 a día de hoy) y añadir capacidades de streaming en red local para poder jugar desde tu SteamOS a los juegos que tengas en el PC con Windows. Y eso sin olvidar que el cliente de Windows funciona con Wine sin problemas...

En un entorno empresarial la cosa puede cambiar, sobre todo por ciertos programas específicos para tu negocio que sólo funcionen en Windows, pero hoy en día esto suele ser síntoma de que el programa está atrasado, ya que un programa moderno debería preocuparse de la movilidad, un concepto fundamental en la empresa moderna. Si quieres un consejo, intenta evitar programas que no sean vía web o al menos multiplataforma.

Y no podemos olvidarnos del problema más grande de todos: Office. Para evitar Windows tendrías 3 opciones: correrlo bajo Wine, usar Office 365 (versión web en tu ordenador, versiones instaladas en móviles y tabletas) o usar LibreOffice. Ésta última opción es multiplataforma y muy buena, aunque Calc queda muy por detrás de Excel en un uso avanzado con tablas y gráficos dinámicos, y a día de hoy no hay una buena versión para dispositivos móviles.

Windows es fácil

Creo que este es el mayor de los dogmas que profesan sus usuarios, aunque creo que es también uno que empieza a desaparecer porque hoy la gente está más acosumbrada a tratar con diversos sistemas operativos.

En cualquier caso, vamos a ser realistas y poner el más típico de los casos: un señor se compra un ordenador con Windows (como todos) y decide que quiere usarlo para trabajar con Office. Al encender el ordenador, Windows le avisa de que tiene una versión de prueba que caducará a los 30 días si no hace un desembolso de dinero en una licencia. Al señor le parece que ya ha pagado bastante y decide piratearlo. Suponiendo que no haga como hacen todos y pida ayuda a algún conocido para que le haga el trabajo sucio (gratis, obviamente (si no ha pagado la licencia, ¿crees que pagará a su amigo?)), tendrá que recorrer cientos de páginas en busca de ese crack que active falsamente su Windows comprado genuinamente. En el periplo se da cuenta de que su versión de Windows está anticuada, así que decide actualizarlo antes de crackearlo, pero la actualización sería de pago también, así que reinstala el sistema operativo completo, y luego lo crackea. ¿He mencionado que lo quería para trabajar? Pues ahora toca hacer lo mismo con Office... ¡Rayos! ¡Office 365 me pide una suscripción mensual! A bajarse una versión crackeada de Office 2010, y esperemos que jamás se actualice y que ninguno de esos keygen le haya metido un virus. ¡Se me olvidaba! Hay que buscar también un antivirus crackeado y repetir el proceso, aunque no sé quién confiaría la seguridad de su equipo en un antivirus que puede ser fácilmente crackeado...

De acuerdo, no es justo hacer una comparación tan pirata, pero incluso en el caso de un señor que compra un ordenador actualizado y a quien no le importa gastar dinero en licencias (¿alguien conoce un caso de estos?), al abrir su ordenador por primera vez no puede trabajar directamente, y a la hora de instalar programas necesita buscar por infinidad de sitios, y pasar por el tedioso proceso de pulsar siguiente, siguiente, siguiente infinidad de veces, y se equivocará en algo y se instalará algún adware como mínimo casi seguro, y el antivirus le molestará a cada rato, y cada programa se actualizará de una manera diferente (si es que tiene función de actualizaciones automáticas), y montones de programas sacarán ventanitas en alguna esquina de la pantalla, y el registro se le saturará de basura y tendrá que instalarse un programa que se encargue de limpiarlo regularmente, y de tanto instalar y desinstalar cosas, el ordenador acabará ralentizándose, y tarde o temprano tendrá que defragmentar el disco duro o formatear y reinstalar. Esto por sólo nombrar unas cosas.

Amigos, Windows NO es fácil.

¿Y por qué muchos lo encuentran más fácil que otros sistemas? Básicamente, porque están acostumbrados a él. Pero en los tiempos de GNOME 2 fue cuando mi madre empezó por primera vez con la informática, y empezó con dicho entorno en Ubuntu. Cuando más tarde le hicieron migrar a Windows, todo le parecía confuso y farragoso. Lo difícil es cambiar, pero si es a mejor, vale la pena.

Windows es versátil

El dogma común es que lo bueno de Windows es que todo tiene versión para Windows, y te sirve para todo; pero esto es parecido a lo que he comentado antes: depende de a qué estés acostumbrado. En lo personal, tras llevar mucho tiempo con Linux, es llegar a Windows y empiezo a echar en falta aplicaciones.

[caption id="" align="alignright" width="638"]La mascota contra el rebaño La mascota requiere tiempo y muchos cuidados manuales, cada una es diferente. Los rebaños son todos iguales, y cuando uno no te sirve, te compras otro.[/caption]

Además, la realidad es que con Windows es prácticamente imposible aplicar el modelo ganado (en contraposición del modelo mascota). Todo tiene que hacerse manualmente, cada vez repitiendo los mismos pasos para cada máquina; y además a golpe de click de ratón, lo que complica la automatización por scripts.

La realidad es que para usar Windows necesitas un entorno gráfico, aun en los casos en que esto es un desperdicio de recursos innecesario.

La realidad es que no puedes confiar en Windows para hacer un servidor de alta disponibilidad, porque es más vulnerable, inestable, y necesitado de reiniciar que cualquier otro sistema que conozca.

La realidad es que las aplicaciones realmente profesionales (al menos en el mundo informático) suelen tener una versión que funciona en Windows, pero es mucho más complicado de mantener, instalar, y rinden peor. Recientemente tuve que ayudar a un compañero a prepararse un entorno de desarrollo con SSH, Git, Python y Docker, herramientas que están a la última en cuanto a tecnología. Pues bien, fue tan complicado que acabamos instalando Fedora. Una vez hecho, con una línea de comandos tenía todo lo que necesitaba.

Conclusión

A todas luces este es un artículo de opinión, de parte de alguien que odia Windows y que hace años que no lo usa de manera intensiva. El uso que le doy hoy en día no es otro que administración de ciertos servidores Windows, lo cual es especialmente horrible. Pero ese odio no es fruto de un prejuicio, sino de muchas horas desperdiciadas lidiando con los dogmas y problemas que he descrito anteriormente.

Muy probablemente con las últimas versiones de Windows la cosa haya mejorado mucho, sean más seguros, más bonitos, y hasta creo que tienen tienda de aplicaciones (que dicho sea de paso, parece la idea del siglo, pero ¿alguien sabe desde cuándo existe apt-get?); pero a estas alturas ni siquiera me plantearía un cambio. Aunque arreglaran todo esto, sigue siendo una plataforma enfocada a un solo entorno (usuario), de pago, y tecnológicamente muy atrasada.

Todo ello es fruto de ser cerrada, que es su peor fallo. Esto siempre supone un lastre para la innovación, ya que ata a los desarrolladores a las decisiones de una empresa central cuyo objetivo es hacerles esclavos de su sistema. ¿Alguna vez has visto a alguien que programe en .NET plantearse huir de Windows, o montar un servidor que no sea Windows? Pues esta drogodependencia tecnológica es lo que enseñan en las escuelas de programación.

Confieso que ahora que .NET ha sido liberado y multiplataformizado (palabraco) puede empezar a ser interesante, pero hay que admitir que la antigua Microsoft nunca hubiera hecho tal cosa, y muchos de los que aprendieron con ello siguen con el mismo problema.