Reflexiones sobre la tecnología

Ficha técnica

Autor: Arismendy Figuereo

Tarea: Empresario Dominicano
Fecha:04 Abril de 2005
Tema: Sociedad/Tecnología

Si este artículo tuviera subtítulo, sería «de cómo los formatos que usan las computadoras nos afectan». Mi pretensión con él es exponer algunas reflexiones sobre aspectos de la informática que tienen repercusiones sociológicas, centrándome en la importancia que tienen las convenciones de las máquinas en la sociedad y en la economía. En mi opinión, muchas de estas reflexiones no son obvias a menos que uno tenga una buena base técnica y se plantee cuál es la relación entre la tecnología y la sociedad. Por ello, estoy seguro de que incluso a muchas personas que conozcan los hechos les resultará fructífera la lectura.

Convenciones: necesidad y alcance

Pocas personas que no sepan programar ni estén muy metidas en el mundo de la informática se dan cuenta de un hecho básico para entender toda la tecnología electrónica: ninguna máquina es inteligente, todo su funcionamiento se basa en convenciones. Si una máquina o programa sólo sabe manejar números de dos cifras y un resultado tiene que representarse en tres o más, simplemente no será capaz de darlo. En cierta manera, puede decirse que todo es un gran «engaño», que se mantiene mientras se cumplan esas convenciones. Si no las cumplimos, los sistemas no nos podrán dar los resultados que queremos (e incluso, en algunos casos, nos darán resultados inesperados en vez de informarnos de que ha habido un error).

A algunos les podrá parecer exagerado o «apocalíptico» decirlo así, pero es cierto. Las máquinas realmente no saben ni sumar, no tiene capacidad de «saber» nada. Simplemente son un conjunto de componentes electrónicos que reaccionan a la electricidad que les llega por unos cables mandando electricidad por otros.

A otras personas puede que estos dos párrafos no les digan nada: «¿Y qué si realmente no saben sumar? Parece que suman, que es lo que nos importa. Nos dan lo que queremos: resultados». Y tienen razón, pero eso deja escapar un hecho crucial: todas las máquinas funcionan mientras se cumplan unas ciertas convenciones. Si no hay unas reglas aceptadas y establecidas, las máquinas son inútiles. Si se rompen las reglas, las máquinas dejan de funcionar. Si les damos unos datos de entrada que no esperan, en el mejor de los casos la salida será aleatoria. Las máquinas no pueden imaginarse nada, no son inteligentes.

¿Por qué tanta insistencia recalcando la necesidad de convenciones? Porque esto nos lleva al primer punto importante y no obvio del funcionamiento de las máquinas: sus «idiomas». Y no me refiero a los lenguajes de programación, sino a los verdaderos idiomas de las máquinas. Me refiero a los formatos y a los protocolos.

Los formatos y los protocolos no son más que dos encarnaciones diferentes de las convenciones. Los primeros son conjuntos de normas sobre la representación de datos (a nivel de los 0s y 1s que leen las máquinas, no a nivel de representación gráfica tal y como la ven los usuarios), y los otros son reglas de comunicación entre dispositivos (normalmente físicos), el «lenguaje» que usan para «comunicarse». Llamamos formatos y protocolos (o normas) «abiertos» a los que tienen una especificación pública, con lo que cualquier particular o empresa puede crear libremente un programa que los entienda o cumpla. Llamamos «cerrados» a aquéllos que son secretos, o que, debido a trabas legales, no puede implementar cualquiera libremente. Los formatos y protocolos abiertos son vitales para que pueda haber alternativas y competencia (y así se pueda seguir avanzando), y es inaceptable que alguien tenga algún tipo de control sobre las formas de comunicación, al igual que con los idiomas humanos. Todos deben tener las mismas oportunidades de usarlos y aprenderlos, y nunca debemos dejar que nadie imponga «idiomas» que no todo el mundo pueda usar en iguales condiciones: cualquier oscurantismo de este tipo debe ser combatido de la manera más feroz.

Desgraciadamente, el esfuerzo de muchas compañías por extender formatos y protocolos que ellos controlan de alguna manera es muy grande, por lo que tenemos que permanecer continuamente alerta. Estos esfuerzos llegan a veces al extremo de tener «protegidos» esos formatos por patentes, por lo que aunque alguien consiguiera averiguar por ingeniería inversa cómo son, no podría aprovechar ese conocimiento debido a los obstáculos legales. Para que la información pueda circular libremente y podamos avanzar, debemos luchar contra esta tendencia y potenciar los formatos y protocolos abiertos que nadie controle. Sólo así podremos ocuparnos de asuntos más importantes que salvar trabas que no nos permiten comunicarnos.

Interfaces

