ArchiTecnologia

Aprendizaje abierto. Conocimiento libre.

ArchiTecnologia
AsesoramientoCódigo abiertoHardware libreSoftware libre

Licencias (HW/SW): todo lo que deberías saber – Parte 2/2

Tras la parte uno, donde intenté detallar todos los conceptos genéricos sobre las licencias, ahora intentaré seguir mostrando algunos detalles básicos sobre las licencias que realmente nos interesan en este blog: las de software y hardware.

Desde que el hardware y el software se «desacoplaron» y se comenzó a entender al software como un producto explotable independiente de la máquina, se ha evolucionado mucho en cuanto a las licencias que afectan a estos productos. Incluido el comiendo de la aparición del software de código abierto y libre, con sus propias licencias. Algo que ha llegado a influir también en el ámbito del hardware y otros sectores…

Licencias permisivas vs licencias restrictivas vs propietarias

open source, código abierto

Si nos centramos en las licencias de software y hardware, que es lo que interesa realmente aquí, también se pueden hacer distinciones entre tres grandes grupos:

  • Licencia restrictiva o dura o robusta: son aquellas licencias que fuerzan en sus cláusulas a las modificaciones u obras derivadas a adquirir ciertos términos iguales o similares a los de la obra original. Dentro de éstas existen a su vez dos subtipos:
    • Robustas fuertes: incluyen cláusula que obliga a las obras derivadas (forks) o modificaciones a que se licencien bajo los mismos términos que la original. Ejemplos: Common Public License, GNU GPL, OpenSSL License,…
    • Robustas débiles: en este casos e incluye también una cláusula para que las modificaciones se licencien bajo los mismos términos que la obra original, mientras que las obras derivadas se pueden licenciar bajo otros términos y condiciones distintas. Ejemplos: GNU LGPL, Mozilla Public License, etc.
  • Licencia permisiva o blanda: son también libres como las anteriores, pero no obligan a liberar las obras derivadas. Por tanto, la obra derivada puede estar bajo cualquier licencia, incluso una propietaria. Por este mismo motivo, algunos sistemas licenciados bajo este tipo de licencias acaba cerrándose (véase el caso de macOS y el código BSD, o Intel ME y Minix,…). Ejemplos: BSD License, Apache Software License, MIT License, Academic Free License, PHP License, CERN Open Hardware License, etc.
  • Licencia propietaria o cerrada o privativa: no es libre ni de código abierto. Los propietarios establecen los derechos de uso, distribución, redistribución, copia, modificación, cesión y otras. En la mayoría de los casos, los licenciatarios simplemente pueden usar el producto y nada más. Cualquier otra acción estará penada. (véase EULA o ALUF)
  • Creative Commons (CC): son licencias públicas que se pueden usar para indicar qué pueden hacer otras personas con una obra. Cada trabajo se protege automáticamente con derechos de autor, como en otras licencias, y permitirán cambiar fácilmente los términos de autor a todos reservados o solo algunos reservados. Este tipo de licencias flexibles se pueden dividir en:
    • CC BY: es la más abierta de todas. Permite al usuario final redistribuir, crear obras derivadas, traducir, o usar la obra para fines comerciales. Pero implicará dar crédito al autor (BY o Atribution) en todo momento, y que el usuario especifique si ha sido modificada.
    • CC BY-SA: también es bastante abierta. Las siglas SA (Share Alike o compartir igual) indican que se puede compartir por igual el trabajo, es decir, que deberá estar bajo los mismos derechos de reutilización (misma licencia CC).
    • CC BY-NC: es similar a la anterior, pero NC (No Comercial) especifica que el uso de la obra no sea comercial.
    • CC BY-ND: igual, pero en este caso ND (No Derivadas) implica que no se pueden crear obras derivadas.
    • CC BY-NC-SA: en este caso implica una licencia CC en la que se debe especificar el autor, no se puede usar con fines comerciales, y las derivadas se deben distribuir bajo la misma licencia.
    • CC BY-NC-ND: igual, solo que en vez de que se tenga que usar la misma licencia para derivadas, en este cao se elimina la posibilidad de hacer obras derivadas.
  • Licencias éticas: el movimiento ethical-source, impulsado por personas como Coraline Ada Ehmke (creadora también del Contributor Covenant), determina que la Freedom Zero (la libertad para que el proyecto bajo este tipo de licencias se use por cualquier usuario o entidad y para cualquier fin), la libertad 0 está obsoleta dado el nuevo rumbo que ha tomado el mundo. Por tanto, aunque tenía sentido cuando se concibieron estas licencias de software libre y código abierto, ahora se debería reconsiderar. Dicho de otro modo, este tipo de licencias, como la Licencia Hipocrática 2.1 (Hippocratic License 2.1), pretende limitar el uso de los proyectos licenciados bajo este tipo de licencias. Básicamente, esta licencia se basa en una MIT, pero se han agregado algunas cláusulas en las que se restringe cualquier uso que viole las Leyes de Derechos Humanos. Por tanto, ciertos usos de abusos de poder por parte de gobiernos, usos militares, espionaje masivo, etc., no podrían hacer uso de estos proyectos.

