Zurück zu den Neuigkeiten für Entwickler

Meta Open Source: das Jahr 2022 im Rückblick

17. Januar 2023VonPhilip Bell

Das vergangene Jahr war für viele Menschen auf der ganzen Welt ein Jahr, in dem sozialen Beziehungen und Community ein höherer Stellenwert eingeräumt wurde. Diese Tatsache spiegelte sich auch in der Open-Source-Arbeit bei Meta wider, wo Mitwirkende, Nutzer*innen und Organisationen zusammenkamen, um die Verbreitung von Open Source zu fördern.

Die von Meta veröffentlichten Projekte zielen auf die Anforderungen und Herausforderungen von Entwickler*innen ab – von der Förderung der KI der nächsten Generation bis hin zur Entwicklung innovativer, benutzerfreundlicher Webanwendungen und -erlebnisse. Gleichzeitig bietet die Open-Source-Community einen Kanal für den Austausch von Technologien und deren gemeinsame Weiterentwicklung.

Dieser Beitrag befasst sich mit den Highlights von Meta Open Source und damit, wie Meta im Jahr 2022 zur Förderung der Open-Source-Community beigetragen hat. Außerdem werden Aktualisierungen von Tools und Programmcodes vorgestellt, die Meta und seine Entwickler*innen veröffentlicht haben, darunter wichtige Entwicklungen für PyTorch, die Veröffentlichung von React 18, die Einführung des Quellcode-Clients von Sapling und mehr.

Der Beitrag umfasst folgende Abschnitte:

Übergabe an Stiftungen: mehr Offenheit, bessere Zusammenarbeit und größere Reichweite

Unterschiedliche Perspektiven und Beiträge stärken Open Source und Meta sucht aktiv nach Möglichkeiten, wie durch die Zusammenarbeit mit bestehenden Stiftungen gemeinsame Ziele erreicht werden können. Eine Reihe von Meta-Projekten sind im vergangenen Jahr in eine Stiftung überführt worden, um die von ihnen angebotenen Open-Source-Ressourcen weiter zu demokratisieren und ihre Governance zu erweitern.

Im September trat das PyTorch-Framework für künstliche Intelligenz der Linux Foundation bei, und zwar durch die Gründung der neuen PyTorch Foundation. Das Board, das sich aus führenden Branchenvertreter*innen zusammensetzt, soll im Laufe der Zeit erweitert werden und wird für die Öffentlichkeitsarbeit sowie für die Vermarktung der Technologie zuständig sein.

Die Grafik zeigt, dass bei Meta im Jahr 2022 1.034 aktive, nicht archivierte Open-Source-Projekte verwaltet wurden.

Jest wurde im vergangenen Jahr an die OpenJS Foundation übergeben. Das Open-Source-Projekt zählt zu den am weitesten verbreiteten JavaScript-Test-Frameworks. Unter anderem will die Stiftung das Projekt für neue Nutzer*innen zugänglicher machen und neue Funktionen entwickeln.

Meta möchte Innovationen in Open-Source-Projekten, die es an Stiftungen überträgt, weiter vorantreiben. Im Jahr 2022 hat Meta seine Zusammenarbeit mit der Presto Foundation vertieft und ist in die höchste Mitgliedsstufe der Stiftung aufgestiegen. Außerdem hat Meta PrestoCon Day und PrestoCon gesponsert, die erste Präsenzkonferenz der Stiftung.

Mehr Reichweite durch Open-Source-Initiativen

Mitglieder des Teams von Meta Open Source kamen auf der All Things Open-Konferenz im Oktober 2022 für ein Gruppenfoto zusammen.

Bildunterschrift: Die Meta Developer Advocates und weitere Mitglieder des Teams von Meta Open Source auf der All Things Open im vergangenen Oktober.

Developer Advocates und Entwickler*innen von Meta suchten das ganze Jahr über nach effektiven Gelegenheiten zur Öffentlichkeitsarbeit. Bei der Weitergabe von Wissen über Open-Source-Projekte, die bei Meta gestartet wurden, lernten sie von Fachleuten und Organisationen aus der gesamten Community.