Muchos preguntarán: ¿Cómo puede ser posible que unos puedan leer los documentos en un formato determinado y otros no? Para entenderlo hay que saber que las máquinas simplemente siguen nuestras órdenes literalmente y a rajatabla, por lo que, si los programas que usamos están «entrenados» para esperar un formato determinado, no sabrán qué hacer al encontrarse un documento que no las siga. Unos datos en un formato que no entienda un programa es tan útil como letras aleatorias, porque las máquinas no tienen intuición y no pueden imaginarse las infinitas posibles variaciones. La diferencia está en que las personas pueden aprender, si así lo desean, todos los idiomas que quieran; pero si un formato no está documentado, habría que poder leer la mente de los programadores que lo crearon, para reconocerlo.

A veces el problema no es que no podamos ver en absoluto un documento, sino que no lo vemos correctamente (nótese que esto tampoco es, necesariamente, culpa de los programas que no los saben leer). Centrémonos en los casos de variaciones sobre formatos abiertos y en los formatos cerrados que parcialmente se entienden gracias a un trabajo descomunal de ingeniería inversa. En ambos casos, el único interesado en que ocurra esto es alguna empresa con una gran cuota de mercado cerebral (cuota de mercado de «confianza de los usuarios», en el sentido de que éstos tenderán a usar sus aplicaciones pero sin pensar que son las mejores). ¿Por qué? porque de lo contrario, esta jugada es tirar piedras contra el propio tejado. Invariablemente, el objetivo de crear documentos en formatos cerrados nuevos y de no seguir un protocolo conocido es echar del juego a los contrincantes con menor cuota de mercado cerebral.

La posibilidad de las variaciones sobre formatos conocidos es la opción menos arriesgada: consiste en usar una técnica muy conocida en la industria, llamada «abrazar y extender». Mediante esta técnica mantenemos a todos los clientes que tenemos (si deciden actualizarse, algo que es cada vez más común con la proliferación de Internet, y a veces hasta automático), pero poco a poco introducimos pequeñas incompatibilidades que hacen parecer que los programas de la competencia no funcionan bien. Podemos mostrar nuestra mejor cara de cumplidores de formatos modernos a la opinión pública, e incluso podemos disfrazar esta táctica de «innovación», asegurando que estamos en el derecho de hacerlo porque añadimos «mejoras para nuestros clientes». Y, a la vez, vamos consiguiendo que haya más y más documentos que sólo puedan verse correctamente con nuestro programa. Es decir, que conseguimos un efecto similar al de los formatos y protocolos cerrados y la sensación de que los programas de la competencia no funcionan bien; todo sin necesidad de inventar nada desde cero ni de arriesgarse a que los usuarios no adopten el «nuevo programa», que tiene valor, en muchos casos, sólo si lo usa mucha gente de su entorno (porque sólo usaremos herramientas que nos permitan comunicarnos con nuestro entorno, y a veces esto sólo es posible si usamos el mismo programa). Es una jugada maestra en contra de la libertad de los consumidores y a pesar de todo los mantenemos contentos. No les demos a esas empresas la satisfacción de depender de ellas. Potenciemos la libre competencia usando formatos abiertos.

Y ¿por qué funciona tan bien esta táctica? Pues porque las máquinas no tienen intuición, por lo que es fácil idear pequeños cambios que, si queremos, confundan a los programas de la competencia. Por supuesto, en ese caso cambiaríamos nuestros programas para que reconocieran esas «pequeñas variaciones» y daría la sensación de que son los de la competencia los que no leen correctamente nuestros documentos. Más aún, podríamos hacer esos cambios para que afectaran mínimamente a las versiones antiguas de nuestros programas, de tal forma que los nuevos documentos se vieran mediana o perfectamente bien con ellos.

Si la empresa grande hace variaciones, ¿no es responsabilidad de las pequeñas reconocerlas y adoptarlas? Rotundamente NO. Hay tres problemas fundamentales con esto:

  1. No podemos leer la mente de los programadores, así que es imposible saber con seguridad cómo son los formatos.
  2. Nos llevan una versión de ventaja, y pasarán meses desde que se descubra la variación hasta que finalmente esté implementada y se haya podido publicar la siguiente versión del programa. Además, en este tiempo,
  3. Pueden haber preparado una nueva versión con más variaciones, con lo que para el momento en que hayamos conseguido reconocerlas, ellos podrían haber vuelto a romper la compatibilidad.

Teniendo en cuenta todos estos factores, el tiempo que los programas de la competencia entiendan la última versión del formato del líder de cuota de mercado cerebral será bastante bajo comparado con el resto. ¿Por qué? Porque para el momento en que salga un programa de la competencia que entienda más o menos bien el formato actual, puede que los líderes estén a punto de sacar una versión nueva de su programa, con más cambios que rompan la compatibilidad. Si estas variaciones no las hacemos sobre uno, sino sobre varios formatos y protocolos, nos aseguraremos de que siempre haya algo de la competencia que «no funcione correctamente».

