reactjs

The reactjs GitHub organization (henceforth "reactjs" or "the org") was created to ensure critical open source projects in the React community receive long-term support and maintenance.

Principles

We believe the following principles will provide a strong ecosystem of open source projects by ensuring they have active and enthusiastic owners and contributors.

1) Consumers are Contributors

When you start a new job, you assume responsibility for the code base. When you, or somebody before you, imports a reactjs lib, you have that same responsibility. We are building this stuff together. There is no “core team”. If you use our code, it is now our code. (Get it?!)

Collaborators are added liberally by other owners and/or collaborators. They need only contribute some non-trivial commits and follow the project's contribution guidelines and Code of Conduct (if one exists).

This also means contributors should be consumers. If a contributor finds they are not using a project in the “real world”, they should reconsider their involvement with the project.

2) Ownership is Temporary

When you leave a job, nobody expects you to continue to maintain all the code you wrote while at that job. If the business falls apart in your absence, there’s a problem with the business.

Before a project joins the org, it should have some significant usage in the community and multiple owners so that a major contributor’s absence does not critically injure the project. If it has significant usage but only one or two owners, new owners should be added as soon as possible.

Becoming an owner should not come with the pressure to maintain the project for longer than you have interest. This should encourage people to accept ownership, even if for a short time.

Owners of reactjs projects can stop working on them without any guilt or explanation, just like a job. If this makes you uncomfortable, you can either not use our projects or, preferably, increase your organizations investment in open source and dedicate some time to helping with maintenance. If you use our code, it is now our code. (Get it yet?)

3) Avoid Burnout

The first priority in managing the issue tracker for a reactjs project is avoiding burnout. Sprawling lists of inactionable, open issues, is burnout’s most potent fuel.

This means:

Gather Responsibility

If you have imported a reactjs lib, you can gather responsibility and be a contributor in a number of ways:

  1. Answer questions on stack overflow

  2. Add test cases to bug reports

  3. Add fixes for test cases

  4. Write up thoughtful feature requests with sample usage

  5. Close issues that qualify for closing (see Avoid Burnout)