Antes de nada dos notas:
He usado y uso linux. Me gusta como sistema operativo y creo que el software libre
es una gran aportación a la informática. Habitualmente utilizo Slackware, Archlinux
y Debian, pero entiendo sus limitaciones.
Mi crítica es constructiva. No defiendo ni uno ni otro sistema a capa y espada
sino que trato de ver las ventajas y desventajas de cada uno.
Algunos casos de uso en los que otros sistemas son más adecuados que Linux.
- Un jugador
El perfil de un usuario que se dedica a jugar a videojuegos con el ordenador.
Compra y dedica su tiempo a las últimas novedades y disfruta con ellas.
No es necesariamente un experto en informática, pero es capaz de hacer sus
chapucillas.
Si uno mira los posts en el foro de juegos, lo último que ha salido es Call of Juarez 2,
Street Fighter IV o Los sims 3. La única manera de poder jugar a estos juegos es
utilizando Wine.
El rendimiento es mucho menor que en Windows y hay problemas constantes
o bugs usándolo en muchos juegos, sólo hace falta mirar la Wine APPDB.
Street Fighter IV no tira, FUEL tampoco.
Los sims 3 funciona, pero requiere un parche NOCD, no se puede descargar contenido "custom", el EA download manager da mil problemas, hay pequeños fallos gráficos (con el sombreado) o directamente no se puede jugar porque peta al cargar una ciudad:
http://bugs.winehq.org/show_bug.cgi?id=18991
Fallout 3 también da muchos problemas.
A un usuario se le cuelga aleatoriamente en Debian Lenny:
http://appdb.winehq.org/objectManager.php?sClass=version&iId=14322&iTestingId=40970
A otros no les guarda partida, sólo hace falta ver la cantidad de comentarios en la página
de Wine APPDB, los backtraces, los errores, etc
Estos problemas ocurren en juegos a veces nativos. Pongamos como ejemplo el Quake 3.
- En muchas distribuciones da problemas con el sonido debido a que usaba OSS y ahora se usa
alsa o pulseaudio.
- El usuario tiene que editar el xorg.conf si quiere hacer rocket jump y la emulación de 3
botones de X está activada.
- Existe la posibilidad de utilizar IOQuake, pero entonces no se podrán ver las demos
grabadas con el original de partidos.
Conclusión
Instalar un juego en linux no es fácil, es tedioso y a veces imposible, salvo que el juego
también sea libre. Hay que recurrir a soluciones como Wine, perdiendo rendimiento e instalar
drivers propietarios que están varias versiones por detrás en características que las análogas de Windows. (nvidia, fglrx, etc)
Tampoco las compañías distribuidoras y desarrolladoras te dan soporte,
has de buscarte la vida tú mismo y por ejemplo buscar diferentes versiones de Wine
para ver cuál tira mejor con cada juego, ya que cada versión nueva cambia cosas que
pueden hacer que juegos que antes tiraban ahora no tiren.
- Un escritor
Tengo un amigo cuya afición es escribir. En principio linux no es mal sistema para ésto.
Él no necesita una suite como Office (aunque es lo que usa ahora), le he enseñado Abiword
y cree que podría usarlo perfectamente.
Su problema con linux son las fuentes. Él necesita fuentes muy claras y legibles, a fin de
cuentas se pasa todo el día mirando para ellas. La configuración de las fuentes en Xorg es
como poco horrorosa. En Windows existe una tecnología llamada ClearType que hace las fuentes más legibles y claras.
La situación en linux, por desgracia, es distinta. Cada distribución aplica los parches
que cree oportunos. Fedora aplica unos, Ubuntu otros, Archlinux por defecto no aplica
ninguno. Ninguna de las soluciones es del todo satisfactoria.
Si miramos la paquetería de Archlinux, vemos:
los parches "lcd": cairo-lcd, freetype2-lcd
los parches "cleartype": cairo-cleartype, freetype2-cleartype, libxft-cleartype
los paquetes por defecto: cairo, freetype...
Ninguno de ellos realmente se ve como cleartype y además uno puede leer aquí al respecto
los problemas de patentes que representa usarlos:
http://quanli.googlepages.com/davidturner%27slcdcleartype-likepatchesandpackagesfordebiansid
Fuera de eso, para configurar las fuentes una vez aplicados los parches, es un cristo.
¿Alguien ha tenido que editar alguna vez un fonts.conf para desactivar las fuentes bitmap?
¿Y la corrección gamma para ellas?
Podeis leer más sobre ello aquí:
http://www.bel.fi/alankila/blog/2007/04/25/Why%20Linux%20fonts%20suck.html
Tanto en Windows como en MAC OS, las fuentes por defecto son de alta calidad.
Conclusión
La configuración e instalación de fuentes en un sistema linux es bochornosa,
(muy a mi pesar porque es el punto que más me lleva a mi mismo a usar windows en casa
cuando si no fuera así, podría utilizar linux)
- Programadores, artistas, creadores...
Linux no es un mal sistema para programar. Tenemos Vim, Emacs y un buen compilador (gcc)
y herramientas para hacer practicamente de todo. Entonces ¿donde está el problema?
Imaginemos que programásemos un juego. Algo que fuese lo último de lo último, en un equipo
de 40 personas. Se necesitan muchas más cosas que esas simples herramientas para trabajar.
No hay programas realmente buenos de edición de Audio. ¿Cubase SX2? ¿Sonar? ¿Cakewalk Pro? ¿Nuendo? Sí, está audacity y también hay trackers, pero son una broma comparados con el software de edición de audio profesional que hay para MAC y Windows.
No hay programas realmente buenos de edición de Video. ¿Video Vegas? ¿Ullead Mediastudio?
¿Final Cut? ¿Adobe premiere? Existe Cinelerra o herramientas como Avidemux, pero una vez más son una broma comparadas con las herramientas profesionales.
Gimp no es para nada un reemplazo útil de Adobe Photoshop, ni siquiera al nivel más bajo.
¿Habeis intentado realmente usarlo? Y me refiero no para retocar, sino para dibujar también.
No tiene siquiera una herramienta que nos permita dibujar círculos, cuadrados, rectángulos...
IDEs. Por desgracia no existe ningún IDE en linux (ni en otros SO) con la calidad de
Visual Studio ni su depurador. En mi opinión ésto es una pena, creo que si existiese se
crearía mucho mejor software para linux. Pondré un ejemplo, en VS puedo hacer step &
continue dentro del código de un pixel shader y depurarlo. Eso es acojonante y muy práctico.
Ningún otro IDE me permite cosas así.
Conclusión
Linux es un muy buen sistema para programar, porque es un SO que fue creado en cierto modo por geeks y hackers. Tiene buenas herramientas, pero no está a la altura a la hora de hacer el "resto" de un proyecto serio. Por supuesto, se puede. Siempre se puede. Pero es tedioso y lleva muchas más horas de trabajo.
Sí, las herramientas que he mencionado cuestan dinero. También lo cuestan las horas de
trabajo de los programadores.
- El mercado de los RTOS
Los RTOS son sistemas operativos en tiempo real. Se usan para trabajos donde el tiempo
de latencia es crítico o en sistemas embebidos.
Actualmente (quizá con el tiempo la cosa mejore) linux tampoco está a la altura en este
campo si lo comparamos con las soluciones propietarias del sector.
VxWorxs (de Wind River) o QNX Neutrino le dan 50.000 patadas.
Ambos se usan en defensa y seguridad militar, automóviles, medicina o automatización
de cosas como las aspas en los molinos de viento.
La NASA usa VxWorks en esta nave espacial por ejemplo:
http://es.wikipedia.org/wiki/Mars_Reconnaissance_Orbiter
En este láser para operaciones en los ojos se usa QNX:
http://www.abbottmedicaloptics.com/products/refractive/ilasik
Ambos están soportados por sus desarrolladores, tienen garantías y años de desarrollo
y marcan el estándar en este campo. En linux existen alternativas, pero su uso es
marginal y tienen muchas menos características.
- Un usuario cualquiera
El típico usuario que usa el pc para navegar, chatear, trollear en mediavida y poco más.
Da la casualidad de que tiene una tarjeta Wireless RT2500 de Ralink.
Esta tarjeta tiene 3 o 4 años y sin embargo no funciona en la última Ubuntu, ni en Slackware
ni en Suse, etc... ¿Motivo?
Este es el driver que se usa actualmente en el kernel:
http://rt2x00.serialmonkey.com/
Se reorganizó todo en Marzo del 2009 y se dejó de dar soporte al driver "legacy"
que se usaba anteriormente para rt2500. Esta tarjeta y varias más con chips muy similares
no funcionan con el driver nuevo, o bien pierden facultades (como WPA), o bien sincronizan
a 1 mega en vez de 54, o incluso llegan a dar kernel panic. Aparte, la señal varía
enormemente entre 40% y 70% continuamente aunque estés al lado del router.
Las tarjetas posteriores sí, pero a aquellas anteriores no.
En la página se puede ver:
April 24
* All legacy forums on rt2x00.serialmonkey.com will be closed
* Mailinglists rt2400-general, rt2400-devel, rt2400-commit will be closed.
* CVS access to drivers will be closed
* Sourceforge rt2400 project will be marked as closed.
* Legacy drivers will no longer be part of the rt2x00 project
Y el modulo del driver viejo (rt2500.ko) no compila con el kernel nuevo ni
siquiera usando gcc 3.x ¿Ndiswrapper? Sí es una opción. La pregunta es...
¿por qué un usuario novel que tiene la desgracia de tener esta tarjeta ha de pasar
por ésto? ¿es adecuado linux en este caso?
En FreeBSD, NetBSD etc... usan otro driver, llamado "ral", que funciona perfectamente.
En Windows también funciona.
Quisiera poner más casos, como por ejemplo hablar de las grandes compañías como
Carrefour España, Rusia y Turquía (trabajo para ellos desde HP dando servicio)
y el porqué ellos usan HP-UX y IBM AS/400, las características de los superdome, los
clusters, el soporte, el precio que pagan por ello comparado con lo que costaría una
solución linux, etc
Un saludo. No interpreteis esto como un flame sino como
una crítica constructiva. : -)