Resumiendo, es importante ser consciente de que hay un intermediario (una interfaz, un programa) cuando vemos un documento de cualquier tipo. La excepción, quizás, está en los documentos de texto sin formato (que puede decirse que es el único formato «puro», no artificial), del tipo de los que se ven con el Bloc de notas o similares (es decir, sin «estilos», ni tamaños de letra, ni colores....). Darnos cuenta y tener presente que hay un intermediario nos ayudará a entender, en general, que las cosas no son lo que parecen y, en particular, que:

  • Ver un documento en uno o varios programas de una manera, no significa que el documento esté bien formado ni que tenga que mostrarse de esa manera.
  • Ver un documento bien en un programa y mal en otro, no significa necesariamente que el primer programa esté bien y el otro mal.
  • Ver un documento de forma diferente en dos programas, no significa que alguno esté mal. Al menos, cuando hablamos de páginas web y otros formatos «abstractos».

Es decir: una cosa es el documento en sí, y otra muy diferente es cómo lo represente cada programa. A pesar de lo que se tiende a pensar, muchos formatos (tipos) de documentos no tienen representación única, por lo que, de forma efectiva, estamos poniendo un intermediario entre la «realidad» y nuestra experiencia. Y esto no siempre es malo, pero hay que ser consciente de ello para no caer en ciertas trampas.

Cuotas de mercado cerebral

La informática, por mucho que se quiera creer lo contrario, sigue siendo demasiado joven en muchas áreas. Todavía hacen falta alternativas y experimentos, no se ha encontrado «la mejor solución» para la mayoría de los problemas. Esto implica que bajo ningún concepto se debe rehuir la heterogeneidad, y menos por una alternativa no pública. Todavía la industria necesita tiempo para desarrollar soluciones de diferentes características y elegir qué cosas valen la pena de cada una, antes de conseguir la solución definitiva. Es necesario que se respeten las normas, formatos y protocolos para que las alternativas, mientras sean necesarias (probablemente siempre) puedan comunicarse y no dejen de ser «competitivas» por hechos «anecdóticos» (en lugar de por «méritos técnicos»).

El ejemplo más claro y rotundo que puede darse en estos momentos (y desde hace años) de la influencia de la cuota de mercado cerebral es la conflictiva opinión que tienen muchos de Microsoft: por un lado, piensan que no sirve; por otro, piensan que no hay mejores alternativas. Esto lleva a pensar a la gente cosas como que una página web está bien escrita/diseñada si se ve correctamente (es decir, como ellos esperan) en el navegador de la compañía, el Internet Explorer. Lo peor de esto es que hay muchos «diseñadores profesionales» que también lo creen, lo que lleva a que muchas páginas se hagan simplemente para Explorer (y, lo que es peor, para la versión que ellos tienen, su tamaño de pantalla, etc.), sin comprobar si cumplen las normas de la World Wide Web Consortium o al menos que otros navegadores las muestran aceptablemente bien. La mayoría de estas personas probablemente ni siquiera saben que el HTML (el formato que tienen las páginas web) está regulado por normas.

La solución no está, como aseguran muchas personas «prácticas», en hacer una página que se vea bien en el 95% de los navegadores. Tampoco está en hacer una versión para los dos navegadores más usados (Netscape e Internet Explorer). La solución es hacer las páginas bien, siguiendo las normas internacionales y evitando en la medida de lo posible las «extensiones» del formato HTML que haga cualquier navegador. No hacer esto implica, entre otros males, que navegadores como Opera o Konqueror pierdan tiempo intentando imitar fallo a fallo al Internet Explorer, con la consiguiente pérdida de tiempo y la pérdida de importancia de las normas frente a las imposiciones arbitrarias de un fabricante (Microsoft, en este caso). Si los diseñadores de páginas fueran más responsables, habría más navegadores para elegir, con mejores y más innovadoras características, porque todo ese tiempo se habría invertido en facilitar y mejorar el uso de los navegadores. Es decir, que con estas tácticas estamos restando tiempo a los programadores para que resuelvan nuestros problemas. Por supuesto, estos irresponsables «profesionales» serán los primeros en quejarse de la heterogeneidad de Internet y de que los navegadores no tienen tal o cual cosa que les facilitaría la vida muchísimo. Estas personas no están facilitando a los programadores que les escriban esas características tan útiles, pero lo peor es que están consiguiendo que nadie las tenga.

En general, puede decirse que la visión unidimensional (sólo haber usado un sistema operativo, un navegador, un procesador de textos, etc.) es catastrófica. Nos encierra en una única forma de pensar y de resolver nuestros problemas, y nos impide darnos cuenta de qué cosas son comunes a todas las alternativas y cuáles son exclusivas a nuestro entorno, entorpeciendo la comunicación con otros y nuestras propias posibilidades de elección. Y al igual que ocurre en la Naturaleza, ningún «organismo» informático es perfecto, por lo que la diversidad (y con ello, la capacidad de elegir entre varias posibilidades) es necesaria y conveniente. En realidad, uno de los problemas grandes de los virus de correo en Internet ha sido la homogeneidad de los usuarios (el hecho de que la mayoría use Hotmail con Explorer, el servicio de correo y navegador web de Microsoft, o el Outlook, el lector de correo de la misma compañía), ya que al ser «todos iguales», el mismo virus puede extenderse por muchas máquinas. Además, es preciso hacer notar que la compañía de Redmond nunca se ha esforzado en hacer seguros sus programas, pero eso escapa del tema de este artículo.

