Volver a las novedades para desarrolladores

Código abierto de Meta: retrospectiva de 2022

17 de enero de 2023DePhilip Bell

El año que pasó trajo consigo una renovación en el contacto humano y el sentido de comunidad para muchas personas en todo el mundo. Esto se trasladó al trabajo con código abierto en Meta en circunstancias en que colaboradores, usuarios y organizaciones se congregaron para potenciar el impacto del código abierto.

Los proyectos publicados por Meta abordan las necesidades y desafíos de los desarrolladores (desde el impulso de la IA de última generación hasta la compilación de apps y experiencias innovadoras y fáciles de usar) mientras la comunidad del código abierto proporciona un ámbito para compartir tecnologías y apoyarse en ellas de forma colaborativa.

En esta publicación, se exploran aspectos destacados del código abierto de Meta y la forma en que Meta ayudó a construir la comunidad de código abierto en 2022. También se abarcan actualizaciones en herramientas y código que Meta y sus ingenieros compartieron, como desarrollos de gran importancia para PyTorch, el lanzamiento de React 18 y la presentación del cliente de control de código fuente de Sapling, entre otros aspectos.

Explora las secciones:

Transición hacia las fundaciones: expansión de la apertura, la colaboración y el alcance

La diversidad de perspectivas y aportes fortalece el código abierto, y Meta busca de manera activa oportunidades en las que se puedan alcanzar objetivos compartidos trabajando con aspectos básicos existentes. Varios proyectos de Meta han experimentado una transición hacia fundaciones en este año que pasó, a fin de democratizar los recursos de código abierto que ofrecen y expandir su gobernanza.

En septiembre, el marco de PyTorch para IA se sumó a la Linux Foundation mediante la formación de la nueva PyTorch Foundation. La junta directiva, integrada por líderes del sector, tiene el propósito de expandirse con el tiempo y servirá como administradora para esfuerzos de extensión comunitaria y marketing de negocios y productos de la tecnología.

En el gráfico, se muestra que Meta cuenta con 1034 proyectos de código abierto no archivados (datos del 2022).

Jest inició la transición hacia la OpenJS Foundation este último año. El proyecto de código abierto es uno de los marcos de prueba de JavaScript más utilizados. La fundación cuenta entre sus objetivos hacer que el proyecto sea más accesible para nuevos usuarios y desarrollar nuevas funciones.

Meta se compromete a impulsar más la innovación en proyectos de código abierto que dona a fundaciones. En 2022, Meta profundizó su colaboración con la Presto Foundation y alcanzó el máximo nivel de membresía de la fundación. Meta también patrocinó PrestoCon Day y PrestoCon, la primera conferencia presencial de la fundación.

Generar impacto a través del alcance comunitario del código abierto

Miembros del equipo de código abierto de Meta se reunieron en la conferencia All Things Open para tomarse una foto en octubre de 2022.

Fotografía: Representantes de desarrolladores de Meta y otros miembros del equipo de código abierto de Meta en All Things Open, en octubre.

Ingenieros y representantes de desarrolladores de Meta buscaron oportunidades de alto impacto para la extensión comunitaria a lo largo del año; aprendieron de la mano de expertos y organizaciones de la comunidad, y compartieron conocimientos sobre proyectos de código abierto lanzados en Meta.

Explora el contenido creado por representantes de desarrolladores de Meta:

Representantes de desarrolladores y miembros del equipo de código abierto de Meta asistieron al 10.º aniversario de All Things Open en representación del código abierto de Meta. Antes del evento, el director de Ingeniería Killian Murphy compartió reflexiones sobre cómo Meta trabaja con el propósito de derribar las barreras para los colaboradores de código abierto y se esfuerza por lograr que esté al alcance de todos.. Meta se compromete a establecer un estándar elevado para dar la bienvenida a todos aquellos que deseen usar las tecnologías que ofreció en código abierto y hacer un aporte a ellas.