Content, der von Developer Advocates von Meta erstellt wurde:

Developer Advocates und Mitglieder des Open-Source-Teams von Meta präsentierten Meta Open Source auf dem 10-jährigen Jubiläum von All Things Open. Vor der Veranstaltung erläuterte Killian Murphy, Engineering Director, die Anstrengungen von Meta, die Barrieren für Open-Source-Mitwirkende abzubauen und Open Source für alle zugänglich zu machen. Meta möchte alle, die die von Meta als Open Source bereitgestellten Technologien nutzen und zu ihnen beitragen möchten, mit offenen Armen empfangen.

In der Grafik heißt es: „Nachdem die Open-Source-Community so groß ist wie nie zuvor, ist Meta optimistisch, dass Open Source inklusiver werden kann und damit auch mehr Möglichkeiten schafft.“ Killian Murphy, Engineering Director

Das Team von Meta Open Source war auch mit einem Stand auf der All Things Open vertreten, um die Projekte von Meta bekannter zu machen und Entwickler*innen zu treffen, die diese Technologien in Forschung und Industrie einsetzen. Auf der Veranstaltung sprachen auch Developer Advocates und Entwickler*innen.

Vorträge des Developer Advocate-Teams auf der All Things Open 2022:

Blogeinträge des Linux Kernel-Teams bei Meta zu deren laufenden Forschungs- und Entwicklungsprojekten. Unter anderem geht es in den Beiträgen darum, wie man Teil der Linux-Community wird. Elf Mitglieder des erweiterten Kernel-Teams von Meta hielten Vorträge auf der Linux Plumbers Conference 2022. Eine vollständige Liste der Vorträge findest du auf der Veranstaltungswebsite. Das Team hat außerdem die Reihe „Meet the Developers“ ins Leben gerufen, in der mehrere Meta-Entwickler*innen vorgestellt werden, die auf der Konferenz referierten. Dabei wurde u. a. ein Überblick über die BPF-Networking-Hooks und die Nutzungserfahrung in Meta gegeben und das Live-Patching von Kernels in großem Umfang vorgestellt.

Die Grafik zeigt, dass im Jahr 2022 von Meta 252 neue Open-Source-Projekte und -Repositorys veröffentlicht wurden.

Das Linux-Kernel-Team von Meta unterstützt die Ausrichtung des Kernels in einer Weise, die seine Verwendung bei Meta verbessert und das Potenzial für die breitere Community erhöht. Das Team arbeitet eng mit der Linux-Kernel-Upstream-Community zusammen und stellt sicher, dass Projekte auf die Unterstützung des Prinzips „Upstream first“ ausgelegt sind.

Im Blog von Meta Open Source wurde im Beitrag „Hasher-Matcher-Actioner Contributor’s Story“ die Arbeit der MLH-Stipendiaten Franklin Phan und Samyak Mehta vorgestellt. Und Meta unterstützte das Stipendium weiterhin in Zusammenarbeit mit GitHub und Major League Hacking.

In der Reihe „A Meta Contributor's Story“ wurden Erfolge und Herausforderungen bei der Mitarbeit an Open Source sowie Best Practices für die Beteiligung an der Community vorgestellt. Blogeinträge aus dem Jahr 2022:

Impulse in der Open-Source-Community für VR/AR

Das Metaversum soll ein Ort sein, an dem Menschen zusammenkommen und auf neue, innovative Weise miteinander interagieren können. Um ein Metaversum zu schaffen, das allen Beteiligten nutzt, muss es auf einer starken Community aufbauen und vielfältige Ideen einbeziehen.

Open-Source-Communitys mit ihrer typischen „Build Together“-Mentalität sind ein logischer Ausgangspunkt, um wichtige Fragen zu klären, die das Metaversum prägen werden, und die Developer Advocates von Meta haben sich an den Gesprächen beteiligt. Navyata Bawa hat die Reihe „Fostering Inclusivity in VR“ (Inklusivität in VR fördern) auf der Netzwerkkonferenz Global Women in Tech im Juni fortgeführt und sprach angesichts der steigenden Anzahl von Projekten im VR/AR-Bereich darüber, wie VR-Anwendungen barrierefrei und inklusiv gestaltet werden können.