Respecto a la dificultad que ponen los «líderes de cuota de mercado cerebral» para comunicarnos con las otras alternativas, esta táctica, junto con la piratería, ha sido muy beneficiosa para sacar a los usuarios de un producto de la competencia para encerrarlos en otro. Tomemos como ejemplo los procesadores de textos: a principios de los años 90, el líder indiscutible en el mercado era «WordPerfect». Todo el mundo lo usaba, y uno casi podía dar por sentado que los demás iban a entender un documento en el formato de WordPerfect. Microsoft era consciente de esto, y quería adueñarse del mercado de los procesadores de texto, por ser grande y estar en pleno crecimiento. En este punto, estaban «niveladas» las fuerzas de Microsoft y WordPerfect, puesto que la primera tenía la confianza de los usuarios y eran los autores del sistema operativo, y la segunda tenía el mejor programa (en aquella época) y la cuota de mercado. Para poder hacerse un hueco, Microsoft tuvo que entender los documentos de WordPerfect, que todo el mundo usaba. Esto ya permitía, en teoría, que los usuarios de WordPerfect se pudieran pasar a Word, pero no al revés. ¿Y qué facilitó la afluencia de usuarios de WordPerfect hacia el Word? La piratería, porque los que ya tenían el primero no se habrían gastado el dinero de las licencias del segundo para cambiar de programa. Y, por supuesto, cada usuario de WordPerfect reconvertido iba «animando» a los demás a migrar a Word, porque aunque podía leer sus documentos, los que él producía quedaban, generalmente, grabados en el formato del programa de Microsoft. A pesar de lo que digan muchas empresas, en muchos casos la piratería ha sido una enorme fuente de beneficios: una vez algo se ha hecho muy popular, siempre tendremos muchas entidades y usuarios que sí pagarán por las licencias de los programas originales. Y, generalmente, la única forma de hacer popular un nuevo programa que es alternativa a otro establecido, es haciéndolo gratuito o dejándolo piratear (porque si probarlo no fuera gratis, no empezaría a extenderse en primer lugar).

El líder de cuota de mercado cerebral tiene un poder casi absoluto, y es imposible seguirle si no está dispuesto a ello (y rara vez lo está). Tener control sobre el sistema operativo, además, hace llegar a todos los usuarios esa «confianza», que es una de las ventajas que tuvo Microsoft para ganar a WordPerfect en el mercado de los procesadores de texto.

Con los protocolos, la influencia de la «confianza» es mucho más fuerte por dos razones:

  1. Si no se conoce el protocolo perfectamente no se puede participar en la comunicación, porque la diferencia entre formatos y protocolos es similar a la del lenguaje hablado y escrito: con los protocolos (las conversaciones), no podemos probar con varios programas, ni «leerlo varias veces» ni «ayudarnos de un diccionario». O lo entendemos perfectamente en ese momento, o no lo entendemos. No hay una segunda oportunidad.
  2. El valor del protocolo aumenta con el número de personas que lo usan. Esto también ocurre con los formatos, pero de manera más grave con los protocolos: los documentos puede que sólo los queramos para nosotros, pero ¿de qué sirve una forma de comunicación si no la conocen nuestros semejantes?

Por ello, es más importante aún que los protocolos sean abiertos y cualquiera pueda usarlos. Un protocolo no documentado que sólo puede entender un programa es peligroso y nada necesario. La situación es mucho más grave cuando no hablamos de programas cualesquiera, sino de sistemas operativos. Éstos, que hacen funcionar a nuestra computadora, son más «básicos» para nuestro trabajo (por ser necesarios para que nuestra computadora haga algo más que encender las luces que rodean los botones de encendido) y por ello debemos protegerlos con más celo. Los protocolos que sólo funcionan en un sistema operativo son menos necesarios y más perjudiciales que los que funcionan en un solo programa «de aplicación» que está disponible en varios sistemas operativos, porque el cambio de sistema operativo es más «traumático» y complejo que el cambio de una aplicación por otra.

