Todos los boludos del mundo discuten si usar Windows o Linux. Y yo parezco ser el único que dice que hay que usar Windows y Linux.
La pelea entre Windows y Linux no existe, al menos no como tal. Así que para aclarar todo el panorama voy a tener que explicar la historia desde el principio.
¿Qué es Windows? ¿Qué es Linux? Todo esto empieza en los años '80, cuando Apple saca al mercado las primera computadoras personales, compitiendo con Altair, Sinclair, etc.
Las computadoras de Apple tenían, además de un mejor hardware, un mejor sistema operativo, lo que incluía además una interfaz gráfica amigable para el usuario.
Para ese entonces, el hardware y el sistema operativo se vendían juntos, y nadie pensaba en distribuir uno sin el otro. Pero se comenzaron a experimentar nuevos modelos de negocios.
Para entonces Bill Gates, al mando de Microsoft, ya había hecho un modelo de negocios de licenciamiento redistribuyendo el sistema operativo que compraron, DOS, el cual en lugar de revenderlo se lo licenciaron a IBM por máquina en la que se instale.
Para competir con Apple, Microsoft copió su interfaz gráfica en el nuevo sistema operativo llamado Windows. Microsoft salió a vender Windows por separado, sin estar vendiendo ninguna computadora.
Al principio Windows estaba disonible para dos plataformas de hardware: la arquitectura x86 de Intel (386, 486, Pentium, y las copias de AMD), que es CISC, y la arquitectura Alpha, de DEC, que era RISC.
En poco tiempo, Microsoft descontinuó el Windows para la arquitectura Alpha. Entonces, la combinación x86+Windows se convirtió en "La Plataforma".
Esto quiere decir que todos los vededores de software (programadores, etc.) querían desarrollar programas para Windows. A fuerza de mercado se impuso un estándar. De pronto, había que tener Windows para poder correr los últimos programas. Todos tenían que comprarle el sistema operativo a Microsoft, y Bill Gates se convirtió en el hombre más rico del planeta.
Paralelamente, Richard Stallman desarrollaba el proyecto GNU, creando todo un set de aplicaciones open source. Stallman se basaba en UNIX para ello; pero como no querían usar el kernel de UNIX, el finés Linus Torvalds creó Linux, un kernel de UNIX modificado. El sistema GNU/Linux es un sistema operativo (kernel+drivers) llamado Linux, y un conjunto de programas, la suite GNU.
Y acá nos encontramos con la gran disyuntiva. Hoy por hoy, Windows es la plataforma comercial reinante. Prácticamente todo software que se distribuye es para Windows, inclusive el software de la sección Downloads de este sitio. Todas las revistas con CD, todas las páginas, todo el mundo distribuye programas para Windows, lo que le hace el juego a Microsoft. Y GNU/Linux se plantea como una alternativa a este monopolio.
Pero ¿Cuál debe de ser el futuro de todo esto? ¿Tenemos que cambiar la dictadura de Windows por una dictadura de Linux? Si es así, entonces no aprendimos nada.
El hecho de que Windows, como sistema operativo, sea la plataforma sobre la que se basa el desarrollo informático es una aberración; pero no solo porque pertenezca a una corporación capitalista; no solo porque, a diferencia de Linux, no sea gratis. Es una aberración porque la tecnología actual está tan avanzada que uno no necesita de un sistema operativo específico para operar una computadora.
En un principio los fabricantes de computadoras (Apple, IBM, Hewlett Packard, Sun, SGI) vendían las computadoras como plataformas. Eso era muy malo. Microsoft cambió la plataforma por el sistema operativo. Seguía siendo malo, aunque no tan malo. Y eso fue, en cierta forma, un avance. Pero se siguió avanzando.
Existen tres cosas que permiten la interoperabilidad entre sistemas, son tres cosas que convierten en irrelevante al sistema operativo que se use. Esas tres cosas son, en este orden:
Lo más importante en esta controversia es remarcar que existen estándares universales, que permiten que "algo" funcione en cualquier sistema operativo. Estos estándares se dividen en formatos (de archivo) y protocolos (de red). No siempre son libres, definidos en base a una especificación de un consorcio de la industria; pero al menos son universales en el sentido de que cualquiera los puede usar e implementar en diversos sistemas sin pagar regalías de ningún tipo.
Como ejemplo, voy a poner el formato de archivo MP3. Este formato ya está tan extendido que se puede abrir en cualquier computadora del mundo, sea la computadora que sea (PC, Mac, etc.) y tenga el sistema operativo que tenga. Al distribuir mi música (suponiendo que tenga una banda) y audio en formato MP3 me aseguro que cualquier persona lo pueda escuchar; cosa que no pasa con el formato Windows Media Audio, que no es un estándar, y sólo se puede escuchar en Windows con Windows Media Player.
Lo mismo pasa para los formatos de texto plano, HTML, RTF y PDF en contraposición al Word; para el Flash en contra del PowerPoint, etc.
Si se usan y acumulan formatos de archivo estándar, no es importante si la computadora tenga Windows o Linux. Se puede migrar a Linux que los archivos anteriormente creados se podrán abrir, y viceversa. Un archivo en formato estándar creado en Linux se puede abrir en Windows, y viceversa.
Esto pasa porque los archivos en formatos estándar pueden ser abiertos por cualquier programa que soporte el estándar; no es necesario que sea un programa específico. Volviendo al ejemplo del MP3, yo escucho MP3 con el WinAmp, pero otra persona escuchará el mismo archivo MP3 con otro programa, como QuickTime, RealOne, MusicMatch Jukebox, etc. Hay infinidad de programas que soportan el estándar MP3, se puede usar cualquiera, tanto en Windows como en Linux.
Con los protocolos pasa lo mismo: pensemos en el e-mail. Una persona que tenga Linux le puede mandar un mail a otra que tenga Windows, y el usuario de Windows le puede responder y quien tenga Linux leerá la respuesta. Probablemente ninguno de los dos sepa jamás qué sistema operativo usa el otro. Protocolos estándar hay muchos además del mail, los usamos todos los días: HTTP (web), IRC (chat), etc.
A pesar de que no hace falta usar un programa en particular para hacer algo, se pueden hacer versiones para Windows y Linux de un mismo programa. Esto puede ser particularmente útil en los videojuegos.
De hecho, ya se hacen. Por lo general, todos los programas que aparecen en Linux terminan siendo portados a Windows. Es el caso del GIMP, un complejo editor de imágenes, muy similar al Adobe Photoshop. Este programa está disponible tanto para Linux como para Windows. Infinidad de programas se encuentran en este estado de doble versión.
Esta razón también hace irrelevante el sistema operativo. Si se usan programas disponibles para la otra plataforma, entonces la migración es muy simple ya que no hay que aprender a usar programas nuevos.
Por último, se puede correr el mismo programa, exactamente el mismo, en Windows y Linux. Para eso el programa debe estar hecho en un lenguaje multiplataforma como Java, el cual permite hacer el truco.
En lugar de que el programa esté compilado para un sistema operativo en particular, está compilado para Java, y el soporte Java existe para todos los sistemas operativos. Por lo que se puede usar exactamente el mismo programa en ambos sistemas, sin bajar dos versiones de lo mismo, sin cambiar una sola línea de código, ni recompilar nada.
Pasa lo mismo para los lenguajes de scripting como Perl y Python.
Algo similar se da con las web applications, programas script hechos en HTML e interpretados por un navegador.
Los web services son programas remotos a los que se accede con un navegador, y se procesan en el servidor. Es el caso del programa buscador Google. Esta tecnología también es independiente del sistema operativo del usuario.
Y para concluir, hoy en día existen las tecnologías de máquinas virtuales con las que se puede emular una computadora dentro de otra, la cual use un sistema operativo distinto.
Como se ve, si se hacen las cosas bien el sistema operativo no es tan importante como popularmente se cree. Ya es hora de abandonar esta discusión y que la gente use lo que quiera. Que cada uno elija, que es nuestro derecho.