In der Folge „Here’s what it’s like to develop VR at Meta“ (So sieht die VR-Entwicklung bei Meta aus) des Stack Overflow Podcast schildert Developer Advocate Manager Cami Williams, wie Reality Labs von der React-Community lernen und eine Brücke zu ihr schlagen kann, und stellt einige Tools und Ressourcen zum Einstieg in die VR-Entwicklung vor.

Die Grafik lautet: „Vielfalt muss von innen aufgebaut werden. Nicht nur bei den Nutzer*innen und Testspieler*innen, sondern auch bei den Entwickler*innen. Nur dann werden wir in der Lage sein, Anwendungen zu entwickeln, die eine große Zielgruppe genau repräsentieren und ihr gerecht werden, indem wir von diesen unterschiedlichen Erfahrungen lernen.“ Navyata Bawa, Developer Advocate, Reality Labs

Im Rahmen der Bemühungen von Meta, die Präsenz der Community zu erweitern und Tools für die Entwicklung innerhalb des VR-Ökosystems bereitzustellen, wurden auf GitHub Quest-Präsentationsbeispiele veröffentlicht. Um die Verbreitung dieser Tools zu fördern, hat Bawa die Reihe „Building Your Multiplayer VR Experience“ (Erstellen deines Multiplayer-VR-Erlebnisses) für das Oculus Platform SDK und ein Unity-SharedSpaces-Beispiel sowie das Tutorial „Building Intuitive Interactions for VR“ (Entwicklung intuitiver Interaktionen für VR) für das Interaction SDK und Beispiele entwickelt.

Im Blogeintrag „Summer of Open Source: Moving Virtual Reality Forward“ (Summer of Open Source: Virtuelle Realität vorantreiben) wurden einige der neuesten Innovationen von Meta vorgestellt und es wurde auf ein Gespräch mit Softwareentwickler Eric Le Saux in Folge 14 von „The Diff“ verwiesen. In der AR- und VR-Playlist findest du aktuelle Gespräche mit Entwickler*innen von Meta, Tutorials und entsprechende Ressourcen.

Fortschritte im Bereich KI/ML

2022 war ein wichtiges Jahr für PyTorch und die neuen Modelle von Meta AI, die allen – von Wissenschaftler*innen bis zu Kreativen – helfen sollen. Hier sind einige Beispiele dafür, wie Meta das Training, die Optimierung und den Einsatz von KI-Modellen verbessert hat.

Neuerungen für PyTorch

Nach der Übertragung an die PyTorch Foundation (unter der Linux Foundation) wurde PyTorch 2.0 auf der PyTorch Conference im Dezember in New Orleans vorgestellt. Die auf der Konferenz präsentierten Zahlen zeigen, wie stark PyTorch und seine Community im Jahr 2022 gewachsen sind: Bei 63 Prozent der KI-Anwendungsfälle in der Forschung wurde PyTorch eingesetzt. Gleichzeitig stieg laut GitHub-Daten die Zahl der GitHub-Repositorys, die PyTorch verwenden, im Vergleich zum Vorjahr um 45 Prozent.

PyTorch 2.0 vereint jahrelange Forschung, um die Leistung des Compilers zu verbessern und gleichzeitig das bekannte und beliebte PyTorch-Erlebnis beizubehalten. Unter anderem wurde die Geschwindigkeit mit torch.compile um eine Zeile erhöht, Abwärtskompatibilität wurde zu 100 Prozent hergestellt und der Compiler ist komplett in Python geschrieben.

Weitere PyTorch-Inhalte von Meta Developer Advocates und Mitwirkenden aus dem Jahr 2022:

Meta AI-Modelle erreichen neue Meilensteine

