Opinión sobre la apreciación de la baja calidad del Software Libre

Introducción

No les va a gustar lo que van a leer. Esta es una respuesta a un post de Enrique Monge llamado «El reto del Software Libre» en La Bitácora Woodiesca y que se publica en Planeta Debian en Español. Es una respuesta cuyo objetivo no es atacar al autor original, sino simplemente alinear un argumento que me parece desbalanceado e injusto y siento que puedo hacer algo al respecto. He opinado con anterioridad como él, y aún hay ciertos puntos donde concuerdo, pero no en todos.

Antes de opinar, quiero aclarar también que soy un total partidario del software libre. Uso software libre en mi casa y trabajo tanto como puedo y defiendo el movimiento del software libre. Pero antes de eso soy partidario de la libertad humana, lo que significa que también estoy a favor de que una empresa tenga la liberdad de escoger las herramientas de software que le parezcan mejores –así sea software privativo– siempre y cuando esté dispuesta a pagar las correspondientes licencias. Sí, esas empresas SÍ existen y yo trabajo para una de ellas.

Dicho lo anterior, la apreciación del usuario promedio sobre el software libre se basa primordialmente en la calidad de su paquete ofimático (OpenOffice.org). Para el usuario promedio, un Windows sin Office es como un teclado sin Enter. Y hoy por hoy, LA CALIDAD DE OPENOFFICE.ORG ES BAJA. Tal vez al final de la carrera el software libre venza (y eso es lo que yo espero) pero en este momento, OpenOffice.org tiene demasiados errores y muchos están expuestos.

El caso específico de OpenOffice.org Writer

A lo largo de mi comentario me voy a referir a Writer, pero esto puede extenderse hacia casi cualquier aplicación de OpenOffice.org.

Como aclaración: si tú no usas las herramientas de ajuste automático de documentos de Writer, no me vas a entender y diferirás de todo lo que yo diga. En documentos grandes, colocar manualmente una imagen flotante usando tablas (en lugar de aplicar el formato de flotación), hacer una tabla de contenidos manualmente para un documento extenso (en lugar de usar estilos o referencias y generarla automáticamente), es tan idiota como centrar un título con espacios y tabuladores en lugar de aplicar el formato de centrado.

La realidad del interés de los usuarios finales

A los usuarios finales les interesa que el software simplemente funcione. No les interesa poder modificarlo, porque no saben cómo hacerlo. No les interesa aprender a modificarlo porque la curva de aprendizaje es tan alta, que cuando logren aprenderlo, ya habrán fallado en su interés original varias veces. Yo mismo he bajado el código, lo he intentado entender, sin éxito. Por «usuarios finales» no me refiero a la persona que quiere redactar una cartita en su casa. Me refiero al editor que prepara un libro y necesita un buen soporte para encabezados y pies de página. Me refiero al director de una empresa que necesita que el flujo de información no se interrumpa por errores estúpidos en un programa mal hecho, porque simplemente lo va a cambiar. Me refiero al ingeniero que escribe una memoria técnica con imágenes y adjuntos y necesita uniformidad en la presentación. Me refiero al estudiante reconocido por sus compañeros que prepara un periódico local en hojas tamaño oficio porque de eso dispone. Esos son los usuarios que, además de tener la apertura de probar un nuevo software, van a tener la autoridad de hablar bien o mal del mismo, ya que esa es su herramienta diaria y necesita que satisfaga sus necesidades. La gente les preguntará en un futuro cuál es la herramienta que usaron, porque tarde o temprano tendrían que hacerlo. Insisto, también hay «usuarios de potencia» en hojas de cálculo.

Con OpenOffice.org ya puedes hacer cartitas, pero no puedes hacer libros. Que no se tome tan literal. ¿A qué me refiero con esto? A la gente le interesa que el software funcione y ofrezca al menos lo mismo que su competencia o haga algo impresionantemente útil que su competencia no haga.

Ejemplos de fallas y reporte de errores

Yo redacto memorias técnicas y exploto parte algunas capacidades no avanzadas de Writer. A veces le pido a Writer que haga un estilo de gráficos donde se mantenga la «razón de aspecto» de una imagen (la razón alto por ancho) con una altura automática mínima de 0.1 cm pero con un ancho fijo de 5 cm. Esta configuración es importante porque puedo preparar una serie de pasos con pantallazos: almaceno en un «estilo» de imagen y simplemente aplicar el mismo estilo a todos los pantallazos y quedan con altura variable. Lo que OpenOffice.org Writer hizo fue ignorar lo de la razón de aspecto y me puso todas las imagenes del mismo estilo de 5 cm de largo y 0.1 cm fijo de alto. Tuve que aplicar los cambios a cada imagen manualmente, y aunque lo haya logrado, el software no hizo lo que yo necesitaba. Esto último se traduce a que no satisfizo mis necesidades, no cumplió mis expectativas.