Para registrar tus obras o patentes, tienes a tu disposición la Oficina de Patentes y Marcas, el Registro de la Propiedad Intelectual, o plataformas online como Safe Creative, etc.

Más…

Pentium III 500Mhz Katmai

Como he comentado anteriormente, el hardware, hasta hace poco, simplemente se comercializaba de forma privativa. Aunque poco a poco han ido apareciendo proyectos «open-source» también en el mundo de la electrónica. Eso ha creado una brecha que diferencia a ciertos proyectos de hardware de otros. Por ejemplo, en el terreno de los procesadores, existen diferentes licencias. Esto ha generado algunas dudas que me preguntan a veces.

Ya he comentado acerca de las licencias de arquitecturas en otras ocasiones, como por ejemplo aquí Licencia de ISAs. Allí me centré en las que licencian para terceros o las abiertas, pero qué ocurre con las propietarias, como x86… Y con esto cierro ya el círculo de las licencias sobre las ISAs.

El caso particular de x86

Hay una larga historia tras la familia x86 y el licenciamiento de la misma. Cuando Intel lanzó su primer ISA x86 de tipo CISC, el Intel 8086, marcaría el inicio de una era. Antes de eso había lanzado los pre-x86, pero sería ese el primero x86-16 (16-bit), que luego seguiría extendiéndose con la llegada de x86-32, o IA-32, de 32-bit, o x86-64 de 64-bit. Ya sabes que todos ellos tienen retrocompatibilidad, por lo que x86-64 puede soportar software de 32-bit y 16-bit también.

A pesar de que las primeras fueron creadas por Intel, en el caso de x86-64 fue AMD la que diseñaría esta extensión. Aunque se denomina AMD64, Intel la prefiere llamar EM64T para eludir el término de la competencia. Y gracias a un cruce de licencias, ambas compañías pueden hacer uso de ella. Pero veamos qué ocurrió con más detalle…

Pese a esos acuerdos, Intel y AMD se han enfrentado ante los tribunales en varias ocasiones. E Intel ha sido demandado por prácticas monopolistas en varias ocasiones. Sin ir más lejos, la Comisión Europea multó a Intel en mayor de 2009 con una multa que fuer récord, con 1.060.000.000€ por abusar de su posición dominante en el mercado. En noviembre de ese mismo año, Intel resolvería todas las disputas pendientes por licencias cruzadas de patentes y antimonopolio pagando a AMD 1.250.000.000$

La historia de x86 está muy ligada a IBM PC, ya que el gigante azul rompería la tradición de crear soluciones completas como se solía hacer en la época. En vez de eso, se adentró en el sector de las computadoras personales con equipos con componentes de proveedores subcontratados. Además, IBM decidiría elegir al 8086 como el microprocesador para estos equipos, y la alianza Wintel haría el resto para dominar hasta nuestros días este sector…

AMD 8086

IBM, a cambio, requirió a Intel que contara con una segunda fuente de fabricación, otro proveedor de chips. Y ese fue AMD. Sí, en aquel entonces, AMD era un segundo fabricante de chips Intel. Por eso puedes ver microprocesadores de aquella época fabricados por AMD, pero que también incluían el logo de Intel serigrafiado.

IBM PC fue un éxito y entre 1981 y 1984, ya tenían un tercio del mercado. En parte, gracias a los clones que surgieron, es decir, esos IBM PC-Compatible, como los Compaq. Los clones eran tolerados por miedo a demandas antimonopolio. Además, el chip ROM BIOS también posibilitaría esos clónicos con componentes de muy diversos proveedores, haciendo el IBM PC muy modular y flexible.

Hubo otros clones de los chips de Intel, como IBM, NEC, Texas Instruments, etc., por ingeniería inversa, e incluso clones soviéticos sin licencia.

En 1984, Intel y AMD modificaron su acuerdo de contrato para permitir ser segunda fuente de futuras generaciones como el 80186 y 80286 a cambio de regalías de Intel. Pero poco después llegaría el declive de IBM en favor de un gran número de fabricantes clones ansiosos por crear más y mejores PCs.

En ese momento, Intel tenía pocas razones para seguir con el acuerdo con AMD como segunda fuente, no quería compartir su éxito con AMD. Entonces rompió el acuerdo con AMD. Entonces AMD comenzó a diseñar clones como el Am286 de 1983, que tenía el doble de velocidad que el Intel 80286. Intel respondería intentando aislar a AMD para la próxima generación de procesadores x86.

En 1985, Intel lanzaría su 80386, excluyendo a AMD de los derechos para producirlo. AMD afirmaría que Intel había incumplido el contrato de tecnología y solicitó un arbitraje en 1987. Esto supuso un enorme proceso judicial que supuso cuatro años y medio y 355 días de audiencias. Finalmente se determinaría que Intel no estaba obligada a transferir todos sus nuevos productos a AMD, aunque también que Intel había violado su pacto.

Llegados a ese punto, AMD usó ingeniería inversa para tratar de seguir creando sus propios chips compatibles con los de Intel, como el Am386. Llegados a este punto, Intel comenzaría una época convulsa en la que demandaría a todos los competidores para tratar de eliminar la competencia. La década de los 90s sería todo un desfile de estrategias de ataques legales contra competidores (Centaur Technologies/IDT, Cyrix/VIA Tecnologies, AMD,…), aunque los tribunales siempre fallaban en contra de Intel.

Recuerda que en la batalla de microprocesadores x86 de esta época, la competencia creaba chips 100% compatibles en cuanto a binarios y, en ocasiones, también pin a pin con los de Intel para poder ser insertados en los mismos sockets de las placas base.

El Am386 sería un éxito de ventas, y también obtendría una victoria judicial, al igual que ocurrió con las demandas contra Cyrix y NEC. Intel iba de golpe en golpe ante las decisiones de los jueces. En el caso del Am386, era más rápido que el 80386 de Intel y casi tan rápido como el 80486, pero a un precio más bajo. Ante esto, Intel comenzó a demandar por otros motivos para intentar poner barreras a la competencia, con una dura batalla legal que terminaría con pérdidas para ambas partes (hasta 1995 habían invertido más de 100M$).

En 1994, la Corte Suprema de California otorgaría a AMD «una licencia permanente, no exclusiva y libre de regalías para cualquier propiedad intelectual de Intel incluida en el Am386. Y una extensión de dos años de ciertas patentes y licencias de derechos de autor relacionadas con el Am386«. De esta forma, AMD obtenía una licencia perpetua para el microcódigo de los 386 y 486 de Intel, aunque también acordaría no copiar ningún otro microcódigo de Intel.

A partir de ahí, AMD desarrollaría sus propios chips. Pero llegados a este punto, las batallas y competencia brutal en el sector ya se habían cobrado varias víctimas. De todas las compañías que competían en la familia x86, hoy día sobreviven solo Intel, AMD y, muy por detrás, una discreta VIA Technologies.

El primero chip desarrollado sin ingeniería inversa y 100% en casa sería el AMD K5.

En 1995, ninguna de las partes estaba contenta con el resultado. Intel veía que no se había podido deshacer de su competencia y estaba obligado a dejar que AMD pudiera seguir explotando el sector x86. Y AMD había perdido mucho dinero en los juicios y tenía serias dificultades para obtener financiación para construir nuevas plantas de fabricación para satisfacer la demanda.

AMD quedó muy tocada, pese a que había demostrado una y otra vez que eran un oponente formidable, a pesar de ser una empresa mucho más pequeña y con muchos menos recursos que Intel. A partir de aquí, Chipzilla tendría que competir desde la innovación, dejando atrás la vía de los tribunales.

Pese a que AMD estaba malograda, conseguiría algunas pequeñas victorias, como ser el primero en romper la barrera del 1Ghz, conseguir ser los primeros en los 64-bit, crear el primer procesador x86 de doble núcleo, los primeros en integrar el controlador de memoria (MMU) dentro del propio microprocesador para reducir el cuello de botella, superar a Intel en algunos benchmarks con ciertos productos exitosos, primeros en integrar una GPU tras la compra de ATI, etc.

Pese a todo eso, Intel tenía una clara ventaja, y la cuota de mercado era muy superior. Además, aprovechó otras artimañas para lograr ventaja, como proporcionar a los desarrolladores de software un compilador que optimizaba su código para obtener mejores resultados en microprocesadores Intel y ayudando a los desarrolladores a obtener mejores resultados para sus chips.

Además, como un caballo de Troya, Intel también hizo que su compilador fuese compatible con procesadores de AMD. Esto no era una ayuda para su contrincante, sino todo lo contrario. Eso hizo que se generalizara la adopción de su compilador, lo que dejó como resultado una inundación de software optimizado para Intel.

El compilador de Intel, aunque era compatible con AMD, estaba diseñado de tal manera que identificaba primero el proveedor del microprocesador de la computadora, y solo habilitaba ciertas extensiones si era un chip Intel. Dado que los desarrolladores solo compilaban sus paquetes una vez, sus aplicaciones terminaban funcionando mejor en Intel.

Eso no le bastaba, y como la diferencia de rendimiento a veces era demasiado despreciable entre ambos, también aprovecharía su enorme poder de negociación con los fabricantes de computadoras para llegar a venderles chips a precios casi irrisorios a cambio de que no montaran chips de AMD. Así mantenía su posición de liderazgo.

Por otro lado, inició un famoso programa para compartir y destacar su marga mediante las pegatinas Intel Inside, beneficiando a los fabricantes de computadoras si destacaban su marca Intel en sus productos. También llegarían a pagar rembolsos por fidelidad a los fabricantes por no usar chips AMD, etc.

Los tribunales también tenían problemas para poder acusar a Intel por prácticas de monopolio debido a que era complicado distinguir entre descuentos inofensivos de los reembolsos por fidelidad. Pese a eso, analizando el mercado, las acciones en bolsa, y correos internos de las empresas fabricantes, se pudo ver que tales prácticas no eran lícitas. Incluso se observó en dichos correos que los directivos estaban angustiados por perder ese reembolso si adoptaban chips AMD. En uno de los correos de un directivo de Dell se decía que Intel estaba «Preparado para la ‘yihad’ si Dell se une al éxodo de AMD.«.

En otro de los correos de Michael Dell al CEO de Intel en 2005, se decía «Ninguno de los puntos de referencia y revisiones actuales dice que los sistemas basados en Intel sean mejores que los de AMD. Estamos perdiendo el corazón, la mente y la billetera de nuestros mejores clientes«. La contestación por parte de Intel no se hizo esperar, Paul Otellini, CEO de Intel en esa época dijo: «Estamos transfiriendo más de $ 1B por año a Dell para cumplir con los esfuerzos de compensación. Esto debería ser más que suficiente para compensar los problemas competitivos.» Poco después, Kevin Rollins, CEO de Dell, hizo un anuncio: «Dell no tiene planes de comenzar a utilizar chips AMD«.

Mientras AMD veía su participación de mercado desaparecer inexplicablemente, Intel recibiría denuncias por monopolio en la Unión Europea, Japón y Corea, así como en el FTC, y el Fiscal General de Nueva York, incluso investigaciones del SEC.

AMD tenía serios problemas financieros que le obligaron a vender su división de fabricación en 2009 (GlobalFoundries) para transformarse en una fabless. Ante esto, Intel recuperaría su corona de rendimiento y AMD no podría volver a sacar un producto realmente competitivo hasta años más tarde.

