Meta Is Finally Letting Go of React

I still remember the panic in 2017. You probably do too, if you’ve been in this game long enough. There was that brief, terrifying window where Facebook’s “BSD+Patents” license clause made every legal department in every mid-sized company lose their collective minds. We were all ready to rewrite our apps in Preact or Vue just to avoid the potential headache.

Meta (then Facebook) eventually backed down and switched to MIT, but the feeling lingered. React was open source, sure, but it was their open source. We were just renting space in Zuckerberg’s backyard.

That’s why the news dropping from the Linux Foundation this week hit me harder than I expected. They’ve announced the intent to launch the React Foundation. Meta is officially handing over the keys. React and React Native are moving out of the parents’ house and getting their own apartment, managed by a neutral landlord.

The “Avengers” of the JavaScript World

The lineup of founding members is actually what sold me on this. If it were just Meta and a few shell companies, I’d roll my eyes. But look at this list:

Amazon, Microsoft, Vercel, Expo, Callstack, and Software Mansion.

This is significant. You have the cloud giants (Amazon, Microsoft) who host the internet. You have the framework meta-layers (Vercel, Expo) that actually define how we write code today. And you have the consultancies (Callstack, Software Mansion) that have been doing the heavy lifting on React Native core for years.

Software Mansion, in particular, deserves a shout-out here. If you’ve used react-native-reanimated or react-native-gesture-handler, you’ve used their code. They’ve practically been maintaining the React Native ecosystem pro bono for half a decade. Seeing them get a seat at the governance table alongside Amazon? That feels like justice.

Why This Actually Matters (No, It’s Not Just Politics)

I know, I know. “Governance” is a boring word. It sounds like meetings and committees and things that keep us from shipping features. But for React Native specifically, this is critical.

For years, React Native suffered from what I call the “Meta-First” problem. Features were built because the Facebook app needed them. Did you need better Android startup times? Too bad, Facebook prioritized iOS throughput this quarter. The documentation was often an afterthought because Meta engineers could just ping the author on internal chat.

By moving to the Linux Foundation, the roadmap has to democratize. Expo, for instance, has a very different set of priorities than Meta. Expo cares about the developer experience for the solo founder and the agency dev. Meta cares about News Feed scrolling performance. With Expo on the board, issues that affect us—like upgrading versions without crying, or sane linking of native assets—get prioritized at the highest level.

The Technical Upside

We’ve been living through the “New Architecture” transition for what feels like forever. It’s finally stable, but the ecosystem fragmentation has been real. With a centralized foundation, we might actually see standardized interfaces for native modules that don’t break every time a minor version bumps.

Think about TurboModules. The promise was always better performance through lazy loading of native code. But implementing them has been… let’s say “high friction.” A foundation-led initiative could standardize the C++ bindings generation so we stop writing boilerplate.

Here is what I’m hoping becomes the standard “Foundation-approved” way of writing a high-performance native module interface, agnostic of whether you are on Expo or bare workflow:

import { TurboModule, TurboModuleRegistry } from 'react-native';

// The Foundation could standardize these spec definitions
// making it easier for library authors to support New Arch
export interface Spec extends TurboModule {
  readonly getConstants: () => {};
  
  // A synchronous method that doesn't block the JS thread unnecessarily
  // thanks to the JSI bindings standardized by the group
  encryptString(input: string, key: string): string;
  
  // Async method for heavier operations
  generateKey(algorithm: string): Promise;
}

// Enforcing a strict registry look-up prevents the old "undefined is not an object"
// errors we used to get with the bridge
export default TurboModuleRegistry.getEnforcing('SecureStorage');

If the foundation can make the tooling around this as good as Vercel made Next.js deployment, we are in for a good time.

The Vercel vs. Expo Dynamic

There is an elephant in the room, though. Vercel (web) and Expo (mobile) are technically competitors in the “React Framework” space, even if they play nice. They both want to own the “Universal React” story.

Having them both as founding members is fascinating. It forces them to collaborate on the core primitives. React Server Components (RSC) is the battleground here. Vercel pushed RSC hard for the web. Expo is figuring out how to make it make sense on a phone. If they were doing this in silos, we’d end up with two incompatible versions of React. Under the React Foundation, they have to agree on the spec.

That means the code you write for a Next.js app might actually run on an Expo app without five different Babel plugins hacking it together. Maybe.

So, What Changes Tomorrow?

Nothing. Your package.json stays the same. The docs are still at the same URL (for now). But the vibe shift is real.

For a long time, betting on React Native felt like betting on Meta’s benevolence. If they got bored or decided AI was the only thing that mattered, React Native could have withered. Now? It’s backed by Amazon and Microsoft. It’s infrastructure. It’s boring. And in software engineering, boring is the best feature you can ask for.

I’m cautiously optimistic. As long as they don’t form a committee to redesign the logo for six months, we should be fine. But seriously, Meta giving up control is the healthiest thing that could have happened to us.