Si no usamos los mismos formatos, fragmentamos el mercado, multiplicamos los esfuerzos de los programadores (que deberían estar invirtiendo su tiempo en mejorar lo existente y avanzar, no en resolver los mismos problemas una y otra vez) y nos restamos alternativas, porque ninguna podrá tener todo lo que nos gusta o necesitamos... excepto los líderes en cuota de mercado cerebral, que tendrán toda esa funcionalidad porque los programadores de todo el mundo les habrán ayudado. Por ejemplo: ¿por qué todos los dispositivos que salen al mercado funcionan con Windows? Desde luego no es por alguna característica magnífica de Windows ni tampoco por casualidad. Nadie puede adivinar cómo se van a comportar los nuevos dispositivos que se diseñan, así que cuando un fabricante crea uno nuevo (pongamos por caso una impresora), los sistemas operativos necesitan un programa que les diga cómo usarlo (lo que se llama un «controlador de dispositivo»). Pero, ¿quién escribe ese programa? Al contrario de lo que se pueda pensar, Microsoft no. Ellos no tienen tanto interés como el fabricante en que un nuevo dispositivo pueda usarse en Windows: es éste el que necesita, para que su dispositivo pueda tener éxito, que funcione en el sistema operativo usado por la mayoría; luego quien crea ese programa es el fabricante. Esto significa que, poco a poco, los demás sistemas operativos son cada vez menos una alternativa clara, a no ser que tengan recursos suficientes como para escribir todos esos controladores ellos mismos (y probablemente no los tengan, porque no son los líderes de mercado). En los casos de los sistemas operativos libres (aquéllos que se pueden modificar libremente, al contrario que Windows y los programas que usa la mayoría de la gente, que sólo puede modificar el fabricante) las dificultades son mayores, porque muchos fabricantes ni siquiera dan documentación, así que la mayoría de los dispositivos se manejan con controladores creados a base de ingeniería inversa (que a veces, aunque parezca mentira, funcionan mejor que los de los propios fabricantes).

Resumiendo: a pesar de que la gente piensa que hay pocos porque son programas dificilísimos de escribir, la realidad es muy diferente. Si no hay más alternativas reales de sistemas operativos para los usuarios es precisamente por lo difícil que es hacer funcionar la infinidad de dispositivos existentes, no por la complicación inherente al sistema operativo en sí. De hecho, hay cientos de personas en el mundo capaces de escribir un sistema operativo.... sin ayuda de nadie. Lo realmente difícil es tener recursos para poder escribir controladores para todos los dispositivos que existen y que se van diseñando día a día. También resulta problemático poder escribir aplicaciones que entiendan todos los documentos a los que están acostumbrados los usuarios, como los de música o vídeo. Los usuarios dan por sentado que tienen que poder verlos, pero resolver este problema requiere mucho tiempo, a pesar de no ser necesariamente díficil desde el punto de vista técnico.

Funcionalidad e integración: la importancia de los sistemas abiertos

Los programadores siempren están concentrados en los medios, dándoles tanta o más importancia que a los objetivos. Esto es normal, ya que al fin y al cabo es su trabajo. La mayoría de los usuarios, en cambio, sólo saben de objetivos, por lo que ni siquiera son capaces de preocuparse de los medios. Esto también es normal y respetable. Sin embargo, este «conflicto de intereses» complica su convivencia.

Los usuarios siempre quieren los resultados como a ellos les parece en cada momento, y «para ayer». Eso no sólo es imposible, sino también inconveniente. Aunque los usuarios no lo saben (ni tienen por qué saberlo), resolver problemas pensando a corto plazo complica a medio y a largo cualquier trabajo relacionado. Son mejores las soluciones genéricas, que se escriban bien una vez, con todo el tiempo que conlleve, y que dejen el problema resuelto de una vez por todas. Otro problema al que se enfrentan los programadores es que, desgraciadamente, muchos usuarios no tienen las ideas claras respecto a lo que quieren, aunque no lo sepan o no se den cuenta. Tampoco son conscientes de que las alternativas, los problemas a resolver y las circunstancias de los usuarios son infinitas, así que no se puede pretender que las cosas funcionen exactamente como a cada uno le gustaría (porque tiene que funcionar para otras personas también; y cada uno tiene una forma de pensar, al menos por ahora).

Probablemente una de las razones de esta situación es lo separados que están la industria y los usuarios. Al no poder darse una solución única a los problemas, cada programador intenta imponer la suya, pero eso tiene el inconveniente de la heterogeneidad y de que el usuario normalmente no quiere saber todas las alternativas que hay para poder decidir. Una posible solución a este problema sería que existiera una figura intermedia, la del «integrador de soluciones». Esta persona estaría cerca de ambas partes, y podría elegir la mejor combinación para el usuario entre todas las alternativas existentes. Una variación sobre esta idea son los programas a medida, que ya existen pero sólo para empresas, por los problemas de financiación que habría si alguien intentara desarrollar una solución a medida para particulares. Otro resultado interesante de diferenciar entre fabricante e integrador es que así separaríamos los intereses del «vendedor directo» y del fabricante de los propios programas. Es decir: el usuario quiere soluciones, y para dar una solución se necesitan cientos de programas diferentes. Los fabricantes tienen como objetivo construir sistemas flexibles y potentes; los «integradores», escoger la mejor combinación de componentes para presentar las soluciones de forma sencilla de entender y usar por parte del usuario. ¿Por qué no separar ambos roles en beneficio del usuario y de la propia industria?