Frameworks für das Training und die Optimierung von Modellen helfen bei der Entwicklung von KI-Modellen, die reale Aufgaben in Ergänzung zu den Fähigkeiten von Menschen übernehmen können. Diese Gegenseitigkeit zeigt sich besonders bei der Sprachübersetzung, wo KI-Modelle Hunderte von Sprachen lernen können, selbst solche, die nur von wenigen Menschen gesprochen werden. Im Jahr 2022 hat Meta AI das KI-Modell No Language Left Behind eingeführt, das 200 verschiedene Sprachen mit erstklassigen Ergebnissen übersetzt, zusammen mit einem Evaluierungsdatensatz und dem entsprechenden Open-Source-Code. Diese Ansätze im Bereich Open Source können dazu beitragen, die Modelle für die Übersetzung wichtiger Dokumente zu verbessern und ressourcenarme Sprachen zu erhalten.

Die Abbildung zeigt, dass im Jahr 2022 186.210 Commits in öffentlichen Meta-Repositorys abgelegt wurden. Davon wurden 159.723 intern und 26.487 extern vorgenommen.

Meta hat CICERO, den ersten KI-Agenten, der in dem komplexen natürlichsprachlichen Strategiespiel Diplomacy eine Leistung auf menschlichem Niveau erreicht, als Open-Source zur Verfügung gestellt.* Durch die Integration eines Sprachmodells mit Algorithmen des Planungs- und Verstärkungslernens kann CICERO die Motive der Spieler*innen verstehen und Strategien entwickeln. Anschließend werden mittels Sprache Vereinbarungen getroffen, um gemeinsame Ziele zu erreichen, Bündnisse einzugehen und Pläne zu koordinieren. Es gab noch viele andere Ereignisse im Bereich KI und Open Source, die hier nicht behandelt werden können. Weitere Berichte zum Thema KI findest du im Blog von Meta AI.

Weitere Innovationen von Meta AI im Jahr 2022:

* Alle Rechte an Diplomacy liegen bei Hasbro, Inc.

React 18 und weitere Neuerungen im Bereich Web/mobiles Web

Nicht nur wurde die Übergabe von Jest an die OpenJS Foundation eingeleitet, sondern im August wurde auch Jest 29 veröffentlicht. Das Projekt hat in der zweiten Hälfte dieses Jahres 40.000 Sterne auf GitHub erreicht. Ein weiterer wichtiger Moment im Bereich Web und mobiles Web war die Einführung von React 18, mit Unterstützung der öffentlichen React 18 Working Group. Die Version enthielt Aktualisierungen für das Rendering bei Gleichzeitigkeit, mit zusätzlichen Funktionen und unterstützenden APIs. Erfahre mehr über die Bemühungen zur Aktualisierung der Betaversion von React Docs parallel zur Veröffentlichung. Dazu zählen auch eine Dokumentation zu Effekten und eine Schnellanleitung.

Im September trafen sich die für React-Technologien zuständigen Teams von Meta mit Core-Mitwirkenden und Maintainer*innen der Bibliothek zum React Native Core Contributor Summit. Auf dem Summit wurden die aktuellen und zukünftigen Ökosysteme von React Native und Metro besprochen und aktive Initiativen zur Verbesserung des Ökosystems von React Native ins Leben gerufen.

Die Abbildung zeigt, dass im Jahr 2022 insgesamt 7.353 Personen zu den Meta-Open-Source-Projekten beigetragen haben. Davon waren 3.727 interne und 3.626 externe Mitwirkende.

Zu den Projekten, deren Quellcode Meta für das Web und für mobile Geräte freigegeben hat, zählt Js-flipper. Dabei handelt es sich um ein NPM-Paket, das einen Flipper-Client für JavaScript-Anwendungen bereitstellt und es Entwickler*innen ermöglicht, auf einfache Weise neue Flipper-Plugins zu erstellen oder bestehende wiederzuverwenden. Ein weiteres Projekt, MemLab, ermöglicht JavaScript-Speichertests, die die Erkennung von Speicherlecks automatisieren.