Ya sé, me dirás: «puedes reportar el bug». Lo he intentado, pero en el caso de OpenOffice.org, la mayoría de mis reportes han quedado en el olvido. Existe otro bug —que sí reporté—, donde al borrar los formatos duros (entiéndanse «formatos aplicados manualmente»), los estilos de caracter aplicados se pierden. No puedo marcar una palabra como «extranjerismo» y aplicarle una letra oblícua mediante un estilo, porque si marco todo el documento y le pido que elimine los formatos aplicados manuales, elimina la aplicación del estilo «extranjerismo» a esa palabra. Eso Word lo sabe hace perfectamente desde hace mucho tiempo; Writer simplemente no lo hace. Al reportar el bug, lo marcaron como un bug que en realidad no es bug. Mostraron una serie de documentos para «avalarse». Al analizar el documento, los conceptos básicos del documento estaban ambiguos y contradictorios. Todo esto se les hizo notar, con referencias y ejemplos, y simplemente dejaron de responder. Yo hice mi parte.

Tan fácil como esto: a veces Writer coloca las imágenes flotantes fuera de los márgenes de la hoja, y debo hacer ajustes de párrafos, en lugar de mandarme todo el párrafo a la hoja siguiente. ¿Por qué es mejor que lo mande a la hoja siguiente? Porque si yo no me doy cuenta de este error (digamos que cambié los márgenes en un documento de 35 hojas) y lo mando a impresora, voy a ver imágenes cortadas, y me voy a ver «descuidado» por usar una herramienta que toma decisiones estúpidas.

Para ese caso, mejor me quedo con Word.

Conclusión sobre el reto del Software Libre

El verdadero reto no es convencer a la gente ni pugnar porque la gente se abra a opciones alternas. Sería hacer que la gente se convenza por sí misma mediante los buenos comentarios que reciba de la gente de su confianza. La gente prestará más atención a lo que dice su jefe o su subordinado, su familia, sus amigos o sus maestros que lo que diga una bola de geeks en un estrado donde se siente la vibra de que están tratando de ser convencidos como si fuera mítin político.

Postdata: comentarios irrealistas

Además de todo lo anterior, los comentarios que queremos que escuchen deben ser REALISTAS. Cuando los comentarios no son realistas, se generan expectativas que no se satisfacen. El grado de frustración sube ante la decepción en su primera impresión. Por ejemplo: no hagas comentarios del tipo «Linux es ecológico porque lo puedes instalar en hardware viejo» porque no es cierto y se vuelve contraproducente. Se puede desde un punto de vista muy técnico —yo instalé el kernel 2.4 en una 386, pero tardó 10 minutos en hacer un «echo *«—. Cierto, existe Damn Small Linux, pero es una distribución que usa versiones anteriores (gtk-1.2 en lugar de gtk-2.0, por ejemplo). Esto da una distribución reducida de propósito específico sin soporte para gran parte de las funciones que los usuarios hoy dan por hecho. Equivale a decir que «Windows lo puedes instalar en hardware viejo» y para lograrlo te ofrecen un disco de Windows 98 ó 2000. El resultado final es que estos «rumores» llegan a oidos de ilusos que en los festivales de instalación piden que se le ponga Linux a su Pentium I con 32 MB de RAM y se decepcionan porque no se pudo.

Otro más: decir que «en Linux no hay virus» es una verdad a medias. Aunque es muy complicado que un virus se redistribuya fácilmente en Linux, uno debería decir «en Linux prácticamente no hay virus» o «en Linux no hay virus… todavía«.

Gracias por el tiempo que le han dedicado a leer este extenso artículo.

Implementando soporte para Xinerama en Superkb

Desde hace tiempo, Alfredo observó el problema. Incluso, hay un screenshot en la sección de bloopers (al final de la sección de Pantallazos) donde se ve una pantalla doble con un teclado muy bonito. Pero, ¿por qué es eso un blooper?

Para pintar el teclado, Superkb le pregunta a X el tamaño de la pantalla, y pinta el teclado aprovechando al máximo la pantalla, según el tamaño que se le reporta.