Por eso, muchos fabricantes fueron clientes exclusivos de Intel por muchos años, o adoptaban chips AMD en limitados modelos. Pese a eso, con la aparición de AMD Zen las tornas cambiarían, y los nuevos diseños han supuesto un golpe casi letal para Intel…

¿Nadie puede licenciar cores x86?

Actualmente, Intel y AMD, mantienen su licencia propietaria x86 gracias a un acuerdo cruzado para la ISA AMD64 y algunas extensiones adicionales. Pero más allá de estos, podrás encontrar algunos productos compatibles. ¿Cómo? Pues ya sea por licenciamiento de alguna de estas compañías, por usar algún tipo de traductor como hacía Transmeta con su Code Morphing, o por otros motivos. Por ejemplo, está el caso de Zet, un procesador clon x86 compatible con IA-32 a nivel de código de máquina. Un proyecto pensado para hardware de código abierto, como por ejemplo, ser sintetizado en un FPGA, CPLD, ASIC, etc.

Qualcomm también ha intentado emular las instrucciones x86-64 para sus chips Snapdragon basados en ARM de alto rendimiento. De esa forma, serían compatibles con binarios de software para x86-64. Pero se han encontrado con problemas legales…

Intel no tiene ningún empeño en licenciar su tecnología. Y AMD tampoco, pese a algunas concesiones (véase Cuestión de Licencias Parte 1 / Parte 2). Ambas empresas no ganan dinero licenciando, ni mediante RTL, como en otras. Quieren controlar el mercado. Además, el coste de una licencia de un núcleo x86 sería muy superior al de otras como ARM, por lo que tal vez no tendría demasiado sentido en cuanto a márgenes de beneficios para los licenciatarios.

Pero… ¿qué pasaría si AMD perdiera su independencia y fuese comprada por otra compañía? Se ha rumoreado con una posible compra de Apple, o de Samsung, aunque no ha ocurrido. En ese caso, existe una sentencia establecida en 1994, donde si AMD fuese comprado, entonces el uso de registros e instrucciones x86 quedaría anulada.

Por eso, quizás, se puede entender que AMD sea un objetivo muy suculento, pero nadie se haya atrevido a dar ese paso, puesto que no podrían aprovecharse de seguir manteniendo las licencias x86 (también explica por qué el valor de mercado de Intel es mucho mayor que el de AMD, ante la realización de una OPA). Y eso es así incluso pese a que AMD diseñó x86-64, ya que no era más que una extensión sobre x86-32.

¿Y el caso VIA Technologies? Bueno, es también un caso particular. La tercera en discordia se descolgó de la batalla tecnológica hace mucho tiempo, por lo que no representa una amenaza, pese a los últimos intentos exclusivamente en el mercado chino (véase Zhaoxin). En el caso de VIA, su posesión de la licencia viene de 1997, cuando compró Cyrix.

Cyrix también obtuvo la licencia tras litigios legales que también ganaría frente a Intel. Además, aunque en aquellos años de guerras judiciales AMD se tuvo que comprometer a no usar microcódigo de Intel, e Intel a no usar el de AMD (por eso mantienen un acuerdo cruzado de licencias desde entonces), en el caso de Cyrix sí que obtuvo permiso completo para usar registros e instrucciones x86 sin limitaciones.

VIA Technologies compró Cyrix (fusionada con National Semiconductor en 1997) y Centaur Technology, además de IDT (Integrated Device Technology).

Pero… ¿y las x86-64? Puesto que también tienen chips de 64-bit. Pues, aunque todo es algo opaco, parece que VIA Technologies tiene un acuerdo de licencia temporal, para obtener la AMD64, que se va caducando y van renovando por ciertos periodos de tiempo…

Más información:

Isaac

Apasionado de la computación y la tecnología en general. Siempre intentando desaprender para apreHender.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Si continuas utilizando este sitio aceptas el uso de cookies. más información

Los ajustes de cookies de esta web están configurados para "permitir cookies" y así ofrecerte la mejor experiencia de navegación posible. Si sigues utilizando esta web sin cambiar tus ajustes de cookies o haces clic en "Aceptar" estarás dando tu consentimiento a esto.

Cerrar