Und schließlich gaben Meta-Entwickler*innen Einblicke in ihre Arbeit mit und für Open-Source-Technologien für Web und mobiles Web. In einem Blogeintrag wurde ein Hermes-Fehlerbericht untersucht und erläutert, wie das entsprechende Team durch den Bericht dazu gebracht wurde, einen Exploit zu programmieren, der die 1993er Version von Doom in Hermes ausführte. In einem weiteren Blogeintrag wurde eine neue Chromium-basierte Webansicht vorgestellt, die Nutzer*innen des app-internen Facebook-Browsers für Android ein besseres Erlebnis bietet.

Erfahre mehr über die Meet the Developers: Mobile Edition-Reihe:

Tools für Entwickler*innen: Quellkontrolle, Dokumentationstools und weitere Neuerungen

Entwickler*innen bei Meta verwenden zur Unterstützung ihrer Infrastruktur Open-Source-Tools, die im Unternehmen selbst entwickelt wurden. Diese Tools werden oft im Tagesgeschäft bei Meta getestet und verbessert. Das Ergebnis sind Open-Source-Projekte, die in Bezug auf Skalierbarkeit und Geschwindigkeit einzigartige Herausforderungen erfüllen.

Im Jahr 2022 hat das Sapling-Team einen neuen Quellkontroll-Client eingeführt, der mit Git kompatibel ist. Sapling ist ein Versionskontrollsystem, das auf Benutzerfreundlichkeit und Skalierbarkeit ausgelegt ist und darauf abzielt, das, was Entwickler*innen bei Meta seit über zehn Jahren perfektionieren, mit anderen zu teilen. So soll die weitere Arbeit in diesem Bereich inspiriert und den Entwickler*innen eine mögliche Zukunft für Versionskontrollsysteme aufgezeigt werden. Im August wurde Docusaurus 2.0 veröffentlicht. Dabei handelt es sich um einen leistungsfähigen Generator für statische Websites, der die Verwendung von React und die Unterstützung von Websites über die Dokumentation hinaus erweitert.

In der Grafik heißt es: „Im Jahr 2022 erhielt Meta Open Source weitere 133.854 Sterne auf GitHub, was die Gesamtzahl auf 1.563.562 Stargazer erhöht.“

Zu weiteren Projektaktualisierungen zählten ein neuer Deadlock-Detektor für Android, Lazy Imports in Cinder und eine Vorschau des OpenStreetMap-Editors der nächsten Generation, RapiD 2.0. Mit einem weiteren Projekt, Hermit, wurde ein praktisches deterministisches Betriebssystem eingeführt, mit dem Entwickler*innen Probleme wie unzuverlässige Tests und die Kontrolle über implizite Eingaben wie Thread Scheduling, Zufallszahlengenerierung usw. lösen können.

In einem der allgemeineren Beiträge, die veröffentlicht wurden, wurde erklärt, wie Meta-Entwicklungstools – viele davon Open Source – im Workflow von Entwickler*innen zusammenwirken. Dazu zählten Projekte wie das Build-System Buck, SuperConsole, EdenFS (ein eng mit Sapling integriertes Dateisystem), das Jest-Test-Framework und weitere Tools.

Entdecke weitere Artikel und Veröffentlichungen zum Thema Entwicklungstools im Jahr 2022.

Daten: Neuigkeiten zu Velox, Presto und RocksDB

Im August 2022 wurde die Open-Source-C++-Bibliothek Velox angekündigt. Velox ist eine Weiterentwicklung in Sachen Energiereduzierung und Leistungssteigerung für Daten-Engines. Die Bibliothek wird nativ ausgeführt und als einheitliche Ausführungsebene in viele Tools von Meta integriert.

Velox wurde entwickelt, um den Aufwand für die Codepflege erheblich zu reduzieren und die Leistung in verschiedenen Anwendungsfällen um das 2- bis 10-Fache zu steigern. Im Artikel „Velox: Meta’s Unified Execution Engine“, der auf der VLDB 2022 veröffentlicht wurde, erfährst du mehr über die wachsende Velox-Community und darüber, wie die Bibliothek die Ausführung von Datenabfragen durch Big-Data-Engines und Datenbanken innovativ verändert.