El problema

Para X, una tarjeta dual con dos monitores, es en realidad un solo «display», de modo que Superkb no logra percatarse de la existencia de dos monitores, y aunque el screenshot se ve perfecto, la realidad es muy distinta. (Disculpen ustedes mi falta de pulso.)


(Superkb sin soporte para Xinerama: A la izquierda, el screenshot, a la derecha, las pantallas reales)

Nótese que en este caso, el problema se agrava debido a que cada monitor tiene una resolución distinta, de modo que no sólo el teclado se ve partido, sino que además una parte se pierde.

¿Cómo se podría resolver el problema? El problema dejaría de existir si Superkb tuviera la capacidad de conocer la cantidad de monitores existentes y la resolución de cada uno, y pintar varios teclados a la vez, uno por monitor.

XINERAMA

En una configuración de doble monitor, para X.org, se sigue tratando de un único «display», es sólo que un conjunto de pixeles se asignan al primer monitor y otro conjunto de pixeles se asignan al segundo monitor.

Xinerama es una librería que, en esencia, cuenta con sólo una función, llamada XineramaQueryScreens. Aunque en realidad son 4 funciones, las tres restantes sólo se usan para consultar la versión, disponibilidad y compatibilidad de Xinerama como extensión de X.

Con esta función le pregunto a X.org cuántos monitores hay y qué pixeles se mapean a cada uno de los monitores, y me contesta en un arreglo de estructuras XineramaScreenInfo.

Por ejemplo, en la PC que se usó para el screenshot, esta es la información que regresa:

screen_number = 0
x_org = 0
y_org = 0
width = 1024
height = 768

screen_number = 1
x_org = 1024
y_org = 0
width = 1280
height = 1024

Con esta información, Superkb sólo se limita a pintar los teclados en sus correspondientes coordenadas: un teclado entre 0-1023 x 0-767 y otro en 1024-2303 x 0-1023. El screenshot queda un poco diferente, y tal vez no se vea del todo bien. Pero ya en pantalla se ve como se espera.


(Superkb con soporte para Xinerama: A la izquierda, el screenshot, a la derecha, las pantallas reales)

Debido esto, hubo que convertir el pixmap y la ventana de Superkb, en un arreglo de pixmaps y ventanas. (No, no puedo usar un mismo pixmap para todas las ventanas, porque pueden ser monitores de diferente resolución).

En conclusión: para el tiempo que duré con conocimiento del bug y sin arreglarlo (desde la versión 0.10), creo que hice una tormenta con un vaso de agua. El cambio fue relativamente fácil de implementar.

… y todo para Xinerama se desprecie en favor de Xrandr. 😉

Por falta de respaldos

Te voy a hacer una pregunta y quiero que la contestes con toda honestidad. La pregunta es muy sencilla, por lo que la respuesta debe ser muy sencilla.

¿Tienes respaldos de tu información importante?

Por «información importante» sólo tú sabrás a qué me refiero, pero no te limites a tu información personal; piensa también en la PC de tu trabajo. No sólo pienses en disco duro: piensa en tu memoria flash, en las fotos que están actualmente en tu cámara, en tus CDs que tienes guardados, en tus servidores. Tampoco te limites a tus documentos: fotografías, recuerdos, programas que escribiste, música difícil de volver a bajar, textos, videos, herramientas de manejo de información, programas, scripts, etc.

Desafortunadamente, el origen de esta reflexión es la experiencia propia.

Hoy falleció el disco duro de la PC de mi trabajo. Al recordar la información que tenía, me doy cuenta de que más que la sola información, en realidad era toda una plataforma de trabajo.

¿Y cómo sucedió? Al mover mi escritorio le di una «palmada» accidental a la PC y pasó de ser vertical a horizontal. No es que culpe, pero me parece un error de diseño físico del gabinete que al empujar un gabinete, en lugar de recorrerse, se caiga (es una Dell Optiplex GX620 Small Form Factor). Cuando la revisé me dí cuenta de por qué se cae: disco duro, CD-ROM, disquetera y fuente de poder están ubicados hasta arriba, en lugar de hasta abajo, donde sólo está la placa y las ranuras de expansión. De estar hasta abajo, sería más resistente a estas caídas y, aún si se cayera, el golpe sobre el disco duro es mucho más débil. Insisto, no culpo porque el respaldo de mi PC es mi responsabilidad, pero casi puedo apostar que tu PC hace lo mismo y a tu información le puede pasar lo mismo.

