How Did React Come into Existence?

Learn about the origins of React and how it is maintained.

Origins of React

React was created at Facebook and open-sourced under a BSDBerkeley Software Distribution-Licence in 2013. Following some public protest, though, the license was changed to MITMassachusetts Institute of Technology. Given Facebook’s involvement in React’s creation, it is no surprise that a large chunk of Facebook’s code is also based on React. An estimated number of around 50,000 components is currently in use within Facebook’s products, which is a number so great that it is easy to understand that Facebook has a high interest in both maintaining the technology it’s based on and coming up with ideas to ensure its continuous development. So for anyone worried about using React in their own projects, we need not worry about React becoming obsolete anytime soon.

Core engineers

The core engineers on the React Team do a great job to get the community involved with React’s newest developments early on. A call for React RFCRequest for Comments means that developers and interested parties can discuss changes early on in a designated GitHub repository and it also enables users to bounce around ideas within the React team themselves.

While maintaining and developing React, the core engineers ensure that breaking changes follow a clear deprecation schema.

Note: Breaking changes in this instance refers to changes in the codebase that are not backward compatible.

Any methods, properties, or functions that are scheduled to be deprecated will be flagged with a visible and easily noticed deprecation warning. Furthermore, the React Team provides a tool to safely amend old code with the new changes, called React-Codemod, which follows strict Semver conventions.

Releases

  • Only major releases will involve breaking changes, such as 16.x.x to 17.x.x.

  • A minor release will only contain new features or deprecation warnings (for example, 16.6.x to 16.7.x). It can safely prepare and inform developers to upgrade their existing code.

  • Bug fixes will be dealt with in a patch release, denoted by only bumping the version from 16.8.0 to 16.8.1.

Note: For the curious among us, there is the possibility to inspect soon-to-be-released features for major and minor releases by checking out Alpha, Beta, and RC versions. However, these features are subject to change, and we should therefore be careful when implementing them.

While this is useful for React’s user base, one can assume that it is in Facebook’s own interest to not cause problems by unplanned changes given that they have a large number of React components in their own codebase. However, transparency is always a given and you can follow along on GitHub’s issue tracker where all important changes are neatly summarized in Umbrella-Tickets.