React Native Community is an organization that hosts some of the most popular and most important packages used by the react-native community. While there is no official policy on which packages belong in the React Native Community, it has historically hosted packages that were in the official react-native repository but were later separated out and other packages used to support these packages. It also hosts some other arbitrary packages to support common requirements like camera, video, linear gradients, etc.
Besides these packages, React Native Community is also the home for resources for the react-native community. It hosts the repositories to facilitate discussions, lists the releases, and provides tools such as the upgrade-helper among others. While this organization is not affiliated with Facebook, the perceived affiliation due to the presence of several previously core packages, and the presence of repositories that track and facilitate discussions and proposals for react-native and its new releases give the organization additional clout in the community. This leads to the packages hosted within React Native Community being perceived as “official”, high quality, and actively maintained.
Since there is no clear benefit to having many of these packages in the same organization while being maintained by different groups of people, or in many cases, not being actively maintained anymore, the React Native Community decided to adopt a new policy for the repositories that they will host.
“The organization will contain repositories that act as forums for structured discussions and/or provide information about React Native and the ecosystem. These repositories may be purely textual, or they may be tools like the Upgrade Helper and React Native Directory, depending on what is better suited for the job. The organization will not include libraries that developers install and use in their projects.”
This does prompt the debate of having the packages in a centralized organization versus having them distributed in independent repositories. Both have their own pros and cons but the pros of having the packages distributed between multiple organizations or in independent repositories do outweigh the cons by eliminating a single point of failure from the ecosystem and promoting independent developers to contribute to the packages without having to depend on a small set of maintainers to make all the decisions.
Since the core react-native repository no longer includes the packages, and they have been moved out of their home at the React Native Community organization, many of them may no longer be perceived as the “official” package for a task. This can lead to some fragmentation in the developer community but it will also open the gates for other maintainers to create their own versions which may be better optimized, provide more features, or be easier to use. The developers on a lot of react-native projects may see deprecation warnings on their packages from @react-native-community, it may ultimately be for the good as it prevents centralization of resources and keeps up with the spirit of open source by ensuring that all packages have a level playing field.