¿Que cuernos es Linux? (Parte 1)
¿Que es un Sistema Operativo?:
Todos más o menos tenemos claro la diferencia entre Hardware y Software.
Alguien dijo alguna vez que hardware son todas las partes de la computadora que podemos golpear cuando el software falla. Y no está tan mal. El monitor o el teclado son hardware, y Office o Encarta son software.
Dentro de toda la variedad de software que podemos encontrar (procesadores de texto, navegadores, reproductores de mp3, etc) hay un tipo muy especial que llamamos Sistema Operativo (en adelante SO).
No se ocupan especÃficamente de una tarea como el resto del software, sino que tienen la función de dar soporte y coordinar el resto de software (o aplicaciones) instalados en la computadora. De esta manera, por ejemplo MSWord no accede al disco por su cuenta, ni se ocupa de leer el teclado o generar la imagen en el monitor. Él simplemente se encarga de procesar texto, y deja el resto de las tareas en manos del SO Windows. De esta forma, el SO administra los recursos que las aplicaciones necesita, además de permitirnos abrirlas, cerrarlas, e intercambiar de una a otra.
Está claro que hay varias aplicaciones que compiten entre sà para una determinada función.
MS-FrontPage y Adobe Dreamweaver son aplicaciones para crear y editar páginas web, y cada diseñador tiene sus preferencias. De la misma manera hay distintas aplicaciones para ver videos, escuchar música, navegar y hasta para la oficina.
Sin embargo, lo que parece estar claro para las aplicaciones, por algún motivo, no lo está nada para los sistemas operativos. Quiero decir, es un hecho que la gran mayorÃa de la gente asocia PC con Windows.
Pero: ¿Es realmente Windows el único sistema operativo sobre el que correr las aplicaciones?
La respuesta es claramente NO.
Si bien Windows es por lejos, y por motivos a veces un poco oscuros, el SO mas utilizado en la actualidad, ni remotamente es el único como a veces nos quieren hacer creer. Existen otros SO como OS2, UNIX, BSD, y mi querido Linux. El primero es un SO comercial (o sea, hay que pagar por él) realizado y abandonado por IBM, el segundo un antiquÃsimo (en términos informáticos algo con más de 30 años es antiquÃsimo) SO comercial desarrollado para ejecutarse en enormes computadoras y que ha evolucionado enormemente durante décadas. BSD y Linux son clones de Unix (en pocas palabras imitan su filosofÃa) pero son de distribución libre (basicamente, son gratuitos).
En principio todos tienen sus aplicaciones especÃficas, y no se puede ejecutar MS-Office sobre Linux ni AmaroK (el programa con el que escucho música ahora) sobre Windows. Claro que esto tiene algunas soluciones, pero luego las veremos.
La pregunta del millón: ¿Y a mi que me importa todo esto, si yo soy feliz con mi Windows?
Bien... es la pregunta más difÃcil de responder, porque evidentemente existe allá afuera un mundo al que no le interesa mucho cambiar de SO. Pero informarse antes de decidir no está mal. Una cosa es poner en la balanza pros y contras de uno y otro y quedarse con Windows porque parece el mejor, y otra es quedarse con Windows por simple ignorancia.
Lo que sigue es un humilde aporte que intenta ayudar a romper la idea general de que Windows es a la PC lo que las ruedas al automóvil.
Una vez claro que Windows no es la única opción de SO, la siguiente pregunta es ¿Y que diferencia uno con otro?. A mi particularmente me interesa comentar algunas diferencias entre Windows y lo que hoy se perfila como su principal alternativa: Linux.
Intentaré comparar uno y otro.
Codigo abierto vs Código cerrado:
El código (o las fuentes) son las instrucciones que escriben los programadores, y que luego la computadora ejecuta. El caso es que las computadoras no ejecutan el código tal cual los programadores lo tipean, sino que previamente deben compilarse para traducirlos a ceros y unos (por eso se suele llamar binarios a las aplicaciones compiladas) que es lo que entiende la máquina. Pero asà como la PC no entiende las instrucciones sin compilar, los humanos no las entendemos compiladas, por lo que, aunque seamos expertos programadores necesitaremos el código fuente para modificar la aplicación, corregir errores o adaptarla a nuestro gusto.
Designamos código abierto al software con el que tenemos la posibilidad de obtener no solo los binarios sino también las fuentes. Como contrapartida, el software código cerrado es aquel del que solo podemos obtener los binarios. Comprando un CD con una aplicación de código cerrado, obtenemos solo los binarios. No podemos mejorar, ni actualizar ni corregir nada de ninguna de sus aplicaciones, porque no tenemos el código para editarlo y recompilarlo.
A esta altura, es usuario común se viene preguntando "¿Para que cuernos quiero el código fuente, si ni tengo idea de programación, y ni siquiera podrÃa compilarlo?.
Pues claro... la idea no es que el usuario promedio modifique ni compile el código fuente. Los conocimientos que necesitan para esto no son pocos y aún con ellos no es una tarea sencilla.
Pero no debemos olvidar que hay miles de programadores en esas condiciones. Ellos son los que sacan ventaja de poder conocer el código, depurarlo, mejorarlo, actualizarlo para que nosotros lo utilicemos.
Hay una ventaja más respecto al código abierto: Sin ánimo de sembrar la paranoia, ¿Alguien pensó en que cosas hace su PC?. NO hablo de lo obvio... todos sabemos que con ella abrimos y cerramos ventanitas, chateamos con amigos, enviamos correo y escuchamos música. Pero ¿estamos seguros que eso es todo?. Quiero decir, muchos de nosotros, en casa o en el trabajo, trabajamos, consultamos y guardamos información muy importante, y la verdad no podemos estar seguros de que el software que tenemos instalado cuida nuestra información. Nada le costarÃa a los programadores agregar código para que por ejemplo, guarde las tarjetas de crédito nuestras, contraseñas del banco, etc y las envÃe por correo a alguien. Si... ciertamente parece un delirio, y seguramente lo es hablando de un sistema operativo. Pero muchas aplicaciones lo hacen. Son llamadas Spywares, y si bien en general no roban datos como un nro de cuenta bancaria, si toman información personal y la envÃan via internet (de paso consumiento parte del ancho de banda que pagamos). Esto se vuelve mas peligroso si pensamos que no solo particulares usan una PC. Empresas y hasta el gobierno guardan sus mas valiosos secretos en un disco rÃgido. ¿Cómo saber si el SO o alguna aplicación no está enviando esa información a otros?. Bien, ninguna aplicación espÃa dice entre sus especificaciones "Especialmente diseñada para divulgar sus mas Ãntimos secretos". Simplemente lo hacen a escondidas, aprovechándose de que nadie puede leer el código que ejecutan. En el código abierto, eso no existe, por la simple razón de que no hay lugar donde esconder código espÃa. El código está disponible para todos los que quieran leerlo. Claro, no todos sabemos leerlo, pero confiamos en que si algo es público, habrá quienes denuncien cualquier irregularidad. Se me ocurre compararlo con un club que publica un balance con todos sus nros. Si no conozco algo de contabilidad, quizás no entienda nada del balance, pero me tranquiliza el hecho de que cualquiera que quiera y entienda lo pueda leer para comprobar que no nos están robando el dinero de las cuotas. En cambio, si todo se mantiene en estricto secreto, posiblemente desconfiarÃa a la primera oportunidad.
Entonces tenemos aquà la primer gran diferencia entre Windows y Linux. Windows es de código cerrado. Adquirir un CD de Windows es tener una copia de los binarios y no del código fuente. Que Windows mejore depende solo de la voluntad de Microsoft (quién lo desarrolla a partir del código fuente que solo ellos tienen) y a nosotros nos queda confirar en que Windows hace solo lo que Microsoft nos dice que hace. Del otro lado, Linux es código abierto. Todas las instrucciones de Linux están disponibles para aquellos que quieran verlas. De hecho, ni siquiera es necesario conseguir los binarios para instalar Linux, sino que se puede conseguir el código fuente y compilarlo completo. Adicionalmente, al ser de código abierto, no existe un solo Linux, sinó que existen muchos grupos de programadores (en general universidades o incluso empresas) que toman el código, lo adaptan, agregan o quitan aplicaciones, y generan lo que se llaman Distribuciones, que son distintos "sabores" de Linux, orientados a distintas PCs, distintos gustos y distintos usos, desde juegos, hasta oficina, diseño gráfico o medicina.
Diferencias de Liciencias.
A decir verdad, una aplicación código cerrado no es tecnicamente imposible de modificar. Aún no teniendo el código se pueden hacer modificaciones en los binarios por varias técnicas, pero son todas extremadamente complejas y en general la relación costo/beneficio no es razonable.
Pero la limitación no es solo técnica. Es ilegal hacer cualquier tipo de modificación en un binario de las aplicaciones comerciales como Windows, según dice el contrato que uno debe aceptar antes de utilizarlas.
La filosofÃa código abierto es justamente la contraria. El código se abre como una forma de alentar el trabajo colaborativo, y que cualquiera pueda cambiar lo que desee y compartirlo.
Diferencias de costo.
En principio, es donde menos se necesita entrar en detalle, pero de todas maneras creo que no es un tema menor, como veremos más adelante.
Windows tiene un costo en la licencia. No solo debemos pagar por un original, sino que ese original tiene licencia solo para una PC. Si queremos instalarlo en otras PCs simultaneamente, debemos adquirir más licencias. Supongamos solamente una PC. El costo de Windows Vista (la última versión) es cercano a los 200 dólares en Argentina, y no es que podamos hacer mucho con Windows solo. Instalar Office son unos 450 dólaras más.
A cambio de todo esto, Linux tiene un costo de licencia de cero dólares. O sea, una vez que obtenemos un CD de Linux, podemos instalarlo en cuantas PCs querramos, incluso aunque no sean nuestras y sin pagar un centavo de más. Pero cuanto cuesta un CD con Linux. Bueno... depende cuanto querramos pagar, pero lo más frecuente es obtenerlo gratis, porque es legal hacer todas las copias que querramos!
De hecho, las empresas que mantienen distribuciones de Linux, tienen páginas webs desde las que se puede descargar la úlima versión sin poner la tarjeta de crédito, sin mandar SMSs, y sin que caduquen a los 30 dÃas (y sobre todo sin necesidad de entrar a astalavista para buscar un crack). Están ahÃ, y es legal descargarlo. También existen distribuciones dando vuelta por la net en Torrent, la mula y otros programas P2P, y también eso es legal cuando se trata de Linux. Y cuanto cuesta instalar alguna aplicación de oficina para linux? Nada. En general todas las distribuciones Linux traen aplicaciones de oficina preinstaladas. Resumiento, una vez instalado Linux del CD, ya está instalado OpenOffice (una aplicación de oficina casi idéntica a MS-Office y que también existe para Windows), una aplicación para ver videos, oÃr música, conectarse a internet, navegar, chatear, ver fotos, etc. Todo gratis. Claro que esas aplicaciones también se pueden conseguir por separado, y para variar, también gratis.
¿Puede ser de buena calidad algo que te regalan?
Estrictamente que sea gratis no garantiza que sea bueno, pero tampoco garantiza que lo sea que te cobren por él. Lo que si está claro es que un software gratis no tiene porqué ser malo.
El mejor ejemplo es el servidor web Apache. Según datos de internet, entre el 60 y el 70% de las páginas que visitamos diariamente corren sobre un servidor Apache (más del doble de las que corren sobre el servidor de Microsoft). Pues bien, Apache es de código abierto, y gratuito.
Otro gran ejemplo es MySQL. Es uno de los motores de base de datos mas importantes y es utilizado por organizaciones como Amazon.com, Google, Yahoo!, CNET, Wikipedia y hasta la NASA. Ninguna de ellas utiliza una base de datos gratuita por problemas de presupuesto. La única explicación es que vieron en ella la mejor opción.
Estos ejemplos no son descabellados para el usuario medio. Son aplicaciones que también corren en una PC pequeña en una empresa o en casa, y en general están en cualquier distribución de Linux (y si no está, se consigue gratis, por supuesto). Y hay ejemplos más cotidianos también que ya veremos más adelante.