Siento como si mañana fuera nuevamente mi primer día en el trabajo.

Un saludo a todos.

De visita en Sol y Ciencia, 2008

El sábado pasado estuve en el Cecut visitando una feria de ciencia, titulada Sol y Ciencia, organizada por la Sociedad Astronómica de Baja California (los mismos que presentan Una Ventana al Universo en el planetario del Cecut).

Aunque tenía una expectativa diferente del evento, salí con buen sabor de boca. Les cuento.

Vista abiertaUna parte del evento consistió en la participación de los preparatorianos del CETIS 156. Una buena cantidad de alumnos presentaron los proyectos de electrónica sobre los que han trabajado. No recuerdo todos, pero estos se me quedaron grabados:

  • Una sádica propuesta de evitar robos mediante descargas eléctricas (dos alumnos lo aplicaron a vehículos, uno más a bolsas de mano y mochilas y uno más a defensa personal.)
  • Otra propuesta para evitar robo de carros usando proximidad (menos sádica)
  • Un tendedero electrónico.
  • Un bote de basura con sensor de llenado.

Felicidades a todos los muchachos que participaron. Esta vez fueron maquetas, pero en un futuro podrían ser soluciones que veríamos en nuestra ciudad. Es sumamente importante que sigan realizando proyectos, plasmando ideas y planteando soluciones por medio del proceso de diseño. Sólo así llegarán a resolver de raíz los problemas de nuestra ciudad. (Cof, vialidades, cof, logística burocrática, cof!)

CarritoHubo otros proyectos de alumnos con mayor nivel académico:

  • Una propuesta para facilitar el cambio de una llanta.
  • Un boiler solar.
  • Un mecanismo para dectar la humedad en la tierra (para sistemas de riego).
  • Un proyecto demostrativo de levitación por medio de corrientes de aire y alto voltaje (me parece que este proyecto lo preparó un profesor).
  • Una planta de purificación de agua.

Disculpen si he equivocado la descripción de algún proyecto, pero mi memoria es bastante mala.

Arena - miniaturaTambién hubo demostraciones de sensado de obstáculos con unos vehículos robot construidos con kits de piezas Lego, en una superficie previamente preparada. Los expositores me explicaban que originalmente, el proyecto consistía en lograr que dos robots colocados en la superficiedetrás de un puente, compitieran por alcanzar un tercero y «despertarlo» y buscar darle instrucciones para recoger una serie de piezas del color correspondiente al robot en su posición original. Todo esto, sin intervención humana.

Secuencia de EclipsePor su parte, la Sociedad Astronómica de Baja California presentó su colección de astrofotografía (planetas, nebulosas, eclipses, ocultaciones, etc.) parte de la cual está publicada en su Galería Astronómica. Además, apuntaron sus telescopios al Sol. Tuve la oportunidad de ver una imagen impresionante del Sol con unas erupciones. Estas erupciones son tan pequeñas comparadas con el Sol que apenas se distinguen en el telescopio como pequeños «filamentos». Aún así, en cada uno de ellos cabe un planeta Tierra.

Este tipo de eventos me provocan tanto gusto como nostalgia. He participado en eventos de este tipo tanto como expositor, como miembro del Staff, y cada uno ha sido una experiencia única. El gusto viene por encontrar personas interesadas en la divulgación y promoción de la ciencia, y que hacen partícipar a los estudiantes en público.

¿Saben qué es lo mejor/peor de todo? Que este es el decimotercer año que la realizan. ¿Alguno de Ustedes lo sabía?

Video favorito: Vadrum meets the Barber of Seville

Drummer camVadrum Meets the Barber of Seville es una mezcla entre la obertura de El Barbero de Sevilla y la flamante percusión de Andrea Vadrucci.

En el video pueden notar una parte donde utiliza los diferentes sonidos de la batería como si fuera un instrumento con tonos para acompañar la melodía de la pieza original.

Además de su canal de YouTube (vadrum), donde presenta otras de sus mezclas —entre ellas un increíble encontronazo con Mario Bros. 2—, tiene un sitio, http://www.andreavadrucci.com/, donde incluso muestra su batería y cada una de las piezas que la componen. Éste está en italiano, pero siendo lengua hermana del español, algunas cosas se alcanzan a entender.

Tal vez esto sea algo de lo más impactante que he visto después de Rodrigo y Gabriela.