OFF-TOPIC: …and all I have to say is «euuuu»!
Normalmente no me gusta escribir sobre cuestiones relacionadas con la política, pero creo que es algo que afecta directamente a la tecnología que todos usamos y era importante hacerlo. Así que perdonad por este artículo off-topic. Creo que es un tema al que no se le ha dado la importancia necesaria, pero el veto o bloqueo tecnológico de Estados Unidos a China (véase caso Huawei), podría algún día imponerse a Europa. Y si eso ocurre ¿qué?
Afortunadamente las alarmas han saltado en ciertos sectores y Europa se ha puesto en alerta (mejor tarde que nunca). De hecho, dedicaré un apartado del artículo a analizar lo que está haciendo Europa. Pero pienso que deberíamos llevar ya décadas y décadas creando nuestras propias tecnologías, puesto que parece que nos hemos transformado en un continente donde nos limitamos a consumir lo que nos llega de Estados Unidos y Asia.
¿El título? Simplemente es algo que me dijo una persona muy especial hace un tiempo y en honor a ella lo he titulado así…
ÍNDICE:
¿Geopolítia? ¿Críticas? Nah! Solo mi humilde opinión:
A veces no nos damos cuenta de ciertas cosas o no quieren que nos demos cuenta de ciertas cosas. Muchos medios de comunicación modifican la realidad para crear noticias más jugosas, para alimentar a las masas sedientas de morbo, lo que ellos llaman audiencia (dinero), o en el mejor de los casos simplemente filtran las noticias que son más «Tendring Topic». Pero eso no quiere decir que las que no se dan no sean importantes, simplemente no interesan (pero deberían), no generan audiencia.
Vemos a diario noticias sesgadas, manipuladas, desde puntos de vista que poco tienen que ver con los intereses del pueblo, o estamos sometidos a una infoxicación extrema que no podemos procesar, que evita que tengamos una idea más clara del panorama. Últimamente, muchos poderes, también se sirven de las fake news para agregar una variable más al desconcierto. Desgraciadamente, algunas veces saltan a medios como la TV sin cerciorarse de que se trata de una noticia falsa. «¡Da igual la fuente, lo importante es que impacte!» – Parecen pensar…
Sin darnos cuenta nos convertimos en fuentes de noticias falsas cuando las creemos y las pasamos por las redes sociales o las difundimos por alguna app de mensajería instantánea, etc. Nos transformamos sin darnos cuenta en víctimas y también en parte del problema. Como si fuese una botnet humana.
Y ¿sabes que hay empresas periodísticas que venden noticias en packs como si fuesen naranjas? A veces parece que las noticias llegan por oleadas. Se abren los titulares de los telediarios con: «Hoy, un perro muerde a… en…» «Hoy, un perro muerde a … en…» «Hoy, un perro muerde a… en…». Cambia a la víctima y el lugar, pero saturan con una misma noticia durante un periodo de tiempo determinado. Luego, cuando pasa la «moda», buscan otra y la explotan hasta la saciedad, y así sucesivamente. ¿Por qué? Desgraciadamente mordeduras de perros suceden durante todo el año, no hay épocas como la época de floración en primavera, y afortunadamente hay más perros maravillosos que mordedores. ¿De eso no hablan? Ahh no, vale, que lo bueno y positivo que ocurre todos los días no genera morbo…
Parece que buscan el contenido al que estamos más sensibles en un cierto momento para saciar a la gente. Como si pre-analizasen a la conciencia colectiva para saber qué píldora darnos en cada momento. Ahh, un momento… ¿? Eso creo que lo llaman hoy día big data, no cociencia colectiva. Bueno es igual…
¿Cómo puede ser que en un medio A una misma noticia se cuente tan diferente a un medio B? Mi profesora de filosofía, Elisa, me enseñó una lección que tengo grabada: «La verdad es única, universal e intemporal«. Es decir, si una cosa es verde no puede ser roja, y es verde aquí, en Madagascar y en la Cochinchina, y lo es hoy y lo fue ayer.
Pero ¿sábes qué es lo peor? Lo peor es todas esas cosas que no nos cuentan. Todo lo que se tapa con estas otras noticias-distracción. Es más vulnerable el pueblo si ignora la verdad. No se trata de alarmar, sino de concienciar. De hacer despertar conciencias, de quitar vendas de los ojos. Creo que hay que hablar más de eso que realmente hipoteca nuestro futuro. El mañana nos debería pertenecer.
Hago otro paréntesis para poner otro ejemplo. ¿Crees que a las empresas de automoción le importa más el medio ambiente que las ventas? La respuesta es no. Pero afortunadamente la conciencia ecologista de las personas ha obligado a las empresas poner una oferta para esa demanda. Por tanto, cambiando a las personas se puede cambiar a las empresas. ¿Motivo? Ellas solo buscan ganancias, y si eso pasa por vender coches más verdes, entonces nos darán coches híbridos, eléctricos o de hidrógeno. Ellos simplemente quieren vender… ¿Ves por donde voy?
Las empresas primero generan una necesidad. Hacen que parezcas estúpido si no tienes cierto producto, hacen que lo necesites que tengas una alta dependencia de ello. Luego te lo venden. Pero si nosotros demandamos una cosa concreta, sus departamentos presionarán para que se explote esa necesidad. Y si lo miras desde ese punto de vista, tenemos mucho poder. ¡Usémoslo para dejar un mundo un poquito mejor!
Hay que salir un poco más para empaparse de una dosis de realidad. Y cuando haces eso, puedes comprobar que vivimos en un mundo algo convulso que va en una dirección que es extremadamente preocupante. Esto no es cuestión de izquierdas ni derechas, ambas deben hacer autocrítica y preocuparse algo más del ciudadano, más allá de la época de elecciones, que es cuando únicamente parecen acordarse de él… De hecho, hasta mandan cartas a todos los buzones.
Ambas deberían trabajar juntos para mejorar la situación y dejar a un lado las siglas de sus partidos. A veces me pregunto ¿por qué este u este otro partido no apoya esa reforma o esa ley? ¡Si es buena para todos! Y la respuesta es simple: ¡Porque la ha creado su opositor! Solo parecen preocuparse de sí mismos, y de señalar al otro. Parecen empresas más que partidos, con enormes departamentos de marketing analizando qué decir para conseguir… en este caso no ventas, pero sí votos. Triste, muy triste.
Y esto traspasa los partidos, la división no es única en lo político, también hay divisiones territoriales. Europa tiene que estar ahora más unida y fuerte que nunca. No podemos competir con países tan fuertes como Estados Unidos, Rusia o China si permanecemos fragmentados. Ni siquiera estados tan fuertes como Alemania pueden ser competitivos en un mundo globalizado. Solo unidos podemos hacer algo. En cambio, algunos «iluminados» han tenido una «gran» idea: «¿Por qué no nos dividimos?«.
[ironic mode on] ¡Claro! ¡Claro! Todos sabemos que la desunión hace la fuerza. [ironic mode off]
Todos esos euroescépticos e independentistas: ERC, PDeCAT, Vox en España, Vlaams Belang en Bélgica, Le Pen en Francia, los del Brexit en Reino Unido, Salvini en Italia, y un largo etc., prefieren la división a la unión. ¡Bien iluminados! ¿Me pueden decir qué se puede hacer solos ante gigantes como los que he citado antes? ¿Para quién es mejor la fragmentación? Trump, Putin y Xi Jinping seguro que están felices con vuestra estrategia…
«No son en vano los más débiles, si su fuerza se une.» – Homero
Debemos superar todas esas diferencias y permanecer juntos, desarrollar políticas juntos, investigar juntos, borrar las fronteras dentro del continente, ser uno, fomentar las mejores relaciones. Y juntos crear proyectos, luchar contra el cambio climático, conseguir la no dependencia tecnológica, encontrar la cura a enfermedades, etc. Separados es imposible. Iluminados, siento desilusionaros, pero os estáis equivocando y MUCHO. O tal vez no, tal vez queráis precisamente eso que estáis generando: debilidad.
No pretendo dar lecciones de nada a nadie, quizás soy la persona menos indicada para dar lecciones. De verdad, no me malinterpretes. Simplemente es una preocupación que siento dentro y la estoy compartiendo contigo. Una vez en una charla TED escuché decir al ponente algo así: «En un mundo donde todo es smart nos deberíasmo preguntar si realmente alguien es smart«. Tal vez yo no soy suficiente smart como para entender todo esto a lo que he aludido, y tal vez esté todo bien y sean las demás personas las que ven la realidad… Diría que nada me haría más ilusión que estar equivocado en este, pero no es verdad. Jajaja hay otras cosas que me harían más ilusión en estos momentos. Pero sí que me sentiría mucho más tranquilo si estoy completamente equivocado y el «iluminado» soy yo.
¿Por qué toda esa introducción?
Ya he comentado que simplemente es algo que me preocupa. Pero tiene otro objetivo más. Aunque mi blog no sea una gran plataforma de difusión, he querido hablar de este tema que a otros medios de comunicación les es indiferente, como es la dependencia tecnológica actual de Europa. Y además hacerlo de la forma más veraz posible.
Por otro lado dar un toque a aquellos que creen que la división es la mejor opción. Necesitamos unión y colaboración, ser una gran comunidad remando en el mismo sentido o no llegaremos a puerto. Con la ventaja que nos llevan algunas potencias es complicado incluso unidos, pero no imposible.
Si hay algo que he aprendido de mi familia es que juntos superamos mejor las adversidades.
Y por último, intentar que sea un tema que interese. Porque quizás si interesa a un gran puñado de gente sea también atractivo para otras grandes corporaciones y organizaciones.
¿Qué ocurriría en Europa con un bloqueo tecnológico como el impuesto por EEUU a China?
Por la temática de este blog me centraré en las tecnologías computacionales, pero sería aplicable a otras tecnologías en las que también dependemos de terceros. Pero en el caso de los ordenadores, para poder usar un ordenador se necesitan muchas piezas del puzle que encajen y funcionen de forma adecuada: una CPU (ISA y microarquitectura), una arquitectura (cómo se va a relacionar esa CPU con otros elementos como la memoria, E/S, etc.), se necesita un sistema operativo (kernel, controladores, y otros elementos), se necesita software (apps), redes (protocolos, tecnologías de conexión,…), interfaces y conexiones, etc.
Por ejemplo, imagina que solo las tecnologías relacionadas con los dispositivos móviles. Europa tiene ciertas piezas del puzle para crear un smartphone funcional (y a ser posible competitivo en cuanto a rendimiento y prestaciones). Por ejemplo, tenemos SailfishOS, pero qué courre con: la ISA de la CPU y el resto de componentes del SoC (GPU, etc.), la microarquitectura para dicha ISA, los conectores (p.e.: USB Type-C), las tarjetas, las comunicaciones wireless, los codecs de vídeo, ciertos sensores y controladores, tecnologías de paneles para las pantallas, etc. ¡Bruselas, we have a problem!
¿Cuántas de esas cosas tenemos propias? O mejor dicho ¿con cuántas podríamos contar? ¿Se podría contar con ARM tras el Brexit (más adelante hablo de ello)? Ya hemos visto que se ha posicionado en el lado de EEUU, como se esperaba, para el bloqueo a China. En caso de bloqueo a Europa ¿dónde se posicionaría Reino Unido (espero que con Europa)? ¿Qué nos podrían arrebatar en caso de ese hipotético bloqueo? ¿Podríamos seguir usando Linux? Hay tantas preguntas… y yo no soy nadie para comprender la geopolítica. Pero intentaré ir poniendo algo de luz a todo esto.
En principio podemos pensar: ¡Bueno! Pero tenemos los proyectos libres o de código abierto. No se deberían poder bloquear. Pero resulta que no hay ninguna obligación de distribuir o ceder el código a nadie, aunque sea un proyecto de código abierto y libre, como la licencia GPL. Entonces parece que estamos un poco a expensas de la marea de si un gobierno considera peligroso o enemigo a nuestro país para que las leyes nos prohíban el uso de tecnologías.
¡Con las leyes gubernamentales hemos topado! Porque analizas, por ejemplo el caso de Red Hat y CentOS (como derivado del código de Red Hat), y cuanto menos da miedo pensar que en Europa no contamos con muchas de esas piezas del puzle citadas anteriormente. ¿Qué podríamos hacer ante un bloqueo? ¿Nos podríamos defender? ¿Podríamos reaccionar a tiempo? Hoy las relaciones con EEUU y Europa no están en ese nivel, pero ¿y mañana? Creo que hay que ser precavidos y estar preparados para cualquier cosa. No anuncio una guerra, y ojalá la paz en el mundo sea perpétua. Pero no sabemos qué puede ocurrir y por eso he querido hacer este ejercicio de imaginación o especulación para ponernos en lugar de un panorama hostil.
Hago un paréntesis para analizar el caso de China. Me parece importante para entenderlo todo. En el caso de Huawei, no se han bloqueado las partes libres, sino servicios propietarios como Google Play, Google GMS, y otras apps de Google.
Huawei podría usar versiones previas al bloqueo de Android, pero ¿qué ocurre con las futuras versiones? Por ejemplo, Android Q está ahora en desarrollo. Se han lanzado algunas Beta y es propiedad de Google, salvo el kernel Linux que está bajo GPL. Hasta que se lance está protegido de esa forma, luego se abre el código (uno de los problemas de licencias permisisvas como Apache o BSD).
De hecho, en la cláusula de desarrolladores de Android se especifica que no podrá ver las Beta si las leyes de EEUU te lo tienen prohibido. Y en la parte de la licencia Apache 2.0, bajo la que está Android, se puede leer que dicha licencia no otorga permiso para usar nombres comerciales, marcas comerciales, marcas de servicio, o nombres del producto del licenciente. Eso no es así con la licencia GPL, que no prohíbe ese uso… Y si me permites un apunte, las licencias OSS ni siquiera pueden discriminar el uso de los proyectos a un cierto sector, como el militar, etc.
Cuidado con las diferencias licencias permisivas vs licencias restrictivas y código abierto vs libre.
Por tanto, Huawei no podría usar Android (en principio). Si nos ponemos meticulosos, podría usar Android una vez han liberado el código, pero no podrían llamarlo Android. Y además, no podrían usar esos servicios propietarios. Por tanto, sería un sistema operativo bastante inútil sin ellos. La gente los necesita, tienen una dependencia de ellos. Ese es el problema.
Antes también he citado el caso de ARM, que ha bloqueado el uso de sus IP cores a Huawei. Aunque ARM Holdings en un origen sea británica, actualmente está en manos de inversores japoneses. Y el motivo de ese cese de su acuerdo con la compañía de China se debe a que no se han querido ver arrastrados por esa guerra. ¡Ya sabes! Los enemigos de mis enemigos son mis amigos.
Echando las vista atrás, sé que el bloque soviético diseñó y fabricó chips clones de Intel y otras compañías americanas, muchos de ellos presuntamente sin licencia. Pero era una época donde un microprocesador era bastante sencillo y la ingeniería inversa funcionaba. La actual complejidad de los circuitos, la circuitería BIST, y las leyes actuales no permitirían hacer eso aunque se quisiera. Por tanto, el trabajo que debemos hacer es bastante arduo, complejo y largo. Divididos no podemos, juntos sí. Pero hace falta comenzar a trabajar desde ya.
En 1968 se unen varias compañías de Alemania para crear DDR. Entre ellas Zentrum für Mikroelektronk Dresden o ZMD, Halbleiterwerk Frankfurt Order o HFO, y MME. Fabricaron CPUs soviéticas para luego comenzar a fabricar clones de Intel y ZiLOG como el chip UB880D (Z80) y el U808D (8008). También hubo un U830Cm compatible con instrucciones PDP-11 de DEC. La compañía Qvazar también fabricaría el KP1810BM86 y el T34BM1 clones del 8086 y Z80 respectivamente (presuntamente sin licencia).
Sabes que existen proyectos de todo tipo en opencores.org, que existen proyectos tan maravillosos como RISC-V, y multitud de hardware libre para sustituir a la capa física. También hay proyectos que pueden sustituir al firmware propietario, y al software. En principio no debería cundir el pánico. Pero vuelvo a recordar el tema de las leyes gubernamentales…
Y cuando intentas buscar información por la red acerca de las cuestiones legales o del poder que podría tener un determinado gobierno sobre una licencia, realmente no consigues gran cosa. Es un tema que parece ignorarse bastante. Por eso he necesitado la ayuda de expertos para que nos pongan luz sobre esta materia.
Impacto total:
Vuelvo a repetir, estoy haciendo un ejercicio de imaginación, estoy en modo casi «apocalipsis» por llamarlo de algún modo. Es decir, me pongo en el peor de los casos. Pero creo que así es cuando realmente vas a poder ver el impacto que tendría todo esto.
Piensa que el impacto de un bloqueo no solo sería para los PCs, sino para todo aquello que se considera una computadora. Es decir, cualquier sistema que tenga una CPU, una memoria, bus y sistema de E/S. Eso incluye, por ejemplo, routers, PCs, TVs, electrodomésticos, maquinaria industrial, vehículos, tablets, smartphones, reproductores multimedia portátiles, sistemas de gestión de aguas, tráfico, bancos, servidores y supercomputadoras, satélites, etc. Ya sabes que muchos aparatos que usamos de forma cotidiana tienen sistemas embebidos o empotrados con Linux.
Incluso en el motorsport, como la F1, habría consecuencias. Los Fórmula 1 tienen una ECU o centralita electrónica fabricada por McLaren (UK), pero resulta que se basa en microprocesador QuadCore PPC (PowerPC), entre otras tecnologías patentadas fuera de EU. Muchos coches de calle y de competición también usan sistemas de control similares para el control de tracción, ABS, EBD,… Generalmente son PPC de Freescale (empresa en territorio estadounidense, aunque actualmente en propiedad de NXP, ex Philips y con sede en Países Bajos). Algunos casos, como ciertos modelos de Nissan, suelen usar x86 de VIA, como el CoreFusion.
Por tanto, si no comenzamos desde ya, no podrías actuar sobre un hipotético bloqueo. Ni siquiera aunque tengamos el sustituto preparado para todas las piezas necesarias, también debería haber stock para una sustitución inmediata, o mejor aún, deberíamos de estar usando nuestros propios sistemas previamente al bloqueo, para que la transición sea nula o casi despreciable. Ten en cuenta que el de Huawei, aunque parezca duro, ha sido bastante soft solo limitando ciertas tecnologías, dando unos plazos, etc. Podrían haberle dado un golpe de tuerca más…
Llega la ayuda:
He intentado contactar con abogados David Bravo y Javier de la Cueva, especialistas en licencias de software de código abierto, etc., incluso he contactado con el Coronel Pedro Baños, especialista en geoestrategias. Desafortunadamente no he obtenido ayuda de todos, algunos me han informado de que están bastante ocupados. También he hablado en privado con otras personas que me han asesorado. Primero me gustaría dar las gracias a todas las personas que me han ayudado. Sin ellos no hubiese sido posible este artículo.
Dicho esto, de toda la información que he podido reunir me voy a quedar con dos relatos que creo que resumen bastante bien qué puede ocurrir con los diferentes tipos de licencias.
Licencias restrictivas:
¿Quién mejor al que pedirle ayuda que a Richard Stallman? Él mejor que nadie conoce la licencia GNU GPL, una de las licencias restrictivas más usadas, junto con la licencia Mozilla o MPL. Estas licencias son duras porque fuerzan en sus cláusulas a que las obras derivadas estén bajo las mismas condiciones, es decir, que sean también libres. Jamás encontrarás un fork propietario… bueno… otra cosa es los abusos que hacen algunos de forma ilegal usando código libre saltándose las cuestiones éticas, morales y legales.
Bien, pues esto es lo que me ha comentado el Dr. rms:
«Estudiaba este asunto en los años 90. En la práctica, los EEUU no pueden efectuar que los extranjeros, fuera de los EEUU, no pudieran conseguir ni que no pudieran redistribuir el código fuente libre. Entonces no hay realmente un problema en este asunto.«
Licencias permisivas:
Existen varias licencias permisivas. ¡Ojo! Y que no te confunda su nombre. Permisivo parece mejor que restrictivo, pero en este caso no es así. El adjetivo se refiere a que son más permisivas en cuanto a qué se hace con los proyectos que están licenciados con ellas pudiendo, por ejemplo, la redistribución libre o privativa. Algunas licencias permisisvas conocidas son BSD, MIT, Apache, PHP, etc. Digamos que son las más parecidas al dominio público.
Eso podría terminar con una versión o fork propietario… De hecho existen muchos ejemplos de ello. Por ejemplo Apple se nutre de algunos proyectos bajo licencia BSD para sus sistemas operativos macOS e iOS (ambos privativos). Minix también está bajo licencia BSD y ha terminado cerrándose para crear algunos sistemas propietarios como Intel ME (Management Engine). E incluso también tenemos Intel EFI (Extensive Firmware Interface) liberado bajo licencia BSD y base del actual UEFI.
Puestos a imaginar, y siendo retorcido, si se quiere hacer daño y evitar de algún modo que nos podamos servir de estos proyectos se podría crear un fork cerrado de ellos y que los supuestos países enemigos sigan con el desarrollo «a puertas cerradas». Afortunadamente, siempre nos quedaría el original abierto que podríamos seguir desarrollando nosotros mismos.
La ayuda se la he pedido a Andrew Waterman en este caso, ya que he mantenido contactos previos con él para una colaboración con el proyecto RISC-V (recuerda: bajo licencia GPL) y le he preguntado sobre este tema:
«La especificación RISC-V en sí misma es una licencia muy permisiva., y aunque no soy un abogado, no puedo ver cómo EEUU pudiera prohibir a países extranjeros el uso tecnológico. Eso está efectivamente en el dominio público.»
«Por supuesto, si tú quieres vender un producto comercial usando la marca registrada RISC-V, tú necesitas ser miembro de la Fundación RISC-V. Teóricamente, el país en el que está la Fundación podría legislar sobre quién puede o no puede ser miembro. Sin embargo, la Fundación puede elegir dónde está incorporada, y creo se está mudando a Suiza por razones obvias de geopolítica.»
«Esto en cuanto a lo que concierne a usar un producto con la marca registrada RISC-V. La gente puede siempre ser libre de usar RISC-V en productos comerciales o de otro tipo si ellos no lo llaman RISC-V.»
Licencias propietarias:
Seré breve: ¡Estamos jodidos! Las licencias de proyectos propietarios o privativos. no permiten el acceso libre al código fuente. Solo se encuentra a disposición del desarrollador. No permite modificaciones, adaptaciones, redistribuciones, ni su estudio. Lo importante aquí no es eso, sino que también el uso está restringido y se necesita el permiso expreso del titular. Por tanto, es la persona física (desarrollador) o jurídica (empresa, organización,…) la que tiene todo el control.
¿Sabías que el software en un inicio no era propietario/privativo? En el pasado, los desarrolladores solían distribuir el código fuente para que los usuarios pudieran hacer lo que quisieran con él y era común la modificación y redistribución.
En los 60, Bell Labs proporcionaban el código fuente del sistema operativo UNIX a aquellos que compraban la licencia. En mi curso dedico un bloque a todos estos temas sobre licencias, y las apasionantes guerras judiciales que hubo con BSD, los derechos de UNIX, etc., y que fomentaron que Linus Benedict Torvalds viese la necesidad de crear Linux.
En muchos casos ni siquiera se pagaba por el código, y los fabricantes de computadoras incluían el software como un complemento gratuito al hardware que vendían. Entendían que vender un ordenador sin software era algo inútil, es como vender un coche sin ruedas…
En cambio, en 1979 el gobierno de Estados Unidos obliga a IBM (en aquella época la compañía que más equipos vendía) a diferenciar entre software y hardware. Eso da lugar a que el software se comience a ver como otro producto que se puede vender y se comience a cerrar el código.
Fue entonces cuando muchos hackers se revelaron contra esto y comenzaron a liberar códigos, siendo etiquetados de piratas informáticos y siendo castigados con la carcel.
Aquí es donde radica el problema ya que, aunque el desarrollador o empresa no quiera restringir o privar de su produto a un cierto territorio, si el gobierno del país en el que reside le exigen que se adapte a las leyes impuestas, deberá hacerlo. Por tanto, cualquier proyecto propietario estará subordinado a las leyes locales o nacionales. Y eso deja mucho margen de control y actuación para los gobiernos.
No sé si conocéis algunas leyes de Estados Unidos que repercuten sobre el resto del mundo. Por ejemplo, la EAR (Export Administration Regulation) que regula los productos o servicios que pueden exportarse, verderse o descargarse en ciertos países; HTS (Harmonized Traffic Schedule) sobre aranceles de importaciones; la Ley USA PATRIOT (Uniting and Strengthening America by Providing Appropriate Tools Required to Intercept and Obstruct Terrorism act) ley que ampara el espionaje masivo y sin orden judicial en aras de combatir el terrorismo; etc.
Este tipo de leyes a veces también salpica a ciertos proyectos que no creeríamos, como Red Hat, CentOS y Fedora, como he citado anteriormente. En el caso de estos dos proyectos, están sujetos a la USA EAR (Reglamento de la Administración de Exportaciones), que evita que se pueda exportar o re-exportar a países vetados por EAR debido a embargos como Cuba, Irán, Core del Norte, Sudán, Siria y la región de Crimea. Eso es extensible a entidades y personas en listas negras de EEUU.
Además de esas leyes, se pueden ir generando algunas nuevas amoldadas a las necesidades de EEUU en cada momento. Por ejemplo el caso de Huawei, que ha sido acusado de supuesto espionaje por EEUU y se le ha impuesto este tipo de bloqueo tecnológico. No obstante, más allá del supuesto espionaje o no, detrás de esto hay intereses económicos y comerciales, ya que todo el revuelo mediático camufla una guerra por la tecnología 5G.
Todo comenzó con la Administración Obama, cuando investigó a ZTE y Huawei, terminando por alegar que representaban una amenaza para la seguridad nacional. Y esta guerra ha continuado con Trump. Afortunadamente, no todos han seguido las imposiciones de EEUU. En Europa no han querido vetar a los asiáticos. Solo Canadá, Japón y Australia han cedido.
Es decir, ya no solo es cuestión de si un país es un enemigo o resulta una amenaza, sino que también se pueden aplicar leyes para favorecer económicamente o de cualquier otra forma a una nación. En este caso, Huawei ha sido la elegida para que Rusia disponga de cobertura 5G, y también la única que podía hacerlo en Europa dentro de los plazos que maneja la Unión Europea (en 2020 al menos una gran ciudad de cada país miembro debe tener 5G). También han firmado contratos en Africa y otras zonas de Asia. Y claro, las empresas americanas quieren su parte del pastel también…
Estándares abiertos:
En cuanto a los estándares abiertos, es cierto que pueden ser usados por cualquiera. Pero nuevamente entramos en las peculiaridades del uso de marcas y situaciones similares a las de las licencias permisivas. Por lo general, muchas de las fundaciones, consorcios o asociaciones sin ánimo de lucro que suelen encargarse de estos estándares suelen estar en territorio estadounidense. Y ya sabes, las reglas de quién o quién no puede ser miembro, etc., las marcan allí. Esta es la única duda que me queda.
No obstante, al ser un estándar abierto, es decir, un conjunto de normas acordadas para sistemas técnicos, no habría demasiado problema en seguir usando dichas normas, aunque no se pueda usar la marca registrada, o incluso alterar dichas normas en un momento dado, generar otros estándares abiertos propios, etc. De hecho, si leemos los acuerdos se puede apreciar que:
- Están sujetos a evaluación pública y completa, sin restricciones.
- Libres de cláusulas jurídicas o técnicas que limiten su utilización en cualquier parte o modelo de negocio.
Por supuesto los estándares propietarios los damos por perdidos…a no ser que fuesen europeos.
Más información – EU
La no dependencia tecnológica de Europa: prioridad absoluta
¿Qué tenemos propio? ¿Qué podríamos usar sin miedo al veto? ¿Qué nos falta? ¿Qué se está haciendo? ¿Os imagináis, por ejemplo, un Slimbook 100% europeo? Pues algunas de las iniciativas que vamos a analizar hacen que ésto esté más cerca de hacerse realidad, de que Europa pueda sustituir todas esas piezas del puzle y tener un puzle completo made in EU. Vamos a ello…
Frankenstein tecnológico: ¿qué piezas tenemos y cuáles nos faltan?
Voy a intentar descomponer el diagrama que veis aquí en partes. Evidentemente no todas, pero al menos quiero abordar las más importantes (recuerda que me estoy poniendo en una hipotética situación hostil contra Europa en la que no podríamos usar tecnología estadounidense o de otros países no europeos):
- Software: en este aspecto podemos estar más tranquilos. Hay gran cantidad de software de código abierto, libre e incluso propietario creado dentro de la UE, proyectos tan importantes como KDE. Entre ese software hay tanto apps y videojuegos. Además, si los gobiernos hostiles no tienen control sobre las licencias libres, podríamos usar cualquier proyecto open-source o de libre software haya sido desarrollado donde haya sido.
- FS (File System): los sistemas de archivos, no serían un problema, siempre que se usen algunos como btrfs, ext4, ext3, etc. Pero ¿qué ocurre con los extendidos FAT y NTFS? Suelen ser los elegidos para preformatear millones de unidades flash o ROMs programables para los sistemas operativos móviles y embebidos. De hecho, una de las fuentes de ingresos de Microsoft ha sido el cobro de patentes de los dispositivos Android, siendo un negocio tan jugoso que superaba a los ingresos obtenidos por su Windows Phone… ¡Bueno! ¡Vale! Esto no ha sido una buena comparación, puesto que eso era fácil de superar. Resumiendo, siempre que podamos evitar esos formatos, tampoco hay pánico.
- Sistema operativo: también bastante tranquilos. Hay algunos sistemas desarrollados dentro de Europa, como Sailfish OS (Finlandia), RISC OS (Cambridge, UK), etc. Pero también podríamos usar multitud de distribuciones GNU/Linux como SUSE (originalmente alemana, actualmente propiedad de la sueca EQT) y openSUSE, Ubuntu, Debian, y un largo, etc. Incluso sistemas operativos como FreeBSD, NetBSD, OpenBSD, OpenIndiana,… Sabréis también que Debian Project permite descargar su distro con diferentes kernels, Debian GNU/Linux, Debian GNU/kFreeBSD, Debian GNU/Hurd, etc. También para dispositivos móviles tenemos algunos forks de Android que son 100% libres (Replicant), a KDE Plasma Mobile, TizenOS, etc. ¡Eh! Incluso tenemos un sistema operativo español: eyeOS. Tampoco habría pánico aquí.
- Kernel: podemos elegir entre diversos kernels, pero el más destacado sin duda sería Linux. Que por cierto, recuerdo que fue creado por un finalndés…
- Otros elementos: APIs y bibliotecas, compiladores, etc., las hay libres. Tenemos por ejemplo las bibliotecas, compilador, depurador y tools que aporta GNU, también APIs tan potentes como las de Khronos Group: Vulkan, OpenCL, OpenGL, OpenXR,…
- Controladores: hay controladores libres para multitud de hardware. Esos códigos que pretenden sustituir a blobs binarios, y drivers propietarios. Pero… casi la totalidad de esos controladores son para el hardware que proviene de países fuera del territorio europeo. Por tanto no nos servirían de nada y deberíamos desarrollar controladores para nuestro propio hardware.
- Codecs: la mayor parte son propietarios, de hecho, los más importantes que se usan lo son. Bien es cierto que existen otros que son de código abierto, pero no suelen ser empleados con tanta frecuencia. Quizás aquí el mayor problema sea adaptar el contenido multimedia (audio, vídeo, imágenes,…) a estos codecs y formatos que no se nos hayan restringido. Gran parte del trabajo se la debemos aquí al proyecto FFmpeg.
- Vídeo: OpenH264, Xvid, libvpx, los de ffmpeg para vídeo,…
- Audio: LAME, libvorbis, los de ffmpeg para audio,…
- Imágenes: tenemos OpenJPEG, un codec escrito en C para JPEG 2000. Podríamos disponer también de otros para PNG, SVG y GIF, entre otros.
- Formatos: en cuanto a formatos de archivo, ya que hay que distinguir entre codec y formato contenedor. Entre los formatos de imagen, vídeo, audio, compresión, binarios, web, documentos, podemos contar sin problemas con: mp3, ogg, jpg, png, svg, gif, WebM, mkv, texto plano, html, xml, css, ePub, pdf (comenzó siendo un estándar cerrado, pero afortunadamente se ha abierto), PostScript, 7z, zip, tar, gzip, bzip2, lzip, xz, elf, los de OpenDocument, etc.
- Firmware: aquí tampoco lo tenemos todo muy de cara. No solo porque no haya demasiados proyectos para sustituir al firmware propietario, sino porque si necesitamos crear hardware nuevo deberíamos desarrollar también firmware para éste. No obstante, citar proyectos como LinuxBoot, CoreBoot, etc. Recuerda que no solo debemos tener las piezas, también deben encajar.
- Hardware: aquí es donde estamos a años luz, donde realmente saltan las alarmas y donde deberíamos poner el mayor esfuerzo posible.
- Arquitctura: afortunadamente las arquitecturas como Von Newmann, Harvard, etc., no están sujetas a licencias o restricciones. Por tanto, las computadoras podrían estar basadas en ellas sin problemas, y no tener que inventar otro paradigma diferente.
- CPU: tenemos a ARM, pero no creo que podemos contar con él porque ahora está en manos de Japón. Por tanto, lo obviamos. Fuera de eso, también existen algunos núcleos basados en SPARC como los LEON de la ESA, pero SPARC tampoco es una solución. ¿Transputer? Puff, demasiado anticuada; ¿OpenRISC? Poco potente… Por tanto, tenemos que ir directamente a lo que podríamos usar sin restricciones y, a ser posible, que puedan ser competitivas.
- ISA: podemos desarrollar siempre una propia, o también podríamos usar RISC-V, e incluso un mix entre ambas, es decir, usar RISC-V como base y modificarla para obtener una nueva sin demasiado coste temporal y de inversión. ¡Ojo! Porque si se desarrolla una propia también hay que adaptar todo el software a ella y tener compiladores compatibles para crear binarios para ella… Por ejemplo, habría que incluir código en Linux para que pueda correr sobre nuestra CPU y que GNU GCC pueda generar binarios para ella. (véase siguiente apartado)
- Microarquitectura: afortunadamente no existen restricciones con paradigmas como RISC, ejecución fuera de orden, segmentación, arquitecturas superescalares, especulación y predicción de saltos, renombre de registros, SMT, etc., por tanto, se podrían implementar todas ellas sin problema alguno, siempre y cuando no se violen patentes de implementaciones de éstas. Por ejemplo, se puede tener un procesador con SMT, lo que no se puede es copiar Intel HyperThreading o usar esta marca comercial. Se puede usar administración de la frecuencia dinámica, no copiar tecnologías registradas como Cool’n’Quiet o SpeedStep… Por tanto, deberíamos crear una buena microarquitectura para la ISA que se utilice. Esto no es tarea fácil, puede llevar años tener una decente y a un rendimiento similar a las actuales. (véase siguiente apartado)
- Foundry: necesitamos fábricas para crear los chips. Hay varias en Europa (NXP, Infineon, STMicroelectronics,…), pero no demasiado avanzadas al nivel de TSMC, Samsung, Intel, etc., a excepción de una: la que tiene Global Foundries (exfabricas de AMD) en Dresde, Alemania. Evidentemente no es propiedad de Europa, pero puestos a imaginar un escenario hostil… está dentro de nuestras fronteras ¿no? ¡Puestos a bloquear…! Además, contamos con líderes absolutos a nivel mundial de maquinaria de fabricación de semiconductores, como la alemana ASML Holding con sede en Países Bajos. También hay otras incluso para tener competencia leal y elegir como Heidelberg, etc. Soitec está en Francia y es uno de los líderes de materiales para la industira semiconductora, como las obleas SOI… ¡No problem!
- Memoria: por lo general tampoco sería demasiado problema, deberíamos adaptar la memoria (no sería demasiado complicada de diseñar) al timing y señales de control de nuestra CPU para que sea compatible. Pero cuidado con lo que podría ocurrir con JEDEC en ese escenario hostil. Esto sería válido para memorias principales o RAM y secundarias de estado sólido. Para las secundarias magnéticas, quizás BASF Magnetics, entre otras, podrían echar una manita.
- Dispositivos de E/S: no existen demasiados fabricantes de periféricos europeos, por lo que se debería incrementar el esfuerzo en este sentido. Perifericos adaptados a la interfaz E/S de la computadora europea. Desgraciadamente existen algunos marcas distribuidoras europeas que simplemente se limitan a comprar productos manufacturados fuera de EU y remarcarlos para venderlos aquí. Eso no serviría en un escenario hostil.
- Controladores: al igual que los controladores (software), los chips controladores que controlan el E/S también deberían ser rediseñados en algunos casos o creados desde cero en otros.
- Interfaces y comunicación: otro de los grandes problemas, no depender de puertos de conexión o conectividad wireless que esté sujeta a patentes extranjeras. Nuevamente aquí se debería analizar con cuidado lo que se decide en, por ejemplo, USB Implementers Forum sobre los futuros estándares USB, igual para HDMI, etc., recuerda que aunque sean estándares industriales, están compuestos por grandes empresas tecnológicas y se podría actuar mediante las leyes sobre ellas. Realmente no estoy seguro de qué ocurriría por las malas con JEDEC, USB Implementers Forum, la IEEE, etc.
- Redes: habría que echar un vistazo a la pila de red y ver qué partes se pueden o no usar. Por lo general, los protocolos y tecnologías de las diferentes capas suelen ser estándares abiertos. Tampoco creo que hubiese demasiado problema en este sentido. Pero sí que necesitaríamos fabricantes de adaptadores de red. Mellanox, Marvel, Broadcom, Intel, Qualcomm y compañía ya no nos sirven. Simplemente me queda la duda de cómo actuarían en un escenario así IBTA (InfiniBand), IEEE (Ethernet/802.3 y WiFi/802.11)… Tengo mis dudas sobre esto y también sobre las designaciones de bandas de frecuencias.
Cuando se diseña un chip usando algún lenguaje de descripción de hardware como VHDL o Verilog, etc., se implementa el RTL para llevarlo a alguna foundry para su fabricación y que ellos obtengan las máscaras necesarias y comiencen con la manufactura. En ocasiones se necesita una estrecha colaboración para adaptar el diseño al proceso de fabriación empleado, adaptar el layout a las reglas de diseño del fabricante, etc., y eso incluye acuerdos y clausulas de confidencialidad sobre la tecnología industiral. No es como una MPW (MultiProject Wafer), es decir, los servicios ofrecidos por algunas foundries (véase MOSIS, SMICS, BaySand, Europractice IC, IHP, Transys, Tronics para MEMS, UMS,…) para fabricar obleas multiproyecto y poderte ofrecer chips engineering samples de un determinado cirucito integrado, combinando varios chips diferentes en una misma oblea y así producirlos todos a la vez y abaratar costes. Aquí me gustaría destacar otro proyecto muy interesante, LSA (Libre Silicon Alliance) para crear estándares gratis y abiertos para la industria semiconductora.
Y ¿qué no podríamos usar en ese hipotético escenario? Pues Microsoft Windows, MS Office y todo el software de Microsoft, otro software propietario de empresas como Adobe, controladores propietarios, hardware de Intel, AMD, y gran cantidad de empresas conocidas,… Quizás sea en el hardware donde más vulnerables somos, y donde más se necesita trabajar. El motivo es que el hardware libre ha llegado tarde, y los proyectos que existen aún les queda mucho por desarrollar o simplemente son proyectos para usos educativos, para makers o DIY (p.e.: Arduino), y no pretenden ser alternativas reales al hardware que tenemos a día de hoy.
Europa reacciona: EPI
Europa ha reaccionado, de hecho, se están moviendo algunas cosas. Un ejemplo de ello es la conferencia de la EDA (European Defence Agency) que trata los temas de la dependencia tecnológica e industrial de los países miembros y la necesidad de poner una serie de proyectos en marcha para poner remedio a ello.
Justo unos días después de conocerse la noticia de Huawei, Europa parecía despertar y crea una interesante iniciativa, que espero que sea la primera de muchas, llamada EPI (European Processor Initiative). Desde hace unos 16 años llevo esperando algo así y por fin ha sucedido. Y es sustituir una de las capas más críticas y que más vulnerables nos hacen, no solo para la informática de consumo, también para la supercomputación o HPC.
Era vital tener una CPU 100% europea. EPI tiene la misión de:
- Que Europa tenga un procesador de alto rendimiento y propósito general independiente.
- Que pueda ser usado en supercomputación para máquinas de exaescala en 2023. [EFLOPS] Eso incluye servidores de todo tipo, también para la nube.
- Basado en un sistema económico sólido y a largo tiempo.
- El procesador se puede usar en la industria del automóvil y otros sectores.
- Creación de aceleradores basados en RISC-V. Mientras los procesadores estarán basados en NoC de cores ARM.
Para que eso sea posible, por el momento cuentan con 26 socios de 10 países europeos, entre ellos España. Algunos miembros destacados son:
- ESPAÑA: Centro Nacional de Supercomputación y Semidynamics Technology Services S.L.
- SUECIA: Chalmers Tekniska Hoegskola AB
- ALEMANIA: Infineon Technologies
- FRANCIA: CEA
- HOLANDA: STMicroelectronics
- PORTUGAL: Instituto Superior Técnico de Lisboa
- SUIZA: ETH Zürich
- ITALIA: Università di Bologna
- GRECIA: FORTH
Unidos somos mejores 😉 De este tipo de iniciativas estoy seguro de que saldrán grandes cosas. De hecho, de colaboraciones así Europa ha conseguido proyectos tan importantes como los de Airbus/Eurofighter, el CERN, Galileo, etc.
Pingback: RISC-V: diseño y fundamentos de la ISA | ArchiTecnologia
Pingback: Green computing: el reto del HPC | ArchiTecnologia
Pingback: RISC-V: Rhea el primer chip europeo y primer fruto de EPI | ArchiTecnologia
Pingback: Antivirus sí vs Antivirus no: código opaco con privilegios - Parte 2/2 | ArchiTecnologia