Allein im letzten Jahr hatte das Open-Source-Projekt Presto auf GitHub 21 Veröffentlichungen und hat knapp 2000 neue Sterne erhalten. Außerdem wurden unter dem Projekt 600 neue Zweige angelegt und es kamen 152 Mitwirkende hinzu. Die Presto Foundation veranstaltete ihre erste Präsenzveranstaltung, die PrestoCon, im Computer History Museum in Mountain View, Kalifornien, wo Tim Meehan als TSC-Vorsitzender eine Keynote hielt und Philip Bell die Ausrichtung von Presto für das kommende Jahr vorstellte.

Im Dezember hat das RocksDB-Team sein jährliches persönliches Treffen in der Unternehmenszentrale von Meta in Menlo Park wiederholt. Dabei kamen Meta-Entwickler*innen und externe Mitwirkende zusammen, um über Anwendungsfälle, neue Innovationen und Ziele für das Projekt zu sprechen.

Sicherheit und Hardware

Sicherheit und Hardware spielen bei der Unterstützung der Entwicklungsarbeit eine wichtige Rolle. Von Debugging-Tools bis hin zu Netzwerkhardware: Open Source bei Meta kann zur Stabilität, Sicherheit und Zuverlässigkeit von Systemen und Code beitragen.

Zu Beginn des Jahres wurde in der Reihe A Contributor’s Story die Arbeit an Pysa beschrieben. Dabei handelt es sich um ein Tool zur statischen Codeanalyse von Python unter dem Pyre-check-Projekt. Die Story zeigte, wie sich der Aufbau gesunder Open-Source-Communitys direkt auf den Erfolg von Projekten wie Pysa auswirken kann, was in diesem Fall zu einer erhöhten Codesicherheit führte.

Was Hardware betrifft, so wurde Precision Time Protocol in sämtlichen Netzwerken und Rechenzentren von Meta bereitgestellt. Die Technologie ermöglicht ein neues Maß an Genauigkeit und Präzision bei der Synchronisierung von Uhrzeiteinstellungen in verteilten Systemen. In Verbindung mit dem Open Compute Project wurden sowohl die Hardware als auch die Software zur Unterstützung des Protokolls als Open Source zur Verfügung gestellt, um die branchenweite Verbreitung zu fördern.

Auch im Jahr 2022 hat Meta die Open-Sourcing-Arbeit für Produkte wie WhatsApp und Messenger fortgesetzt. Code Verify wurde im März als Open Source veröffentlicht und ist eine Browsererweiterung, mit der Entwickler*innen sehen können, ob der Code auf einer Webseite manipuliert oder verändert wurde, um die Integrität des Codes in WhatsApp Web und Messenger zu schützen.

Vielen Dank an die Open-Source-Community

In diesem Beitrag wurden nur einige der über 1.000 Meta-Open-Source-Projekte und ihre Aktualisierungen im Jahr 2022 aufgeführt. Um mehr über diese Open-Source-Projekte zu erfahren, besuche die Website Meta Open Source und folge uns auf Facebook, Instagram, Twitter und LinkedIn. Ein besonderer Dank geht an die Community der Mitwirkenden, Nutzer*innen, Organisationen und Partner, die mit Meta an Open-Source-Projekten zusammenarbeiten.

Wir bei Meta sind davon überzeugt, dass Open Source das weltweite Innovationstempo beschleunigt. Durch die Weitergabe unseres Codes, unseres Stacks und sogar unserer Hardware-Designs möchten wir die Branche voranbringen und gleichzeitig anderen Unternehmen und Einzelpersonen die Möglichkeit geben, unsere Lösungen zu nutzen, um schneller zu skalieren und großartige Produkte zu entwickeln.

Dieser Beitrag wurde in Zusammenarbeit mit den Meta Developer Advocates Dmitry Vinnik, Suraj Subramanian und Cami Williams verfasst.