Continuará...
Links recomendados:
Restricciones en el contrato de uso de Wiindows/Office
Todos más o menos tenemos claro la diferencia entre Hardware y Software.
Alguien dijo alguna vez que hardware son todas las partes de la computadora que podemos golpear cuando el software falla. Y no está tan mal. El monitor o el teclado son hardware, y Office o Encarta son software.
Dentro de toda la variedad de software que podemos encontrar (procesadores de texto, navegadores, reproductores de mp3, etc) hay un tipo muy especial que llamamos Sistema Operativo (en adelante SO).
No se ocupan especÃficamente de una tarea como el resto del software, sino que tienen la función de dar soporte y coordinar el resto de software (o aplicaciones) instalados en la computadora. De esta manera, por ejemplo MSWord no accede al disco por su cuenta, ni se ocupa de leer el teclado o generar la imagen en el monitor. Él simplemente se encarga de procesar texto, y deja el resto de las tareas en manos del SO Windows. De esta forma, el SO administra los recursos que las aplicaciones necesita, además de permitirnos abrirlas, cerrarlas, e intercambiar de una a otra.
Está claro que hay varias aplicaciones que compiten entre sà para una determinada función.
MS-FrontPage y Adobe Dreamweaver son aplicaciones para crear y editar páginas web, y cada diseñador tiene sus preferencias. De la misma manera hay distintas aplicaciones para ver videos, escuchar música, navegar y hasta para la oficina.
Sin embargo, lo que parece estar claro para las aplicaciones, por algún motivo, no lo está nada para los sistemas operativos. Quiero decir, es un hecho que la gran mayorÃa de la gente asocia PC con Windows.
Pero: ¿Es realmente Windows el único sistema operativo sobre el que correr las aplicaciones?
La respuesta es claramente NO.
Si bien Windows es por lejos, y por motivos a veces un poco oscuros, el SO mas utilizado en la actualidad, ni remotamente es el único como a veces nos quieren hacer creer. Existen otros SO como OS2, UNIX, BSD, y mi querido Linux. El primero es un SO comercial (o sea, hay que pagar por él) realizado y abandonado por IBM, el segundo un antiquÃsimo (en términos informáticos algo con más de 30 años es antiquÃsimo) SO comercial desarrollado para ejecutarse en enormes computadoras y que ha evolucionado enormemente durante décadas. BSD y Linux son clones de Unix (en pocas palabras imitan su filosofÃa) pero son de distribución libre (basicamente, son gratuitos).
En principio todos tienen sus aplicaciones especÃficas, y no se puede ejecutar MS-Office sobre Linux ni AmaroK (el programa con el que escucho música ahora) sobre Windows. Claro que esto tiene algunas soluciones, pero luego las veremos.
La pregunta del millón: ¿Y a mi que me importa todo esto, si yo soy feliz con mi Windows?
Bien... es la pregunta más difÃcil de responder, porque evidentemente existe allá afuera un mundo al que no le interesa mucho cambiar de SO. Pero informarse antes de decidir no está mal. Una cosa es poner en la balanza pros y contras de uno y otro y quedarse con Windows porque parece el mejor, y otra es quedarse con Windows por simple ignorancia.
Lo que sigue es un humilde aporte que intenta ayudar a romper la idea general de que Windows es a la PC lo que las ruedas al automóvil.
Una vez claro que Windows no es la única opción de SO, la siguiente pregunta es ¿Y que diferencia uno con otro?. A mi particularmente me interesa comentar algunas diferencias entre Windows y lo que hoy se perfila como su principal alternativa: Linux.
Intentaré comparar uno y otro.
Codigo abierto vs Código cerrado:
El código (o las fuentes) son las instrucciones que escriben los programadores, y que luego la computadora ejecuta. El caso es que las computadoras no ejecutan el código tal cual los programadores lo tipean, sino que previamente deben compilarse para traducirlos a ceros y unos (por eso se suele llamar binarios a las aplicaciones compiladas) que es lo que entiende la máquina. Pero asà como la PC no entiende las instrucciones sin compilar, los humanos no las entendemos compiladas, por lo que, aunque seamos expertos programadores necesitaremos el código fuente para modificar la aplicación, corregir errores o adaptarla a nuestro gusto.
Designamos código abierto al software con el que tenemos la posibilidad de obtener no solo los binarios sino también las fuentes. Como contrapartida, el software código cerrado es aquel del que solo podemos obtener los binarios. Comprando un CD con una aplicación de código cerrado, obtenemos solo los binarios. No podemos mejorar, ni actualizar ni corregir nada de ninguna de sus aplicaciones, porque no tenemos el código para editarlo y recompilarlo.
A esta altura, es usuario común se viene preguntando "¿Para que cuernos quiero el código fuente, si ni tengo idea de programación, y ni siquiera podrÃa compilarlo?.
Pues claro... la idea no es que el usuario promedio modifique ni compile el código fuente. Los conocimientos que necesitan para esto no son pocos y aún con ellos no es una tarea sencilla.
Pero no debemos olvidar que hay miles de programadores en esas condiciones. Ellos son los que sacan ventaja de poder conocer el código, depurarlo, mejorarlo, actualizarlo para que nosotros lo utilicemos.
Hay una ventaja más respecto al código abierto: Sin ánimo de sembrar la paranoia, ¿Alguien pensó en que cosas hace su PC?. NO hablo de lo obvio... todos sabemos que con ella abrimos y cerramos ventanitas, chateamos con amigos, enviamos correo y escuchamos música. Pero ¿estamos seguros que eso es todo?. Quiero decir, muchos de nosotros, en casa o en el trabajo, trabajamos, consultamos y guardamos información muy importante, y la verdad no podemos estar seguros de que el software que tenemos instalado cuida nuestra información. Nada le costarÃa a los programadores agregar código para que por ejemplo, guarde las tarjetas de crédito nuestras, contraseñas del banco, etc y las envÃe por correo a alguien. Si... ciertamente parece un delirio, y seguramente lo es hablando de un sistema operativo. Pero muchas aplicaciones lo hacen. Son llamadas Spywares, y si bien en general no roban datos como un nro de cuenta bancaria, si toman información personal y la envÃan via internet (de paso consumiento parte del ancho de banda que pagamos). Esto se vuelve mas peligroso si pensamos que no solo particulares usan una PC. Empresas y hasta el gobierno guardan sus mas valiosos secretos en un disco rÃgido. ¿Cómo saber si el SO o alguna aplicación no está enviando esa información a otros?. Bien, ninguna aplicación espÃa dice entre sus especificaciones "Especialmente diseñada para divulgar sus mas Ãntimos secretos". Simplemente lo hacen a escondidas, aprovechándose de que nadie puede leer el código que ejecutan. En el código abierto, eso no existe, por la simple razón de que no hay lugar donde esconder código espÃa. El código está disponible para todos los que quieran leerlo. Claro, no todos sabemos leerlo, pero confiamos en que si algo es público, habrá quienes denuncien cualquier irregularidad. Se me ocurre compararlo con un club que publica un balance con todos sus nros. Si no conozco algo de contabilidad, quizás no entienda nada del balance, pero me tranquiliza el hecho de que cualquiera que quiera y entienda lo pueda leer para comprobar que no nos están robando el dinero de las cuotas. En cambio, si todo se mantiene en estricto secreto, posiblemente desconfiarÃa a la primera oportunidad.
Entonces tenemos aquà la primer gran diferencia entre Windows y Linux. Windows es de código cerrado. Adquirir un CD de Windows es tener una copia de los binarios y no del código fuente. Que Windows mejore depende solo de la voluntad de Microsoft (quién lo desarrolla a partir del código fuente que solo ellos tienen) y a nosotros nos queda confirar en que Windows hace solo lo que Microsoft nos dice que hace. Del otro lado, Linux es código abierto. Todas las instrucciones de Linux están disponibles para aquellos que quieran verlas. De hecho, ni siquiera es necesario conseguir los binarios para instalar Linux, sino que se puede conseguir el código fuente y compilarlo completo. Adicionalmente, al ser de código abierto, no existe un solo Linux, sinó que existen muchos grupos de programadores (en general universidades o incluso empresas) que toman el código, lo adaptan, agregan o quitan aplicaciones, y generan lo que se llaman Distribuciones, que son distintos "sabores" de Linux, orientados a distintas PCs, distintos gustos y distintos usos, desde juegos, hasta oficina, diseño gráfico o medicina.
Diferencias de Liciencias.
A decir verdad, una aplicación código cerrado no es tecnicamente imposible de modificar. Aún no teniendo el código se pueden hacer modificaciones en los binarios por varias técnicas, pero son todas extremadamente complejas y en general la relación costo/beneficio no es razonable.
Pero la limitación no es solo técnica. Es ilegal hacer cualquier tipo de modificación en un binario de las aplicaciones comerciales como Windows, según dice el contrato que uno debe aceptar antes de utilizarlas.
La filosofÃa código abierto es justamente la contraria. El código se abre como una forma de alentar el trabajo colaborativo, y que cualquiera pueda cambiar lo que desee y compartirlo.
Diferencias de costo.
En principio, es donde menos se necesita entrar en detalle, pero de todas maneras creo que no es un tema menor, como veremos más adelante.
Windows tiene un costo en la licencia. No solo debemos pagar por un original, sino que ese original tiene licencia solo para una PC. Si queremos instalarlo en otras PCs simultaneamente, debemos adquirir más licencias. Supongamos solamente una PC. El costo de Windows Vista (la última versión) es cercano a los 200 dólares en Argentina, y no es que podamos hacer mucho con Windows solo. Instalar Office son unos 450 dólaras más.
A cambio de todo esto, Linux tiene un costo de licencia de cero dólares. O sea, una vez que obtenemos un CD de Linux, podemos instalarlo en cuantas PCs querramos, incluso aunque no sean nuestras y sin pagar un centavo de más. Pero cuanto cuesta un CD con Linux. Bueno... depende cuanto querramos pagar, pero lo más frecuente es obtenerlo gratis, porque es legal hacer todas las copias que querramos!
De hecho, las empresas que mantienen distribuciones de Linux, tienen páginas webs desde las que se puede descargar la úlima versión sin poner la tarjeta de crédito, sin mandar SMSs, y sin que caduquen a los 30 dÃas (y sobre todo sin necesidad de entrar a astalavista para buscar un crack). Están ahÃ, y es legal descargarlo. También existen distribuciones dando vuelta por la net en Torrent, la mula y otros programas P2P, y también eso es legal cuando se trata de Linux. Y cuanto cuesta instalar alguna aplicación de oficina para linux? Nada. En general todas las distribuciones Linux traen aplicaciones de oficina preinstaladas. Resumiento, una vez instalado Linux del CD, ya está instalado OpenOffice (una aplicación de oficina casi idéntica a MS-Office y que también existe para Windows), una aplicación para ver videos, oÃr música, conectarse a internet, navegar, chatear, ver fotos, etc. Todo gratis. Claro que esas aplicaciones también se pueden conseguir por separado, y para variar, también gratis.
¿Puede ser de buena calidad algo que te regalan?
Estrictamente que sea gratis no garantiza que sea bueno, pero tampoco garantiza que lo sea que te cobren por él. Lo que si está claro es que un software gratis no tiene porqué ser malo.
El mejor ejemplo es el servidor web Apache. Según datos de internet, entre el 60 y el 70% de las páginas que visitamos diariamente corren sobre un servidor Apache (más del doble de las que corren sobre el servidor de Microsoft). Pues bien, Apache es de código abierto, y gratuito.
Otro gran ejemplo es MySQL. Es uno de los motores de base de datos mas importantes y es utilizado por organizaciones como Amazon.com, Google, Yahoo!, CNET, Wikipedia y hasta la NASA. Ninguna de ellas utiliza una base de datos gratuita por problemas de presupuesto. La única explicación es que vieron en ella la mejor opción.
Estos ejemplos no son descabellados para el usuario medio. Son aplicaciones que también corren en una PC pequeña en una empresa o en casa, y en general están en cualquier distribución de Linux (y si no está, se consigue gratis, por supuesto). Y hay ejemplos más cotidianos también que ya veremos más adelante.

Continuará...
Links recomendados:
Restricciones en el contrato de uso de Wiindows/Office





























