Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

React Native Open Source - sustainability and community involvement #58

Closed
kelset opened this issue Nov 16, 2018 · 3 comments
Closed

React Native Open Source - sustainability and community involvement #58

kelset opened this issue Nov 16, 2018 · 3 comments
Labels
🗣 Discussion This label identifies an ongoing discussion on a subject

Comments

@kelset
Copy link
Member

kelset commented Nov 16, 2018

Introduction

This conversation started during the last core meeting, when talking about Facebook and Community involvement in moving this project forward.

This issue wants to serve as the 'main focus' around this topic, and some of its subjects are actually explored more in-depth in dedicated issues. Please remember that the the purpose of this discussion is to make the overall environment better for everyone involved: we (community and FB members alike) all love React Native and want to collaborate in the best way possible to see it become (even more) awesome.

The Core of It

React Native is an Open Source project created by Facebook - it is used internally, and the GitHub repository serves as a mirror of the commits that land in the internal react-native-github directory in Facebook's monorepo.

The Open Source version is consumed by the broader developer community through npm releases, that are currently maintained by a restrict group of members of the React Native core team - coordination and decision making about them is (mostly) handled via a dedicated community repository, react-native-releases.

Members of the community are also involved in maintaining the main repository: help with issue triaging (and labelling, and closing) and PR reviews (and a few members are also able to trigger the import process).

Another two, more recents, ways the community is getting more involved in shaping the future of React Native are:

  • this very repository, for discussions and proposals and increasing transparency between FB <-> the Core team <-> the broader community
  • the Slimmening process

This increasing involvement is helping the project move forward faster, and to reassure everyone of the huge commitment of all the parties involved in seeing RN succeed.

But, as most other Open Source projects, there is an underlying issue which is sustainability: while the FB team is paid to work on React Native, all of the tasks listed above that are handled by the community are not*.

This can generate issues of many forms that mostly boil down to reliability/stability/consistency of involvement in said tasks.

So: what can be done, by all the parties involved, to make sure that both RN and the community continue to be healthy?

Discussion points

  1. FB is still (pretty much) owner if RN:
    1. Well, first off, it legally is
    2. It’s an FB repo
    3. Commits from FB lands on master without going through the PR process
    4. Facebook experiments with additional improvements that may or may not make it out to open source, for example additional bundle formats
    5. Landing PRs is locked by FB importing it via the custom internal flow (which historically slowed a lot of PRs from landing)
    6. the technical expertise is very concentrated within FB
  2. How can we make more members of the community more involved, what is the nature of the core, is it needed? (dedicated discussion)
  3. Can some of the tasks handled by the community made more automatic, in order to reduce the workload? (dedicated discussion about the release cycle)
  4. Is there a funding model to support OSS community work that could fit this? So that companies like FB could pay into.

* or, at the best of my knowledge, not directly - best scenario I am aware of is companies giving their developers work hours to dedicate to those tasks

@kelset kelset added the 🗣 Discussion This label identifies an ongoing discussion on a subject label Nov 16, 2018
@elicwhite
Copy link

Thanks for writing this up. It is also worth linking to the other discussion about how to automate more of the cherry pick process so that it is easier, more sustainable, and can be done by more people. #53

@sibelius
Copy link
Member

sibelius commented Dec 6, 2018

There are some services trying to fund open source;

  • opencollective (fund a project)
  • issuehunt.io (fund some issues)
  • patreon.com (fund a maintainer)
  • tidelift.com (fund through providing services to companies that consume open source)

we could discuss which approaches works better, or use all of them at once

https://twitter.com/sseraphini/status/1070706095209930752

@cpojer
Copy link
Member

cpojer commented Apr 24, 2019

I think we have done a lot to address sustainability recently, except for the funding part, so I think it is reasonable to close this issue as there also hasn't been a discussion about this here in the last five months. I'm happy to reopen or discuss further how we can make React Native more sustainable.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🗣 Discussion This label identifies an ongoing discussion on a subject
Projects
None yet
Development

No branches or pull requests

4 participants