La propia idea de los integradores sólo tiene sentido porque hay más de una solución a cada problema. Pero, lejos de ser una «molestia», las alternativas son importantes per se, no solamente por el hecho de que muchos problemas no tienen todavía una solución única. ¿Por qué? Porque en ningún caso las soluciones son perfectas, siempre tienen pros y contras. En ciertos entornos o circunstancias, son mejores unas soluciones; en otros, otras diferentes. Esto es evidente para los profesionales de las «tecnologías de la información», cuyo trabajo consiste con frecuencia en elegir entre varias alternativas. Y no pueden decantarse por una solución única para todos los casos, porque tienen que tener en cuenta las circunstancias y los recursos de cada cliente.

El caso medio de los usuarios particulares, sin embargo, es muy diferente. La capacidad de elección no es algo que preocupe a muchos usuarios, y de hecho a algunos casi parece incomodarles tener alternativas. Los últimos sienten un miedo casi irracional por las computadoras, y éstas les hacen sentir inseguros hasta el punto de perderse y sentir que «pierden el control» porque cambien un par de colores y algunos iconos de sitio en la interfaz de usuario. Esto dificulta más aún la labor de los profesionales del sector, que no solamente tienen que crear buenos programas, que funcionen, que no tengan fallos y que sean fáciles de manejar para muchas personas que tienen una forma muy distinta de ver las cosas, sino que además la interfaz de los programas tiene que parecerse a las de otros similares que hayan podido usar (sean o no interfaces bien pensadas o fáciles de entender).

En cualquier caso, para que pueda haber soluciones alternativas (tanto para que coexistan mientras se escoge la más apropiada, como para tenerlas siempre como posibilidades), es necesario que haya ciertas normas que se cumplan. Los distintos fabricantes de programas deben practicar el «juego limpio», publicando los nuevos formatos y protocolos que diseñan y usando y promoviendo los públicos existentes, siempre que sean útiles. Sólo así podrán participar todos en igualdad de condiciones, algo que necesitamos si queremos que las empresas compitan resolviendo mejor los problemas a los usuarios y no impidiendo a los demás hacerlo. Es decir, que los integradores deben ser capaces de reemplazar más o menos fácilmente unos «componentes» (programas) por otros, lo que es posible sólo si todos funcionan con los mismos formatos y protocolos (eso no significa que harían exactamente lo mismo; solamente trabajarían con los mismos tipos de documentos y producirían salidas compatibles unas con otras, no idénticas). Y en esta situación son precisamente los usuarios, tanto particulares como empresas, los que tienen el poder de presionar a los fabricantes para que sigan o no estas reglas, decantándose por los programas de los que las siguen y evitando el uso de formatos y protocolos no públicos. Usar programas «cerrados» nos hace depender de un fabricante y entorpece el trabajo de los profesionales cuyo objetivo es, no lo olvidemos, resolver nuestros problemas.

Hay que dejar claro que los formatos cerrados sólo benefician a los líderes de la cuota de mercado cerebral, y que éstos siempre intentarán encerrarnos en aquéllos. Los usuarios lo que necesitan son formatos abiertos, conocidos, que todo el mundo pueda usar en las mismas condiciones y que nadie pueda cambiar a su antojo. Ésa es la única manera de conseguir la interoperabilidad de los productos que hay en el mercado (es decir, que funcionen bien unos con otros), para que cada uno pueda elegir la solución que más les convenga en cada momento. La única razón que tiene una empresa para usar formatos cerrados es usar la falta de compatibilidad en beneficio propio para evitar que los usuarios puedan elegir soluciones de otros fabricantes. Por tanto, por mucho que digan los monopolistas, la manera de que todo funcione bien y de ahorrar frustraciones al usuario no es que todo el mundo use el mismo sistema operativo y las mismas aplicaciones. La solución es usar formatos abiertos, para obligar a los fabricantes a competir entre sí mejorando constantemente sus soluciones.

El problema de las patentes

Suficiente se ha comentado ya sobre las normas, la necesidad de cumplirlas, y lo que haría avanzar a la ciencia y a la industria la disponibilidad de «componentes prefabricados» para poder construir soluciones a partir de ellos. También se ha hablado sobre que, en muchos casos, algunos problemas de interoperabilidad no se pueden resolver completamente por la imposibilidad de saber qué va a hacer, y cómo, una competencia «poco dispuesta a colaborar». Pues bien, el mayor problema con el que se enfrenta el avance de la informática es algo que puede hacer imposible incluso intentar adivinar lo que hace la competencia: las patentes y las extensiones sobre los derechos de autor. El resto del texto está centrado en las patentes y en las razones por las que debemos luchar para que no se legalicen en Europa.