En el gráfico se observa la leyenda "En tiempos en que la comunidad del código abierto es más grande que nunca, Meta mira con optimismo el potencial que el código abierto tiene para llegar a ser más inclusivo y, a la vez, más potenciador". Killian Murphy, director de Ingeniería

El equipo de código abierto de Meta también instaló un estand en All Things Open para ampliar el conocimiento sobre proyectos de Meta y conocer desarrolladores que usan esas tecnologías para la investigación y la industria. También hubo charlas de ingenieros y representantes de desarrolladores en el evento.

Explora las disertaciones del equipo de representantes de desarrolladores en All Things Open 2022:

En publicaciones de blog, el equipo de Kernel de Linux de Meta resaltó su investigación en curso. En las publicaciones, se incluyó la forma de unirse a la comunidad de Linux. 11 miembros del equipo mayor de Kernel de Meta presentaron charlas en la Linux Plumbers Conference de 2022. Podrás hallar la lista completa de charlas en el sitio web del evento. El equipo también lanzó una serie Meet the Developers en la que se presentaron muchos ingenieros de Meta para la conferencia, donde se abarcaron temas como una descripción general de las integraciones de redes de BPF y de la experiencia del usuario en Meta, parches de kernel en vivo y muchos otros aspectos.

En el gráfico se muestra que Meta publicó 252 nuevos proyectos de código abierto y repositorios en 2022.

El equipo del kernel de Linux de Meta contribuye al avance del kernel de maneras que mejoran su uso en Meta y potencian la salud de toda la comunidad. El equipo trabaja en relación estrecha con la comunidad del kernel original de Linux y garantiza que los proyectos se diseñen para su inclusión e implementación con el kernel original en primer lugar.

Dentro del blog de código abierto de Meta, en la historia del colaborador hasher-matcher-actioner se destacó el trabajo de los beneficiarios de becas de MLH Franklin Phan y Samyak Mehta, y Meta sostuvo su apoyo hacia la beca en sociedad con GitHub y Major League Hacking.

En la serie de historias de colaboradores de Meta se compartieron los éxitos y desafíos del aporte al código abierto con prácticas recomendadas para la participación en la comunidad. Explora las publicaciones de blog de 2022:

Generar impulso para la VR y la AR en la comunidad de código abierto

El propósito del metaverso es ser un ámbito en el que las personas puedan reunirse e interactuar de maneras nuevas e innovadoras. Para poder crear un metaverso exitoso para todos, este se debe construir sobre la base de una comunidad fuerte y debe incorporar ideas diversas.

Las comunidades de código abierto, con su mentalidad inherente de "compilar en equipo", son un punto de partida natural para encaminar conversaciones importantes que darán forma al metaverso, y los representantes de desarrolladores de Meta hicieron su aporte en el intercambio. Navyata Bawa continuó con la serie "Fomentar la inclusión en la VR" en la Global Women in Tech Network Conference, en junio, y analizó la forma en que se pueden compilar aplicaciones de VR con accesibilidad e inclusión mientras el trabajo vinculado a VR y AR sigue en crecimiento.

En el episodio de podcast de Stack Overflow "Here’s what it’s like to develop VR at Meta", la gerente de representantes de desarrolladores Cami Williams habló sobre cómo Reality Labs puede aprender de la comunidad de React, y tender un puente hacia ella. También compartió herramientas y recursos para dar los primeros pasos en el desarrollo de VR.

Gráfico con la leyenda "Crear diversidad desde el interior. No solo en los usuarios y evaluadores de juegos, sino también entre los desarrolladores. Solo entonces podremos, a partir del aprendizaje de estas experiencias diversas, diseñar aplicaciones que representen con fidelidad a un público amplio y se adapten a él". Navyata Bawa, representante de desarrolladores, Reality Labs

