Guy Martin es el director ejecutivo de OASIS Open, una de las organizaciones de estándares sin fines de lucro más respetadas del mundo. Aporta más de 25 años de experiencia como ingeniero de software y estratega de código abierto a OASIS Open, donde ayuda a la organización a darse cuenta de la tremenda ventaja de integrar lo mejor de los estándares abiertos y las comunidades de código abierto.
Nuestro mundo tiene grandes problemas que resolver, y algo que se necesita desesperadamente en esa búsqueda es que las comunidades de código abierto y estándares abiertos trabajen juntas.
Permítanme darles un ejemplo claro, tomado de las duras realidades de 2020. El año pasado, Estados Unidos experimentó casi 60,000 incendios forestales que quemaron más de 10 millones de acres, lo que resultó en más de 9.500 casas destruidas y al menos 43 vidas perdidas.
Serví como bombero voluntario en California durante 10 años y fui testigo de primera mano de la importancia crítica de la tecnología para ayudar a los bomberos a comunicarse de manera eficiente y entregar información crítica para la seguridad rápidamente. Por lo general, varias agencias se presentan para combatir estos incendios, trayendo consigo radios de diferentes fabricantes, cada uno de los cuales usa software propietario para establecer frecuencias de radio. Como resultado, reprogramar estas radios para que los equipos puedan comunicarse entre sí es un proceso innecesariamente lento y potencialmente mortal.
Si los fabricantes de radio hubieran contribuido todos a una implementación de código abierto conforme a un estándar, las radios podrían haberse alineado rápidamente a las mismas frecuencias. Los fabricantes de radios podrían haber proporcionado una herramienta valiosa que salva vidas en lugar de un obstáculo para perder el tiempo, y podrían haber compartido el costo de desarrollar dicho software. En esta situación, como en muchas otras, no se puede obtener ninguna ventaja competitiva con el software de programación de radio patentado y se pueden obtener muchos beneficios invaluables mediante la estandarización.
El código abierto y los estándares abiertos son obviamente diferentes, pero los objetivos de estas comunidades son los mismos: interoperabilidad, innovación y elección.
El beneficio de estándares coherentes y las correspondientes implementaciones de código abierto no es exclusivo de situaciones críticas para la seguridad como los incendios forestales. Hay muchas áreas de nuestras vidas que podrían beneficiarse significativamente de una mejor integración de estándares y código abierto.
Código abierto y estándares abiertos: ¿cuál es la diferencia?
"Código abierto" describe el software que es de acceso público y gratuito para que cualquiera lo use, modifique y comparta. También describe una filosofía de desarrollo de software colaborativa y orientada a la comunidad, con un intercambio abierto de ideas, participación abierta, creación rápida de prototipos y gobernanza y transparencia abiertas.
Por el contrario, el término "estándar" se refiere a definiciones de funcionalidad acordadas. Estos requisitos, especificaciones y pautas garantizan que los productos, servicios y sistemas funcionen de manera interoperable con calidad, seguridad y eficiencia.
Existen docenas de organizaciones con el propósito de establecer y mantener estándares. Los ejemplos incluyen la Organización Internacional de Normalización (ISO), el Instituto Europeo de Normas de Telecomunicaciones (ETSI) y el Consorcio World Wide Web (W3C). OASIS Open también pertenece a esta categoría. Un estándar es "abierto" cuando se desarrolla a través de un proceso de creación de consenso, guiado por organizaciones que son abiertas, justas y transparentes. La mayoría de la gente estaría de acuerdo en que el proceso de construcción de estándares es cuidadoso y deliberado, asegurando el consenso a través del compromiso y dando como resultado especificaciones y límites técnicos duraderos.
¿Dónde está el terreno común?
El código abierto y los estándares abiertos son obviamente diferentes, pero los objetivos de estas comunidades son los mismos: interoperabilidad, innovación y elección. La principal diferencia es cómo logran esos objetivos, y con eso me refiero principalmente a la cultura y el ritmo.
Chris Ferris, miembro de IBM y CTO de Open Technology, me dijo recientemente que con las organizaciones de estándares, a menudo parece que el objetivo es ralentizar las cosas. A veces es por una buena razón, pero he visto que la competencia también se lleva lo mejor de la gente. El código abierto parece ser mucho más colaborativo y menos polémico o competitivo. Eso no significa que no existan proyectos competitivos que aborden el mismo dominio.
Otra característica de la cultura que afecta el ritmo es que el código abierto se trata de escribir código y las organizaciones de estándares tratan de escribir prosa. Las palabras sobreviven al código con respecto a la interoperabilidad a largo plazo, por lo que la cultura de los estándares es mucho más deliberada y reflexiva a medida que desarrolla la prosa que define los estándares. Aunque los estándares no son técnicamente estáticos, la intención con un estándar es llegar a algo que sirva sin cambios significativos a largo plazo. Por el contrario, la comunidad de código abierto escribe código con una mentalidad iterativa y el código se encuentra esencialmente en un estado de evolución continua. Estas dos culturas a veces chocan cuando las comunidades intentan moverse al unísono.
Si ese es el caso, ¿por qué intentar encontrar la armonía?
La colaboración entre el código abierto y los estándares abiertos impulsará la innovación
Internet es un ejemplo perfecto de lo que puede lograr la armonía entre las comunidades de código abierto y estándares abiertos. Cuando Internet comenzó como ARPANET, se basó en estándares comunes de comunicaciones compartidas anteriores a TCP / IP. Con el tiempo, los estándares y las implementaciones de código abierto nos trajeron TCP / IP, HTTP, NTP, XML, SAML, JSON y muchos otros, y también permitieron la creación de sistemas globales clave adicionales implementados en códigos y estándares abiertos, como advertencias de desastres (OASIS CAP) y facturación comercial global estandarizada (OASIS UBL).
Internet ha transformado literalmente nuestro mundo. Ese nivel de innovación tecnológica y poder transformador también es posible para el futuro, si revitalizamos el espíritu de colaboración entre las comunidades de estándares abiertos y código abierto.
Encontrar la armonía y un camino natural de integración.
Con todos los proyectos críticos de código abierto que residen en repositorios en la actualidad, existen muchas oportunidades de colaboración en estándares asociados para garantizar la operatividad a largo plazo de ese software. Parte de nuestra misión en OASIS Open es identificar esos proyectos de código abierto y brindarles un entorno colaborativo y todo el andamiaje que necesitan para construir un estándar sin que se convierta en un proceso difícil.
Otro punto que Ferris compartió conmigo es la necesidad de que este camino de integración crezca. Por ejemplo, esta necesidad es particularmente frecuente si desea que su tecnología se utilice en Asia: si no tiene un estándar internacional, las empresas asiáticas ni siquiera quieren saber de usted. Vemos que la comunidad europea también manifiesta una fuerte preferencia por los estándares. Eso es sin duda un impulsor para los proyectos de código abierto que quieren jugar con algunos de los pesos pesados del ecosistema.
Otra área en la que puede ver una creciente necesidad de integración es cuando un proyecto de código abierto se vuelve más grande que él mismo, lo que significa que comienza a afectar a muchos otros sistemas y se necesita alineación entre ellos. Un ejemplo sería un estándar para datos de telemetría, que ahora se utiliza para muchos propósitos diferentes, desde la observabilidad hasta la seguridad. Otro ejemplo es la lista de materiales del software, o SBOM. Sé que se están haciendo algunas cosas en el mundo del código abierto para abordar el desafío de rastrear la procedencia del software. Este es otro caso en el que, si queremos tener éxito, necesitamos que surja un estándar.
Va a requerir un esfuerzo de equipo
Afortunadamente, los objetivos finales de las comunidades de código abierto y estándares abiertos son los mismos: interoperabilidad, innovación y elección. También tenemos excelentes puntos de prueba de cómo y por qué necesitamos trabajar juntos, desde Internet hasta la especificación de topología y orquestación para aplicaciones en la nube (TOSCA) y más. Además, las principales partes interesadas llevan la pancarta, reconociendo que para ciertos proyectos de código abierto debemos adoptar una visión estratégica a más largo plazo que incluya estándares.
Ese es un gran comienzo para un esfuerzo en equipo. Ahora es el momento de que las fundaciones den un paso al frente y colaboren entre sí y con las partes interesadas.