Empecemos el planteamiento por un caso real: actualmente hay una página en Internet donde se publican los avances cinematográficos de las películas que están proyectándose en los cines de EE. UU. (o que están a punto de estarlo). Sin embargo, estos avances no pueden verse en Linux (un sistema operativo relativamente poco común), y, en realidad, en ningún sistema que no sea Windows o MacOS. La razón no es la falta de pericia técnica de los programadores de los otros sistemas, ni una posible falta de interés de la comunidad de usuarios y programadores: la razón es que Apple, en sus vídeos Quicktime (el formato en que están grabados los susodichos avances de películas), está utilizando desde hace unos años un formato de compresión llamado Sorenson, que está «protegido» por patentes. Esto hace que, por mucho interés, recursos o habilidad que tenga la comunidad, nunca se podrá crear un reproductor para estos vídeos sin pagarle a los señores de Sorenson lo que pidan.

Debido a que la mayoría de la población puede ver estos vídeos (por ahora, gratuitamente, aunque evidentemente no hay ninguna garantía de que siga así) y no está concienciada de estos problemas, Apple gana cada vez más cuota de mercado cerebral y poder mediático, puesto que cuanto más se impone su formato, menos alternativas hay y más pueden exigir tanto a los que quieren «recibir contenidos» como a los que quieren distribuirlos. Esto no beneficia a la industria ni a los consumidores, porque este dominio no lleva a mejorar la técnica existente. Sólo cuando todos pueden competir en las mismas condiciones se crea verdadera competencia y todo avanza.

Las patentes aplicadas a la programación son, en gran parte, una farsa. NO protegen la propiedad intelectual de los programadores, y de todas formas de eso ya se ocupan los derechos de autor: al contrario que éstos, aplicados sobre creaciones, las patentes se conceden por ideas. Para empeorar la situación, éstas suelen ser muy generales y obvias, por lo que lo único que consiguen es evitar a muchas personas usar esas mismas ideas si alguien las ha patentado antes. Esto está mal por dos razones:

  1. La persona que patenta la idea no tiene por qué haber sido la primera en pensarla.
  2. Al ser ideas tan obvias, alguien a quien se le haya ocurrido lo mismo (y suelen ser muchas personas) no la puede usar porque alguna oficina de patentes la tiene escrita en un papel.

A mucha gente, sin embargo, le puede parecer imposible que las patentes sean tan malas, porque al fin y al cabo han existido durante hace muchos años y nadie se ha quejado hasta ahora. La cuestión es que hay diferencias fundamentales entre los objetos físicos que necesitan fabricación y los programas para computadoras. En los siguientes párrafos se intentará explicar la naturaleza de las patentes aplicadas a ideas y terminar con los mitos y creencias falsas de muchas personas que no entienden todavía el problema:

Para empezar, e independientemente de lo que uno piense sobre si hay que tener derecho legal a recibir dinero por las invenciones, las patentes, tal y como están planteadas actualmente, no darán beneficios a nadie que no sea una gran empresa multinacional (lo que actualmente excluye de forma automática a todas las que no sean estadounidenses o japonesas). Dado que las ideas de programación patentadas son tan generales, casi todos los programas pisan una o varias patentes. Por tanto, cuantas más se tengan, más se podrá amenazar a la competencia. Como solicitar patentes es un proceso costoso económicamente hablando, sólo las grandes empresas se pueden permitir tener un gran número de ellas. Además, dado que las patentes suelen «intercambiarse» (las empresas suelen conceder a otras el derecho a usar una patente si están usando una de la otra compañía), quienes tienen más están mejor protegidos legalmente, es decir, que las patentes son tanto un arma ofensiva como defensiva.

Por lo tanto, y en general, aceptar que las patentes de programación dan dinero al que investiga es partir de una idea equivocada: la investigación se hace normalmente por necesidad y no cuesta mucho dinero, por lo que no hace falta compensar económicamente a los «inventores»; los recursos se gastan en desarrollo, no en investigación, y tener los resultados disponibles para poder trabajar a partir de ahí es la única compensación necesaria para incentivar el desarrollo del sector. Esto es muy diferente al caso común industrial, en el que necesitan hacerse muchos experimentos y tener laboratorios de investigación especializados para poder desarrollar nuevos avances.

¿Por qué, entonces, hay tanto interés en legalizar las patentes de programación? Porque benefician (más) a las grandes multinacionales, permitiéndoles virtualmente prohibir a las demás empresas hacerles la competencia. Ya ni siquiera tendrían que competir con la técnica y la propaganda, sino que podrían combatir con «legiones» de abogados directamente en los tribunales. En la mayoría de los casos contra las empresas pequeñas, éstas ni siquiera podrían terminar el juicio, aunque tuvieran razón, por falta de recursos. Seamos claros: las multinacionales no tienen ninguna necesidad de innovar ni de arriesgarse desarrollando productos realmente nuevos. En realidad, los mayores defensores de las patentes son las multinacionales de los países que ya las tienen, porque les alegraría mucho extender su dominio a otros países. ¿Por qué iba EE. UU. a querer que Europa, como ellos mismos dicen, «fuera más competitiva»? Cuando ellos nos intentan convencer de que las legalicemos, evidentemente no buscan ayudarnos de manera altruísta, sino que sus multinacionales puedan dominar a las empresas europeas además de a las pequeñas empresas de su propio país.

