Skip to content

Instantly share code, notes, and snippets.

@ryanflorence
Last active October 29, 2023 01:05
Show Gist options
  • Star 34 You must be signed in to star a gist
  • Fork 2 You must be signed in to fork a gist
  • Save ryanflorence/124070e7c4b3839d4573 to your computer and use it in GitHub Desktop.
Save ryanflorence/124070e7c4b3839d4573 to your computer and use it in GitHub Desktop.

Rackt is a GitHub organization that was created to ensure critical open source projects in the React community receive long-term support and maintenance.

Principles

We believe these four principles will provide a strong ecosystem of our open source projects by ensuring projects have active and enthusiastic owners and contributors.

Principle 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 Rackt 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?!)

Owners will be added liberally by any other owner, they need only contribute some non-trivial commits, express interest, and follow the Code of Conduct.

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

Principle 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 by your absence, there's a problem with the business.

Before a project joins Rackt, 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 Rackt 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 Rackt projects or, preferably, increase your organizations investment in open source and dedicate some time to helping with maintainence. If you use our code, it is now our code. (Get it yet?)

Principle 3: Code has Non-Profit Ownership, MIT/ISC License

Code on Rackt must be owned by a non-profit and have the MIT License or ISC license. This ensures that the owners of a project can continue to maintain it regardless of corporate acquisitions and beaurocracy.

Principle 4: Avoid Burnout

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

This means:

  • Bug reports without test cases (copy/paste-able code is enough) can be closed with or without comment.

  • Usage questions can be closed immediately and directed to stack overflow. Owners should pay attention though, because the docs or the APIs probably need help if there are a lot of "question issues".

  • Feature requests without thoughtful commentary and sample code can be closed with or without comment.

  • Issues without activity in the last 30 days can be closed with or without comment. If this is a bug you care about that isn't getting attention, fix it. If you're good enough to understand the bug, you're good enough to fix it. Remember, it's our code now.

Gather Responsibility

If you have imported a Rackt 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 principle #4)

Rackt is not an exclusive club. Help us push the web forward and get involved.

@corneliusroemer
Copy link

Cool stuff! Just two typos:

45c45
< helping with maintainence. If you use our code, it is now *our* code.
---
> helping with maintenance. If you use our code, it is now *our* code.
52c52
< maintain it regardless of corporate acquisitions and beaurocracy.
---
> maintain it regardless of corporate acquisitions and bureaucracy.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment