17 feb. 2007

Lo que no funciona con Microsoft Windows

(Traducido libremente y con permiso de la página web de Ray Benjamin)

Windows de Microsoft ha sido el sistema operativo dominante para computadoras personales durante más de 10 años. Durante este tiempo ha tenido poca competencia. Mientras Windows hacía considerables progresos en usabilidad, hay multitud de problemas que han aparecido y continúan sin respuesta. Hay situaciones en las que simplemente es más fácil utilizar un sistema operativo como Linux. La que sigue es una lista de mis favoritas:
  • tiempo de configuración - Si no vienen preinstalados, tienes que instalar todas tus aplicaciones antes de que puedas hacer algo útil. Con la mayoría de las distribuciones Linux, una vez instalada, tienes cientos de aplicaciones instaladas y preparadas para funcionar. Incluso tienes múltiples opciones para una tarea dada como procesador de textos o cliente de correo.
  • virus - Las computadoras Windows son más susceptibles a los virus y otro "malware" porque los autores de esos programas quieren afectar al mayor número de ordenadores posible. Escriben programas para atacar el sistema más popular; Windows. Hay algunos programas dañinos o 'malware' para linux, pero, aunque sea menos popular que Windows, Linux es más seguro, por lo que es más difícil para estos programas infectar un sistema Linux. Más detalles en la sección de seguridad.
  • defragmentar el disco duro - Al cabo del tiempo el sistema de archivos Windows se fragmenta. Los archivos se rompen en pequeñas piezas que son desperdigadas por todo el disco. Para mantener tu máquina funcionando a pleno rendimiento, tienes que ejecutar periódicamente una aplicación de desfragmentación, lo que lleva horas. Algunas veces conseguir el la aplicación de desfragmentación funcione es un reto por sí mismo. Los sistemas de archivos Linux no sufren el mismo problema de fragmentación por lo que no hay necesidad de desfragmentar. (Todavía se fragmentan, pero sólo hasta un límite. Defragmentar no dañará nada, pero tampoco ganarás gran cosa).
  • actualizaciones de seguridad - Probablemente te habrás dado cuenta que estás aplicando constantemente actualizaciones a tu ordenador Windows. Esto es, te darías cuenta si fueras siempre diligente aplicando las actualizaciones y no dejas que se acumulen. (Algunos profesionales TI han comunicado que entre el 10 y el 25% de su tiempo es utilizado aplicando parches a las redes de ordenadores Windows). Entonces, una vez que has actualizado el sistema, casi siempre tienes que reiniciar. Linux también necesita actualizaciones de seguridad, pero son algo menos frecuentes y mucho menos molestas ya que el proceso de actualización casi nunca requiere reiniciar.
  • ventanas emergentes - Este es un gran problema con Internet Explorer, el navegador incluído con Windows. Microsoft ha trabajado muy poco en este producto en los últimos cinco años y ha quedado atrás en características como los bloqueadores de ventanas emergentes y anuncios que son comunes en otros navegadores. Mientras IE no funciona en Linux, obviamente no tienes este problema. En su lugar probablemente utilices Mozilla, Firefox, Opera, u otro de los navegadores disponibles bajo Linux.
  • pantallazos azules - Aunque estos se han vuelto mucho menos comunes con Windows XP, todavía suceden. Por alguna razón inexplicable tu ordenador se bloquea y todo lo que te queda es una pantalla azul con algún oscuro mensaje en ella. Esto simplemente no ocurre en Linux. Linux tiene un kernel protegido lo que implica que programas de aplicación no pueden interferir con otros o con el kernel mismo. Una aplicación se puede bloquear, incluso tu sistema de escritorio se puede bloquear, pero normalmente pueden ser reiniciados sin tener que reiniciar el ordenador.
  • bloqueos - Incluso si no aparecen pantallazos azules, todavía hay programas que se bloquean en Windows o fallan de alguna forma realmente interesante que no te deja otra elección excepto el saludo de los tres-dedos (Ctrol-Alt-Supr). De nuevo, por las mismas razones dadas anteriormente, esto no menos probable en Linux.
  • reiniciar para instalar aplicaciones/hardware - Linux utiliza una arquitectura de kernel modular a modular que puede cargar y descargar controladores para aparatos según se necesitan. De esta forma reiniciar para instalar hardware es muy infrecuente. Todavía es más difícil que tengas que reiniciar para instalar o actualizar una aplicación. Habitualmente lo único que tendrás que hacer es reiniciar la aplicación que estaba funcionando mientras se actualizaba.
  • capacidades de 'scripting' limitadas - Aunque se pueden automatizar trabajos mediante Visual Basic, es sólo un ápice de las capacidades para scripts presentes en Linux. Linux contiene varios lenguajes para scripts: Bash, Python, Perl, y otros.
  • Devorador de recursos - Windows se a convertido un poco en un devorador de recursos. Cada nueva versión de Windows requiere un ordenador sustancialmente más potente para moverlo. Linux se utiliza en máquinas que varían en capacidad desde sistemas incorporados a motores de automóvil, a enrutadores de red, a clusters de súper computadoras. Mientras Linux ha crecido en tamaño y complejidad, todavía suele utilizar pocos recursos para sí mismo, dejándolos para el trabajo que realmente los necesita.
  • problemas con el registro - Windows utiliza un registro para recoger la información sobre las aplicaciones que se guarda cuando las aplicaciones no se ejecutan: información como las preferencias y dónde estaba la aplicación en la pantalla en el momento de cerrarse. Esta información a menudo no se limpia correctamente del registro cuando las aplicaciones se desinstalan, llevando a un registro que crece contínuamente y que disminuye el rendimiento del ordenador. A menudo la única manera de arreglar esto es guardar todos tus datos, formatear el disco duro y reinstalar todas las aplicaciones. Linux utiliza archivos ocultos separados para el mismo fin (a excepción de Gnome que utiliza un sistema similar al registro de windows). Habitualmente todo lo que tienes que hacer para desinstalar una aplicación Linux es ejecutar un programa de comandos.
  • cambiando a un ordenador nuevo - Con Windows, cambiar a una computadora nueva es complicado, caro, o ambos. Mucha gente simplemente asume que perderán mucha de su información personal como el correo y otros. Incluso actualizar un ordenador Windows se complica por la necesidad de tener que registrarlo de nuevo tras cualquier cambio de componentes significante. Con Linux, tus datos personales se guardan en tu directorio dentro de 'home'. Cambiar de un ordenador a otro a menudo no es más difícil que copiar tu directorio de 'home' y tal vez instalando algunas de tus aplicaciones favoritas.

¿Qué tiene Linux para hacerlo tan grande?

Probablemente te estarás preguntando qué hace a Linux tan popular. ¿Qué es lo que lo hace tan grande, de todos modos? ¿Qué tal si hablamos de libertad, estabilidad, seguridad, flexibilidad e inevitabilidad?

Distribuciones Linux

Linux se distribuye por un número de grupos diferentes. Cada grupo coge el Linux original y añade su particular mezcla de aplicaciones y parches. A estos "sabores" diferentes de Linux se les llama distribuciones o distros. Puedes haber oído hablar de algunas como Red Hat Linux, Mandrake Linux, Debian Linux, y SuSE Linux. Hay literalmente cientos de distribuciones diferentes. Muchas de ellas están orientadas a ciertos usos. Linux se utiliza en sistemas minimalistas como receptores GPS GPS, enrutadores de red, PDAs, teléfonos móviles, incluso grabadores TiVO.

Libertad

La palabra libre tiene varias definiciones. Son importantes dos de ellas al hablar sobre software. Se las nombra frecuentemente como "libre como la cerveza" o "libre como hablar". "Libre como la cerveza" se refiere al precio. "Libre como hablar" se refiere a lo que puedes hacer con algo. Linux es "libre como hablar" porque puedes adaptarlo a tus propias necesidades.
La mayoría de las distribuciones Linux se pueden descargar de Internet sin que te cueste nada. Algunas te ofrecen descargas gratuítas y también venden una versión empaquetada que viene con CDs, un manual, y soporte. Otras cuestan entre 50$ y 200$ y suelen incluir paquetes comerciales que no se incluyen con las distribuciones gratuítas.

Estabilidad

Linux es mucho más estable que Windows. Esto es el resultado de dos características importantes de cómo Linux se ha creado. Primero, Linux se ha modelado sobre UNIX e incluye, formando parte de su diseño fundamental, un núcleo protegido. El kernel o núcleo de un sistema operativo es la parte del sistema operativo que organiza las diferentes aplicaciones y controla el acceso a los diferentes recursos del ordenador. Cuando el núcleo está protegido, ninguna aplicación puede hacer que el propio núcleo u otra aplicación se bloqueen. Además, Linux ha sido escrito por esfuerzos voluntarios de programadores. Los voluntarios no son recompensados con dinero sino con el respeto ganado por sus respectivas aportaciones. La calidad del trabajo que hacen es lo que determina si su código se incluye en Linux o es rechazado. Cada trozo de código es revisado por varios programadores antes de que se incluya en el árbol del código fuente de Linux. El código fuente de Linux es revisable por cualquiera con un navegador web, por lo que los errores pueden encontrarse y corregirse rápidamente.

Seguridad

Linux es también más seguro que Windows. Como se ha comentado antes, esto se debe parcialmente a que Windows es un sistema más popular. Esto le convierte en un sistema más atractivo para los autores de malware. La otra razón principal nace de la naturaleza de código abierto de Linux. Los recursos disponibles para encontrar y arreglar fallos en Linux es enorme. Cuando una nueva alerta de seguridad aparece sobre un agujero de seguridad potencial en Linux, el código para arreglar el problema habitualmente se hace público el mismo día. Esto es importante en un mundo en el que los creadores de malware corren para explotar cada agujero de seguridad conocido al momento de descubrirse.

Código Abierto versus Código Cerrado

Código fuente

Los programas de ordenador están escritos en alguno de los diferentes lenguajes de programación que son más o menos entendibles por el ser humano. Un programa llamado compilador coge el código original escrito por el programador, llamado código fuente, y lo convierte a código binario hecho de ceros y unos que es lo que la computadora entiende; llamado código máquina. El resultado final es un archivo llamado ejecutable. (Algunas veces, si el código debe usarlo varios programas diferentes a la vez, el resultado final es una librería que es también un archivo binario.)
He utilizado frecuentemente el término código abierto en este artículo. Los proyectos de código abierto son aquellos en los que el código fuente está disponible públicamente en Internet. Los projectos de código abierto habitualmente también permiten a cualquiera que lo desee a participar. Son más inclusivos que exclusivos en este sentido. Los projectos más exitosos se convierten en exclusivos cuando se decide qué código debe utilizarse. Cualquiera puede enviar parches o cambios al código fuente, pero cada cambio es revisado cuidadosamente y juzgado por sus propios méritos antes de ser añadido al arbol público de código fuente. De esta forma sólo el mejor código de cada programador llega finalmente a la aplicación.
Linux es uno de muchos projectos de código abierto exitosos. Otro importante es el Proyecto Apache. El Proyecto Apache ha creado uno de los servidores web más potentes y populares del mundo. La decisión de construir el servidor web Apache en Linux es probablemente una de las razones de que Linux haya sido tan exitoso. La combinación de este potente y libre servidor web y un sistema operativo de primer orden ha ayudado ha hacer que internet crezca. Gracias a que estos componentes eran gratuítos, muchos negocios web que han crecido se habrían undido por los costes de licencia que cargan los desarrolladores de software comercial. Como resultado, tenemos una Internet mucho más rica y robusta.
Muchas grandes corporaciones han visto el valor de las técnicas del código abierto. IBM, una compañía que solía serlo todo acerca de ordenadores centrales, ahora tiene un robusto sistema de consultoría alrededor de Linux. IBM ha contribuído también con programadores y código fuente de sus propios proyectos en Linux para fortalecer el proyecto. Sistemas Cisco, un gran fabricante de hardware de red ha liberado el código de uno de sus enrutadores más populares, el WRT-54G. SUN finalmente ha liberado Java haciéndolo código abierto.
La fuerza real del desarrollo de código abierto proviene del gran número de personas que pueden participar. El problema común al que se suele enfrentar el desarrollo de software solía ser que una vez que pasas de un cierto número de programadores, añadir más sólo incrementaba los problemas de comunicación por lo que no merecía la pena el esfuerzo. Los métodos de pioneros como Linus Torvalds, el padre de Linux, y el projecto Apache nos han mostrado que es posible reunir los esfuerzos de un gran número de individuos a un proyecto y conseguir resultados fantásticos.

Inevitabilidad

Creo que el movimiento de código abierto nos va a traer un gran cambio en el mundo del desarrollo del software. Se está haciendo evidente que el desarrollo de código abierto es muy superior a las técnicas de código cerrado que se han utilizado en el pasado para algunos tipos de proyectos. Los proyectos que se han visto más favorecidos por las técnicas de desarrollo de código abierto tienen algunas características en común. La más importante es que hay un gran número de usuarios potencial. Si los usuarios potenciales son técnicos, es más factible que sea exitoso. Los recursos limitados que se gastan en aplicaciones comerciales también ralentizan el desarrollo de aplicaciones de código abierto.
Creo que veremos como los projectos de código abierto gradualmente consiguen dominar en áreas como los sistemas operativos, herramientas de desarrollo, aplicaciones de red y aplicaciones comunes de oficina. Creo que también habrá un gran soporte para el desarrollo de código abierto para crear programas de uso gubernamental y educacional. Finalmente, creo que los programas desarrollados para aplicaciones de alta seguridad serán finalmente de código abierto por lo que cualquier fallo potencial de seguridad será descubierto rápidamente y eliminado.

Problemas con Linux

Linux está lejos de ser perfecto, sólo es mejor que muchas de sus alternativas. Mientras Linux es mucho más fácil de usar una vez configurado el sistema, puede ser difícil de dominar. Puede ser difícil descubrir cómo funcionan ciertas utilidades a menos que sepas cómo buscar ayuda. Actualmente estoy trabajando en un HOWTO orientado a ese problema precisamente.
A algunas personas les preocupa que no puedan usar sus viejos archivos Windows. Ahora hay aplicaciones como Open Office que leen y escriben los archivos de MS Word y Excel y te permiten trabajar casi de la misma forma que siempre. Incluso hay paquetes (o programas) que te permiten correr software Windows directamente en Linux (wine).

Música y Vídeo

Ha habido una batalla en proceso entre los dueños del copyright de la música y el vídeo y los consumidores de música y vídeo sobre quién puede copiar qué y cuándo. En adición, hay actualmente algunos problemas de copyright y patentes que aún no han sido esclarecidos que ponen a los reproductores de medios de código abierto en entredicho. Algunas de las districuciones más conservadoras como Fedora Core, están evitando el problema eliminando los reproductores de sus distribuciones o limitando las versiones que se incluyen a aquellas que sólo reproducen aquellos formatos reconocidos como libres de cualquier disputa. Esto puede ser un problema si quieres ver vídeos en internet o escuchar tu música preferida.
Las distribuciones más populares para los principiantes, Lindows y Xandros incluyen algunos paquetes comerciales que te permiten reproducir vídeo y música, haciendo la transición mucho más fácil.

¿Quien realmente desarrolla Linux y otros programas de Código Abierto?

La respuesta sencilla para la pregunta anterior es: La misma gente que escribe todo el resto de software que se utiliza en el mundo. Los programadores que trabajan en código abierto provienen de una diversa variedad de orígenes. Algunos son estudiantes buscando aprender practicando, algunos son ingenieros que trabajan todo el dia en proyectos de software para sus compañías, algunos son científicos de computación que quieren poner en práctica sus propias ideas.
Linux empezó como un proyecto personal por Linus Torvalds en 1991. Linus Torvalds estaba estudiando ciencias de la computación en Finlandia en aquel momento. El quería crear un sistema operativo parecido a UNIX que funcionase en su ordenador personal. El anunció el código fuente de su algo primitivo kernel en Internet e invitó a otros a usar su trabajo y mejorarlo basándose en sus ideas. Mucha gente hizo contribuciones para crear el sistema operativo robusto y popular que se utiliza hoy en día. Linus Torvalds nunca pidió recompensa económica por el trabajo que hizo en Linux aunque algunos otros se hicieron ricos distribuyendo y soportando Linux. Algunos años más tarde algunas de las compañías que prosperaron gracias al trabajo de Linus Torvalds le regalaron acciones y establecieron una organización para controlar el desarrollo de Linux donde Linux Torvalds trabaja actualmente.
Puedes aprender mucho más de la historia de Linux, UNIX, y sistemas operativos relacionados en Grokline una página web destinada a documentar la historia de estos sistemas operativos. Puedes aprender más sobre Linux aquí en Wikipedia.org.

Resumen

Linux tiene muchas ventajas sobre Microsoft Windows. Es más robusto y seguro que Microsoft Windows. Las aplicaciones de código abierto están disponibles para todo tipo de tareas comunes de negocios como procesamiento de textos, correo electrónico, y hojas de cálculo. El único apartado en el que Linux todavía está retrasado en gran medida es en juegos.
Cambiar a Linux no es tan dificultoso como solía ser, y esto mejora día a día; cuantos más usuarios lo utilicemos más errores detectaremos y más apoyo le darán las compañías y los fabricantes de componentes. Puedes instalarlo y configurarlo rápidamente y todavía podrás compartir archivos con tus amigos y compañeros que utilizan Windows. La situación sólo va a mejor según Linux continúa mejorando gracias a la aportación de miles de entusiastas.
Copyright Ray Benjamin
(Traducción y ampliación por David Losada).
Las marcas corresponden a sus legítimos dueños.

No hay comentarios:

Publicar un comentario

Puede dejar su comentario. Los comentarios descalificativos o sin relación ninguna con el tema tratado serán eliminados sin previo aviso. Antes de plantear una duda, asegúrate de que la respuesta no está en otra entrada del tema visitando la etiqueta que hay al final del artículo para verlos todos; muchas veces lo que planteas puede haber sido corregido o comentado en otra entrada posterior.