Para entender verdaderamente bien lo absurdo de las patentes es necesario conocer la naturaleza de las ideas patentadas, y hasta qué punto no son nuevas y resultan obvias para cualquier profesional. Como para ello habría que saber programar, dos anécdotas servirán para mostrar de forma resumida los resultados de la aplicación de este tipo de patentes:

  1. Hay una página de «Cazadores de recompensas» en la que las empresas ofrecen dinero al que «investigue» patentes y su historia, y encuentre evidencias de uso anterior, para invalidarlas. La razón de que exista esta página (y de que tenga tanto éxito) es que la mayoría de las patentes están mal concedidas. Este problema ocasiona gastos adicionales a las empresas, que servirían mejor a la sociedad si pudieran dedicar esos recursos a dar soluciones informáticas.
  2. En EE. UU. hay empresas «de tecnología» compuestas exclusivamente de abogados, que se dedican a conseguir patentes y a pleitear sobre las que tienen. Ellos no pueden pisar ninguna, porque no hacen ningún trabajo aparte de pleitear.... pero pueden amenazar a cualquiera con juicios por pisar las suyas. Así que tenemos como estandarte de la innovación tecnológica a un grupo de abogados (¡!). Todo esto, por supuesto, gracias a las patentes.

Otra razón para estar en contra de las patentes es que la programación puede considerarse una ciencia similar a las matemáticas, y en estos campos es muy importante compartir los avances y trabajar a partir de los logros de otros. Hay una frase de Newton, citada muy a menudo en informática, que lo resume bien: «Si he visto más lejos es por estar sobre hombros de gigantes». Si no se hubieran compartido los progresos, no habríamos avanzado nada desde hace siglos. Probablemente seguiríamos pensando que el Sol gira alrededor de la Tierra.

Por otro lado, ni siquiera el objetivo inicial de las patentes apoya su aplicación sobre las ideas de programación. Las patentes surgieron como una manera de asegurar que los inventores podían gastar dinero en hacer experimentos y desarrollar nuevos productos para la sociedad, porque luego recuperarían su dinero. Las patentes se hicieron para el bien de la sociedad, no para el lucro privado. En cierta manera, es una «perversión» aplicar las patentes de forma que no favorezca a la sociedad. Aplicadas a las ideas de programación, no estimulan la innovación, sino el registro de ideas obvias para que nadie más pueda usarlas. Las patentes de programación no son más que un arma legal que sólo los más fuertes (las grandes multinacionales) pueden usar a su favor.

Más aspectos de las patentes que hacen pensar que no sirven para ayudar a avanzar a la industria son los que hacen que los técnicos no estén al tanto de su evolución. Si ni siquiera los propios profesionales del sector saben qué patentes hay, no tiene sentido plantearse que se hayan copiado ideas de otros, por lo que no sirven como protectores de ideas originales. ¿Y por qué los profesionales no están al tanto de las patentes registradas? Porque:

  1. Están escritas en un lenguaje a medio camino entre el legal y el técnico, que las hace difícil de comprender tanto a técnicos como a abogados.
  2. Hay demasiadas patentes, y no están en el «conocimiento popular», no se publican para ponerlas en el conocimiento de los profesionales (uno no se entera de la mayoría de las patentes existentes si no le amenazan antes con un pleito).
  3. Las descripciones son abstractas y vagas, y el conocimiento de la tecnología de abogados y jueces es bastante pobre. Esto provoca que muchas patentes, en un juicio, puedan cubrir áreas o aplicaciones en las que ni siquiera había pensado la persona que solicitó la patente.

Estas razones hacen inútil el uso de las patentes para proteger ideas legítimamente innovadoras u originales porque, en la mayoría de los casos, los programadores no serán capaces de tener consciencia de las técnicas patentadas en un momento dado, así que difícilmente podrán copiarlas o usarlas pagando por ellas. Hay que tener claro que las patentes tendrán un efecto muy negativo sobre la economía europea, y que quienes únicos están interesados en imponerlas son las multinacionales estadounidenses y la oficina europea de patentes (por interés, en realidad sólo a corto plazo, ya que todo el mundo querrá patentar de todo). Por todo ello, debemos luchar activamente contra su aceptación en el viejo continente, como europeos, como tecnófilos o como empresarios. El primer paso puede ser firmar la petición de Eurolinux, en http://petition.eurolinux.org, e informar a todas las personas que puedan estar interesadas. No dejemos que otros países impidan nuestro desarrollo tecnológico.

Y ya como colofón, valga una cita de 1991 de Bill Gates, alto cargo de Microsoft, cuando todavía su empresa no tenía todas las patentes que tiene actualmente: «Si la gente hubiera entendido cómo se iban a conceder las patentes cuando surgieron las ideas vigentes actualmente, y las hubiera obtenido, en estos momentos la industria estaría completamente estancada». Uno se pregunta qué diría ahora.

No hay comentarios: