Mi compañero Julián en www.lodemenos.net, se siente identificado con algunas de las reflexiones de Darwinsoft, que lo llevaron a abandonar el uso de GNU/Linux. El artículo que ha escrito en lodemenos al respecto es Reflexiones del mundo Linux y ya lo he comentado allí, pero hay algunas cosas que desde esta mañana me estaban rondando la cabeza y voy a explicar también aquí, porque me debo a vosotros, queridos lectores ;).
En el artículo de Darwinsoft se hacían las siguientes afirmaciones:
La comunidad -que ahora es más numerosa que antaño- está más dividida que nunca, creando miles de distribuciones, y metadistribuciones creadas a partir de ellas. En vez de aunar esfuerzos, cada uno va por su lado
[…]
Han surgido miles de proyectos encaminados a resolver diferentes necesidades del usuario. Eso está muy bien, pero ¿no sería mejor aunar esfuerzos en uno o varios proyectos que sobresalgan por su calidad? ¿Es necesario que haya miles de proyectos sin acabar dedicados a un único objetivo?
Y yo os voy a decir que no, que no estoy ni mucho menos de acuerdo con esto. Por los motivos que os voy a ir explicando.
Primero, la existencia de distintos usuarios impone la existencia de distintas soluciones: idealmente, una para cada usuario. Comercialmente: una para todos los usuarios. Libremente: tantas como podamos dar para todos los usuarios. Me explico: un informático no va a hacer el mismo uso del sistema operativo que un amo de casa. Evidentemente harán un uso distinto del ordenador. Incluso si ambos quieren copiar ficheros de una carpeta a otra, las necesidades que tendrá el informático serán distintas a las del hombre de la casa. Intentar hacer un único sistema operativo (o distribución) que sirva para los dos será muy complicado, ya que incorporará miles de funciones que cada uno no usará. Sin embargo, si cada uno pudiese elegir entre un amplísimo abanico, podría encontrar aquella distribución que le ofrezca lo mejor. Lo mejor para él, y aquí está el matiz.
No existe “lo mejor” a priori. Es imposible calificar objetivamente una aplicación como mejor que otra. Algunos me dirán que Photoshop es mejor que MS Paint (por poner dos ejemplos extendidos y propietarios). Y yo diré que no, que a un niño que lo que quiere es pintar un garabato, le gustará mucho más el simple Paint que el complejo Photoshop. A un fotógrafo, le ocurrirá lo contrario. Por eso, también para cada aplicación deben existir distintas soluciones. Distintas aproximaciones a la solución de un problema: editar mapas de bits.
Segundo, mientras que en el software privativo hay que apostar por un modelo de solución y seguirlo hasta el final, y hay soluciones que no se prueban porque no son rentables a priori, en el software libre no existen esas absurdas limitaciones monetarias. Podemos desarrollar siete lineas de desarrollo distintas para resolver un mismo problema, cada una con sus partes buenas y partes malas, desarrollarlas todas a la vez, pero cuando haya que crear la siguiente versión de cada una de ellas, podremos saber lo que funciona bien (o no) de los otras, y aplicar (o no) esos mismos principios a nuestras aplicaciones. Así, lo que en principio era una división de esfuerzos, redunda en una mayor robustez, pues cada uno de los equipos ha desarrollado una aplicación con conocimiento directo de la suya e indirecto de todas las demás. Ejemplo: para gnome no existía un reproductor musical que ofreciera toda la funcionalidad de amarok, quizá porque se pensaba que hacer eso implicaría demasiada configurabilidad que chocaría contra la usabilidad que pretende este entorno de escritorio. Sin embargo, cuando se vio lo que habían hecho con amaroK para KDE, se multiplicaron las alternativas para gnome que ofrecían lo bueno de amarok: gestión de la colección, puntuación de canciones, soporte para last.fm, letras, información de la Wikipedia… con una interfaz más amigable con gnome, que huye de los grandísimos efectos gráficos y la enorme configurabilidad para dar funcionalidad y usabilidad.
En definitiva, la fragmentación puede parecer abrumadora al principio, y algunos solo ven su lado negativo; cuando en realidad, esa libertad de fragmentar para luego aprender de los demás es una gran oportunidad de crecimiento.


kelp wrote,
Es curioso el artículo que enlazas, y se contradice por varias razones:
Por una parte, critíca que ciertas distros se enfoquen a la facilidad de uso para usuarios normales, y por otra dice que le instala Mac OS X a su mujer para que no tenga que tocar nada ni aprender más de lo necesario. ¿No es eso contradictorio?
Por otra parte, critica la diversidad de distros Linux, la fragmentación de la comunidad y que no se aúnen esfuerzos para crear una gran distro, pero luego habla de que GNU/linux se va a convertir en otro monopolio. No sería lo primero algo imprescindible para la creación de un monopolio? es absurdo que una comunidad tan diversa como la de GNU/Linux se convierta en monopolio de nada, primero porque no es una empresa, y segundo, porque en ella participan millones de personas, empresas y desarrolladores.
Para mi, precisamente la diversidad de la comunidad es el principal encanto de GNU/linux. Yo no pienso en el día que linux domine los escritorios de medio mundo, no creo que eso llegue nunca. Lo que si me gustaría ver es que realmente la gente pudiera elegir realmente lo que usa, ya sea microsoft, mac o cualquier distro libre.
Link | 23-03-2007 at 19:45
Manuel wrote,
Hola a todos.
Coincido en que todos tenemos distintas necesidades a la hora de usar la computadora. Por supuesto que la diversificación es buena, y hablando de código gratuito, todos deberíamos de estar contentos con nuestros regalos sin quejarnos porque fueron ‘demasiados, repetidos pero diferentes’…
Sin embargo, coincido en que se podrían aunar esfuerzos a gran escala en la comunidad para trabajar en programas de uso muy extendido y de gran importancia, evitando plagar de errores partes críticas del sistema operativo, como es el caso de GNOME y KDE, el servidor X, XGL y todas esas cuestiones que se mejoran día a día, pero que nunca llegan a la estabilidad total.
La razón por la que considero que los proyectos de código abierto nunca se terminan de desarrollar (y si no me creen, hechen un vistazo al kernel de linux) se debe a que se tiene una ideología de añadir características todo el tiempo, en lugar de congelar un programa en particular y depurar su conjunto de características hasta que no tenga ningún error, momento en el cual ya se puede considerar como un producto maduro.
Por otro lado, me entristece el hecho de que los fabricantes de periféricos para computadoras no se tomen muy en serio la existencia de Linux y siempre apoyen al megamonopolio mundial que tiene Microsoft con las PCs. Esto desafortunadamente provoca un brutal esfuerzo comunitario por desarrollar drivers universales, hackear código propietario y codecs que generalmente termina por arruinar los conceptos del código libre.
Ansío el día en que los fabricantes pongan un logo en sus equipos con la leyenda ‘hecho para linux’ o ‘made 4 linux’ en lugar de ‘Designed for Windows XP’ ó ‘Windows Vista capable’ aún antes de que dicho sistema operativo salga a la venta.
Esto por supuesto representa años y años de quitar vendas de los ojos a usuarios con coco wash publicitario de los ‘gigantes de la informática’ que desde mi punto de vista no son mucho mejores que los gigantes en espíritu colaborativo.
Aprovecho para enviar un saludo y mis mas sinceros respetos a toda la comunidad linuxera!
Viva Linux, Beryl, Ubuntu, Gnome, KDE y todos los programas que tienen nombres tan característicos y que reflejan la personalidad de sus creadores!
En esto distingues fácilmente un programa Windows de uno linux: El de Windows sólo es un reciclaje del programa anterior (siempre será office, word, excel, explorer…), en linux los programas siempre son jóvenes y con sangre nueva, por ejemplo, en lugar de llamar windows 3.11, windows 95, windows etc… (todos un reciclaje del anterior, por supuesto); en linux se les bautiza con un nombre propio: ubuntu, gentoo, sabayon, etc, demostrando la gran superioridad y diversidad que garantiza que se trata de software de punta.
A cambiarse a Linux y vivir verdaderamente libres de virus, licencias, errores sin solución, programas inestables, pantallas azules, troyanos, gusanos, agujeros de seguridad, antivirus y firewalls, gasto de dinero para comprar software, esperar años para cambiar de color el botón de inicio y la papelera! Si prefieren vivir cada semana emociones diferentes y dejar de aburrirse con su computadora, les recomiendo cambiar a linux! pruébenlo y si no les convence, les regresamos su dinero jajaja!.
Link | 26-03-2007 at 20:55
Dario Villaseñor wrote,
Apoyo totalmente tus comentarios.
En un grupo de Linux Mandrivia en el que estoy suscrito, aparecio una “autocritica” de un linuxero sobre la necesidad de “unificar los criterios” de Linux, entre otras cosas, algo de lo que yo discrepo totalmente, pero mejor te envio la “autocritica” y mi escrito, y siendo la priemra vez que visito tu sitio me parece muy bueno, hasta donde he podido ver.
Saludos.
_________________________________
El articulo:
Articulo redactado por el linuxero Maverick: http://www.elblogdemaverick.com el segundo para que Miguel publique en la portada.
Evidentemente no todo va a ser mirarnos el ombligo en la comunidad Linux. Otro día escribiré un artículo que estoy preparando sobre lo que -para mi- es lo mejor que caracteriza a Linux y que os adelanto que sin duda empieza por su magnífica comunidad de usuarios y la ayuda, ánimo y apoyo que recibes en cualquier sitio por millones de personas desinteresadas que te solucionan cualquier problema.
Pero como digo, eso será otro día… Hoy toca hacer autocrítica y dar espacio a un artículo que precisamente analiza eso, aquellas cosas que Linux puede y de hecho debe mejorar. Os lo transcribo a continuación, añadiendo algunas cosas al final, cosecha propia:
10 cosas que mejorar en LINUX:
1. Dejar de utilizar X11 como el Entorno Gráfico de Usuario - Desktop- ya que no fue creado con ese fin. La filosofía original de X-Window como servidor de un entorno gráfico para aplicaciones dista demasiado de la idea de un Desktop (Sistema de escritorio) personal. El protocolo X, base del sistema X-Window, no está pensado para soportar de forma habitual contenido multimedia. X-Window se ha convertido en un macro-sistema que no debería seguir utilizándose como soporte para las aplicaciones gráficas por la gran cantidad de recursos que consume y la ineficacia con que gestiona determinados contenidos. No olvidarse de que el sistema gráfico sólo es una funcionalidad más del sistema operativo y no debería intentar reemplazar ninguna de sus funcionalidades.
2. Pasar de un kernel monolítico a un sistema de microkernels. Se ha venido comprobando en los últimos años, en diversos laboratorios de investigación, que un sistema basado en microkernels, además de dotar al sistema operativo de una mayor modularidad, puede ser mucho más robusto ya que se minimiza la dependencia entre componentes. imagínense por ejemplo, poder cambiar el sistema de gestión de procesos (scheduler) en tiempo de ejecución para poder priorizar tareas de Tiempo-Real, o tener varios y elegir entre ellos según el tipo de tarea o la relevancia para el usuario…
3. Relegar a una parte del sistema operativo la gestión de todos los dispositivos y ofrecer al usuario una visión unificada de los mismos. Esto ya se viene haciendo en parte… Es cierto que gracias a kudzu, podemos detectar cambios en la configuración de los dispositivos, y que determinadas aplicaciones de X11 permiten detectar cuando se conecta una unidad USB y montarla de forma automática, o una cámara, etc. Toda esta funcionalidad actualmente se encuentra desperdigada en distintas partes de Linux. Unas son funcionalidad del sistema operativo (generalmente vía kudzu), y otras lo son de aplicaciones bajo X11… En mi opinión una interfaz de usuario no debería tener que hacerse cargo de la gestión de dispositivos.
4. Incluir un mecanismo para crear clústers de forma sencilla, y dar al usuario una imagen de que existe una sola máquina, pudiendo utilizar los recursos de todos los componentes de cluster de una forma transparente balanceando de una forma equilibrada la carga. OpenMosix es un parche para el kernel que permite hacer este tipo de cosas. De esta forma se podría multiplicar la potencia de cómputo de forma exponencial en los centros de investigación sin necesidad de recurrir a equipos específicos, a la vez que permitiría sacar partido de los equipos que se van quedando obsoletos en todas las casas.
5. Utilizar un sistema interno común de representación de la información, y relegar a ciertos componentes incluidos en el sistema operativo las tareas de conversión entre formatos de intercambio. Por ejemplo, para trabajar con imágenes, el sistema operativo podría utilizar una estructura de datos tipo BMP sin compresión para intercambiar la información entre aplicaciones. El propio Sistema operativo podría facilitar librerías para la manipulación de las imágenes en este tipo de datos, y él mismo daría soporte para poder guardarlas o leerlas desde otros formatos de intercambio (jpeg, png, etc). De esta forma se eliminaría la redundancia de código que casi todas las aplicaciones tienen a la hora de abrir/convertir distintos formatos. Eliminar la redundancia de código siempre mejora la coherencia y por supuesto la fiabilidad del código.
6. De forma similar a lo anterior, utilizar un sistema interno para la gestión de protocolos de forma transparente. Por ejemplo, el propio sistema operativo implementaría el protocolo FTP/BitTorrent/etc. y gestionaría el intercambio de ficheros con otras máquinas de forma transparente al usuario. El desarrollador no necesita implementar los protocolos de comunicaciones en sus aplicaciones, si no que los relega al sistema operativo, mientras que el usuario no tiene por qué saber cómo se está realizando la transferencia. Esto no sólo se tiene que ver como protocolos de transferencia de ficheros, sino para todos los protocolos que se utilizan actualmente.
7. Intentar seguir una filosofía KISS (Keep It Simple, Stupid!) en todos los niveles del sistema operativo. Muchas distribuciones intentan seguirla, pero habría que llevarla a la práctica más en profundidad. Pensemos que tras esta filosofía se encuentra el principio de la Navaja de Occam: “La solución más simple que resuelve un problema suele ser la mejor”. Intentar reducir la complejidad de las aplicaciones eliminando código redundante o frecuente en ellas, siempre es una ventaja. Intentar unificar código y posturas similares!!!
8. Tomando como referencia el sistema de scripting que posee MacOs X, desarrollar un lenguaje de scripting para el sistema operativo y sus aplicaciones, que permita definir ciertos eventos y actuar ante ellos de forma automática. Cuanto más sencillo y visual sea este lenguaje de scripting mejor (sin dejar de perder potencia).
9. Muchas distribuciones ofrecen paquetes precompilados (Ubuntu, etc) para que el usuario no tenga más que instalarlos y poder empezar a funcionar con ellos. Otras prefieren distribuir el código fuente para optimizarlo (Gentoo) a la arquitectura final, pero el proceso de compilación suele ser demasiado largo. Quizá fuese mejor una solución mixta que incluyese los paquetes precompilados para su uso inmediato, y el código fuente para su compilación (en caso de que se quiera optimizar). La compilación se haría de una forma transparente al usuario y en un modo background que no interrumpiese el funcionamiento normal de la máquina.
10. Utilizar un sistema centralizado para la gestión de contraseñas a modo “llavero” de una forma similar a la que lo implementa MacOS X para facilitar la organización de la ingente cantidad de contraseñas y permisos que se necesitan para trabajar en red.
Matizando…
En conjunto estoy de acuerdo con la gran mayoría de lo expuesto, no obstante me gustaría matizar algunas cosas. En primer lugar creo que lo más urgente en Linux antes de perderse por vericuetos de precompilaciones, microkernels y gestión de protocolos es una inmediata unificación de criterios. Pensemos por un momento la enorme confusión que genera en un usuario recién llegado al mundo Linux la disparidad de paquetes (deb, rpm, tar.gz…) con los que se encuentra para instalar una aplicación y sobre todo la forma tan distinta de utilizarlos. Unificar todo ello en un solo sistema de paquetes (deb por muchas razones pienso que debería ser el elegido) es algo primordial. Muchas distros, muchas filosofías y muchos modos de hacer las cosas significa confusión para los novatos. Y el progresivo acercamiento de esos mismos usuarios novatos es lo que hace que Linux tenga cada día más peso en el mundo de la informática a nivel usuario.
Todo el que me conoce y ha leído algunos de los tutoriales del blog sabe que sin ser un purista de la consola, si que recomiendo fervientemente su uso. Yo mismo rara vez uso synaptic (por ejemplo) o muevo o copio archivos desde nautilus. Siempre salgo a la consola. No obstante una nueva unificación de criterios a la hora de generar instaladores como el mencionado Synaptic o paquetes autoinstalables con Autopackage (o el formato que unifiquemos entre todos) es de igual modo esencial para seguir atrayendo usuarios. Si Ubuntu ha conseguido lo que ninguna otra distro en estos últimos 3 o 4 años, imaginemos por un momento el boom que podría significar algo como lo que comento.
No nos confundamos, la verdadera revolución LINUX tiene que llegar de la mano de una sola cosa: sencillez. Y para ello es absolutamente necesario la unificación de criterios y procedimientos. Sencillez que además, tratándose de Linux, no está reñida con la estabilidad ni la potencia, ni por supuesto con la filosofía Open Source. El día que consigamos esto, el verdadero boom Linux será imparable.
_________________________
Mi comentario:
¿Sencillez?
¿Unificacion de criterios?
Lo que mas me ha gustado de LINUX es la posibilidad de hacer lo que uno escoja: ¿quieres picar piedra?, ¿quieres instalar un servidor lo mas pronto posible?, ¿quieres una computadora lo mas sencilla posible que te permita hacer lo que estabas acostumbrado en el otro sistema sin tener la mayoria de los problemas que te daba ese otro y sin que metan la mano en tu bolsillo? ¿Debian, SuSE, Ubuntu?
Difundir LINUX para mi es importante, pero mas importante es, me parece, la necesidad de la gente y el tratar de adaptar LINUX a las necesidades de ella, y no al reves, en nombre de la difusion, que es muy importante, es cierto, pero lo es por ser una mejor alternativa que la ya conocida. Me preocupa, honestamente, que en nombre de cosas buenas acabe siendo LINUX igual que el otro.
¿Podemos aplicar un concepto universal de sencillez? ¿No ha sido esta la “propuesta” de aquel señor para obligar a todos a tener sus sistema? “Ven con papi, yo te resuelvo todas las cosas, pero solo comprame a mi”
A la vuelta de los años ya vemos donde estamos.
¿Que los novatos se asustan? Todos lo somos de una manera u otra todos los dias, y tambien todos nosotros empezamos desde cero, porque la necesidad, la responsabilidad o el gusto, o una combinacion de todo lo anterior u otras cosas mas nos han ido metiendo en esto. ¿Que, no hay mas? ¿No hay gente ya lo suficientemente loca que quiera meterse en el fondo del sistema? ¿Vamos a hacerle igual que el Sr. de la empresa W$, quitarle a la gente el escoger como desea entrar en esto, con que y de que manera? ¿Que, no podemos apoyar a los que nada mas son paqueteros, quizas la gran mayoria? ¿Quien o quienes van a acabar tomando las definiciones? ¿Quien o quienes van formar parte del Comite Central del Partido de los Linuxeros y acabaran definiendo que es sencillo?
“El usuario no tiene que saber como se realiza la transferencia” ¿Y si quiere saberlo, que? ¿Le hacemos lo que el dueño de M$? ¿Me pueden dar por cierto la definicion universal y aceptada de usuario?
No hay que confundir, me parece, simple con trivial. Que una respuesta sea simple, no lo hace trivial, y de hecho, retomando lo de la famosa navaja, las respuestas mas interesantes en la ciencia son aquellas cuya preguntas bien formuladas dieron paso a respuestas sencillas que fueron el cimiento de lo que ahora conocemos. Pero nunca fueron triviales.
Lo que vale la pena, y LINUX me lo parece, podra tener respuestas simples pero no las trivialicemos, por que me parece que entonces se cae en lo mismo que el Sr. de la Compañia hizo: trivializar las respuestas presupone, me parece, un interlocutor estupido, para retomar algo de la KISS. Idiotizamos a los demas al son de volverlo “simple” (trivial) y acabamos formando un monopolio llamado LINUX$ SA.
Si los aspectos tecnicos van a servir para mejorar el sistema LINUX que se encuentra en favor de la gente, que bien. Yo he venido estudiando lo de los microkernels que me parece interesante y me gustaria ver mas cosas. Pero si nos olvidamos de nosotros, de la gente que pueda necesitar esto, vamos por el mismo camino de W$, hacer de LINUX el mismo fetiche que se hizo de M$ que se pone por encima de las personas y cuando veamos, tendremos al Gates de Linux y a Stelmann, quizas, renegando de todo esto y de nosotros.
Lo fabuloso de LINUX, para mi, ha sido el de ser una alternativa viable que, entre otras cosas, me ha conectado con gente como ustedes a las cuales quizas nunca tendre el gusto de verlas personalmente, pero que desde ya respeto y admiro por su capacidad y por su voluntad de compartir lo que saben de la mejor manera posible. Si se queda una definicion unica de usuarios, me temo que sitios como estos se perderan sin remedio alguno. Cierto, en W$ tambien tienen sus foros y su gente muy capaz, algunas, pero veo que la calidad de aqui es muy diferente a lo que me encontrado en esos sitios.
Saludos.
Dario Villaseñor.
Link | 20-05-2007 at 10:15