Como parte del compromiso de Meta de ampliar la presencia de la comunidad y brindar herramientas para crear dentro del ecosistema de VR, se lanzaron muestras de exhibición de Quest en GitHub. Para ayudar a difundir estas herramientas, Bawa creó la serie "Building Your Multiplayer VR Experience" para la muestra del SDK de la plataforma de Oculus y de SharedSpaces de Unity, además del tutorial "Building Intuitive Interactions for VR" para el SDK de interacciones ymuestras de primera mano.

En la publicación de post "Summer of Open Source: Moving Virtual Reality Forward", se mostraron algunas de las últimas innovaciones de Meta en el espacio de la realidad virtual y se destacó una entrevista con el ingeniero de Software Eric Le Saux en el episodio 14 de The Diff. Mira la lista de reproducción de AR y VR para hallar más conversaciones recientes con desarrolladores de Meta, tutoriales y recursos en este espacio.

Avances en IA y AA

2022 fue un gran año para PyTorch y los nuevos modelos de Meta AI diseñados para empoderar a todos, desde investigadores hasta creadores. A continuación, se muestran algunas de las formas en que Meta propició el avance de la capacitación, la optimización y la implementación de modelos de IA.

Actualizaciones de PyTorch

Después de la transición a la PyTorch Foundation (dentro de la Linux Foundation), PyTorch 2.0 se presentó en la PyTorch Conference realizada en Nueva Orleans en diciembre. Las cifras que se compartieron en la conferencia muestran el nivel de crecimiento de PyTorch y su comunidad en 2022: para el 63 por ciento de las implementaciones de investigación de IA se usó PyTorch, mientras que, según datos de GitHub, el número de repositorios de GitHub que usan PyTorch aumentó un 45 por ciento desde el año anterior.

PyTorch 2.0 integra años de investigación para mejorar su desempeño en materia de compilación y, al mismo tiempo, defiende la experiencia de PyTorch que los usuarios ya conocen y adoran. Entre las actualizaciones se incluyen aumentos de velocidad de una línea con torch.compile, compatibilidad absoluta con versiones anteriores y un compilador totalmente basado en Python.

Descubre más contenido de PyTorch de 2022 de representantes y colaboradores de desarrolladores de Meta:

Los modelos de Meta AI alcanzan nuevos hitos

Los marcos de entrenamiento y optimización de modelos ayudan a crear modelos de IA que pueden afrontar tareas reales de formas complementarias a las aptitudes de las personas. Esta reciprocidad se evidencia en la traducción de idiomas; los modelos de IA pueden aprender cientos de idiomas, incluso aquellos que hablan solo algunas personas. En 2022, Meta AI presentó el modelo de IA No Language Left Behind, que traduce 200 idiomas diferentes con resultados de última generación, junto con el conjunto de datos de evaluación y el respectivo código fuente abierto. Estos esfuerzos de código abierto pueden ayudar a mejorar modelos para traducir documentos críticos y preservar idiomas de los que no existen muchos recursos.

En la imagen se muestra que se hicieron 186.210 aportes a repositorios de Meta en 2022: 159.723 internos y 26.487 externos.

Meta convirtió en código abierto CICERO, que fue el primer agente de IA en lograr un rendimiento de calidad humana en el complejo juego de estrategia de lenguajes naturales Diplomacy*. La integración de un modelo de lenguajes naturales con algoritmos de aprendizaje de planificación y refuerzo permite que CICERO razone y establezca estrategias vinculadas a las motivaciones de los jugadores y, luego, use el lenguaje para lograr acuerdos y cumplir objetivos compartidos, formar alianzas y coordinar planes. Hubo muchos otros momentos relacionados con la IA y el código abierto que no se abarcan aquí, y se pueden encontrar más historias sobre IA en el blog de Meta AI.

Explora otros avances de Meta AI en 2022:

* Todos los derechos de Diplomacy son propiedad de Hasbro, Inc.

React 18 y otras actualizaciones en plataformas web y móviles

Más allá de las noticias de Jest y el comienzo de su transición hacia la OpenJS Foundation, se lanzó Jest 29. El proyecto superó las 40.000 estrellas en GitHub en la segunda mitad de este año. Otro momento clave para las plataformas web y móviles fue el lanzamiento de React 18, con el apoyo del React 18 Working Group. Esto incluyó actualizaciones para representación de concurrencia, con funciones adicionales y API complementarias. Conoce los esfuerzos para actualizar la versión beta de React Docs a la par del lanzamiento, con documentación de efectos y una guía de inicio rápido.

En septiembre, los equipos de tecnologías de React de Meta se unieron con colaboradores claves y encargados de mantenimiento de bibliotecas para la React Native Core Contributor Summit. En debates de la cumbre, se abordaron los ecosistemas actual y futuro de React Native y Metro, y la concurrencia estableció iniciativas activas para mejorar el ecosistema de React Native.

En la imagen, se muestra que en total hubo 7353 colaboradores en proyectos de código abierto de Meta en 2022. Hubo 3727 colaboradores internos y 3626 externos.

Entre otros proyectos que Meta ofreció en código abierto para plataformas web y móviles, Js-flipper es un paquete de NPM que muestra un cliente de Flipper para apps de JavaScript y permite a los desarrolladores crear fácilmente nuevos complementos de Flipper o reutilizar los existentes. Otro proyecto, MemLab, proporciona pruebas de memoria de JavaScript que automatizan la detección de fugas de memoria.

Por último, los desarrolladores de Meta compartieron información sobre cómo desarrollan con tecnologías web y móviles de código abierto, y para ellas. En una publicación de blog, se investigó un informe de errores de Hermes y la forma en que el informe llevó al equipo de respuesta a explotar una vulnerabilidad para hacer funcionar la versión de 1993 de Doom dentro de Hermes. En otra, se mostró una nueva WebView basada en Chromium que proporciona una mejor experiencia para usuarios del navegador de la app de Facebook para Android.

Explora Meet the Developers: Mobile Edition series:

Herramientas para desarrolladores: control de código fuente, herramientas de documentación y otros avances

Los desarrolladores de Meta usan herramientas de código abierto creadas por la empresa para respaldar su infraestructura. Estas herramientas a menudo se someten a pruebas y mejoras diarias durante el trabajo en Meta, y de ello surgen proyectos de código abierto que superan desafíos únicos en términos de escala y velocidad.

En 2022, el equipo de Sapling presentó un nuevo cliente de control de código fuente compatible con Git. Con la capacidad de uso y la escala como ejes, Sapling es un sistema de control de fuente cuyo propósito es compartir lo que los desarrolladores de Meta han perfeccionado durante más de diez años, a fin de potenciar el trabajo en esta área y mostrar a los desarrolladores un posible futuro para los sistemas de control de código fuente. En agosto, llegó el lanzamiento deDocusaurus 2.0, un generador de sitios estáticos de buen rendimiento que extiende su uso de React y su utilidad para sitios web más allá de la documentación.

Gráfico con la leyenda "En 2022, el código abierto de Meta sumó otras 133.854 estrellas en GitHub, lo que llevó la cifra total a 1.563.562 seguidores de estrellas".

Entre las actualizaciones adicionales de proyectos, se incluyó un nuevo detector de bloqueos para Android y se agregaron importaciones lazy en Cinder y una vista previa del editor de última generación de OpenStreetMap RapiD 2.0. En otro proyecto, Hermit, se introdujo un sistema operativo determinista práctico que permite a los desarrolladores resolver problemas como pruebas y controles dudosos para entradas implícitas, como la programación de hilos y la generación de números aleatorios, entre otros.

En una de las publicaciones más abarcadoras se mostró cómo las herramientas de desarrolladores de Meta funcionan en conjunto como parte del flujo de trabajo de un desarrollador. Muchas de ellas son de código abierto. Esto incluyó proyectos como el sistema de compilación Buck, SuperConsole, EdenFS (un sistema de archivos de integración estrecha con Sapling), el marco de prueba Jest y otras herramientas.

Descubre más artículos y lanzamientos sobre herramientas para desarrolladores en 2022.

Datos: actualizaciones en Velox, Presto y RocksDB

La biblioteca de código abierto de C++ Velox se anunció en agosto de 2022. Velox representa un paso adelante en la reducción del consumo de energía y el aumento del rendimiento de los motores de datos. La biblioteca usa ejecución nativa y se integrará con muchas herramientas en Meta como capa de motores de ejecución.

Velox está diseñada para reducir enormemente el mantenimiento de código y aumenta el rendimiento de 2 a 10 veces en varios casos de uso. Aprende sobre la comunidad creciente de Velox y su refactorización innovadora relacionada con cómo los motores y las bases de datos de macrodatos ejecutan consultas en el documento "Velox: Meta’s Unified Execution Engine", publicado en VLDB 2022.

Solo durante el año pasado, el proyecto de código abierto Presto en GitHub tuvo 21 versiones y recibió poco menos de 2.000 estrellas nuevas, 600 bifurcaciones nuevas y 152 colaboradores nuevos. The Presto Foundation organizó PrestoCon, su primer evento presencial, en el Computer History Museum en Mountain View, California, donde Tim Meehan ofreció una charla principal como director de TSC y Philip Bell anunció el rumbo de Presto para el próximo año.

En diciembre, el equipo de RocksDB reanudó su encuentro presencial anual en la sede de Meta de Menlo Park, donde se reunieron ingenieros de Meta y colaboradores externos para analizar casos de uso, innovaciones y aspiraciones para el proyecto.

Seguridad y hardware

La seguridad y el hardware ocupan un lugar importante en el trabajo de los desarrolladores. El código abierto en Meta puede ayudar a garantizar la solidez, protección y confiabilidad de los sistemas y del código con contribuciones que van desde herramientas de depuración hasta hardware de red.

A principios de año, en la historia de un colaborador, se compartió trabajo relacionado con Pysa, una herramienta de análisis estático de Python dentro del proyecto Pyre-check. En la historia, se destacó el hecho de que la creación de comunidades de código abierto saludables puede influir de forma directa en el éxito de proyectos como Pysa, que en este caso aumentó la seguridad del código.

En el ámbito del hardware, se implementó el protocolo de tiempo de precisión en redes y centros de datos de Meta. Esta tecnología proporciona nuevos niveles de precisión para la sincronización de relojes en sistemas distribuidos. Junto con Open Compute Project, el hardware y software diseñados para admitir el protocolo se ofrecieron en código abierto para la adopción en el sector.

En 2022, Meta continuó con el trabajo de transición a código abierto dentro de productos como WhatsApp y Messenger. Code Verify, puesta a disposición en código abierto en marzo, es una extensión para navegadores con la que los desarrolladores pueden detectar si el código de una página web pudo haber sido manipulado o alterado, a fin de proteger la integridad del código en WhatsApp Web y Messenger.

Agradecemos a la comunidad de código abierto

En esta publicación, se abarcaron solo algunos de los más de 1.000 proyectos de código abierto de Meta y sus actualizaciones en 2022. Para conocer más sobre estos proyectos de código abierto, visita el sitio web de código abierto de Meta y síguenos en Facebook, Instagram, Twitter y LinkedIn. Nuestro agradecimiento especial a la comunidad de colaboradores, usuarios, organizaciones y socios que colaboran con Meta en proyectos de código abierto.

En Meta, creemos que el código abierto acelera el ritmo de la innovación en el mundo. Al compartir nuestro código, nuestra pila e incluso nuestros diseños de hardware, buscamos impulsar el sector y, al mismo tiempo, dar a otras empresas e individuos la oportunidad de usar nuestras soluciones para crecer más rápido y crear productos de excelencia.

Esta publicación se redactó en colaboración con los representantes de desarrolladores de Meta Dmitry Vinnik, Suraj Subramanian y Cami Williams.