React-sketchapp: Discuss ideas for sustainable project maintenance

Created on 26 Apr 2018  ·  25Comments  ·  Source: airbnb/react-sketchapp

[EDITED]

In an attempt to keep react-sketchapp moving forward, it believe it would be beneficial to discuss various solutions for maintaining this project in a more sustainable way.

The two main concerns I see are:

  1. There are a couple PRs blocked by issues filed on direct dependencies that appear to no longer be maintained.
  2. PRs currently require at least 1 approving review by reviewers with write access. At the moment @mathieudutour is the only maintainer working on this project and as a result cannot merge anything he authors.

In an attempt to solve point 1, I wanted to propose the idea of moving to a new organization which also manages these direct dependencies.

Specifically, the organization would manage this repo as well forks of (or if @darknoon is willing to transfer ownership):

... Perhaps this is all overkill (and perhaps I am overstepping), but it was the most organized and maintainable approach I could devise. Open to any other suggestions.

Most helpful comment

Alright let's close this and see how it goes

All 25 comments

It seems like a first step would be the owner of those repos granting GitHub and npm access to the maintainers of react-sketchapp; moving this repo to an org is extremely premature.

@ljharb - Two counters (and that doesn't mean this isn't still premature)

  1. @darknoon has yet to respond to an issue to publish a new version of sketchapp-json-flow-types that was filed on Feb 21st. Perhaps Github is not the correct means to communicate with him. We could try to contact via email, or perhaps someone knows him personally and could reach out.
  2. It would require keeping grant access in line with current maintainers of react-sketchapp. Perhaps this list isn't volatile and it wouldn't be a major concern, but each time the issue did arise, it would be unnecessary friction.

Besides being "extremely premature", what would be the potential downsides of setting up as an organization?

Thanks for your prompt response, the awesome project, and working through this issue with me :)

@jaridmargolin

  1. people ignoring GitHub notifications for many months is common; try emailing or tweeting.
  2. for the git repos, the friction would be annoying, sure, but for npm it wouldn't because any owner can administrate the package.

One of the downsides of having it move to an org is that it would no longer sync with the airbnb org's teams/employees (the exact upside of having those 3 projects in the same org).

I don't think it's necessary to move the repo to an organization.

Regarding the sketchapp-json-flow-types and sketchapp-json-plugin repo, I think I'll fork them to the skpm org as it's not only relevant to react-sketchapp and I'll happily add any contributor to it.

@ljharb the main blocker is the fact that merging a PR here needs review by a maintainer. I'm the only maintainer working on it at the moment which means that we can't merge anything. Would you mind removing that check (at least until we have more maintainers) and add @jaridmargolin as a maintainer? I tried emailing @jongold but he is busy I guess.
I'm already able to publish on npm so that's really the only blocker.

@ljharb All good points. I am altering the title of this issue to better reflect the intent, which is to open discussion on the best ways to continue maintenance on this project.

@mathieudutour - I'd be happy to help review and submit PRs where I can. I do want to note however, that my exposure has been fairly short. The insight and help I can bring would be quite different that of the original authors who have in-depth knowledge of trade-offs and early design decisions... If airbnb wants to ensure this project is moving in their desired direction, they really need to have a representative(s) who is available to take ownership.

If airbnb does not have the time to maintain the future of this project, I do think it would be beneficial to have myself added as a maintainer so I can provide a second set of eyes for @mathieudutour. This would at least give us a path forward to getting required PRs merged.

I’ll consult with @jongold in person about next steps.

Oh my bad, totally missed that @mathieudutour.

You can publish to npm now right? I think we resolved that.

I added @jaridmargolin as a maintainer.

Relaxing the 'PRs must be approved' constraint is an @ljharb question :)

(also I think I saw these issues coming in #209 🙈 )

Yes, I can now help maintain permissions on both npm and GitHub.

I agree that if there's one maintainer, it doesn't make sense to require approvals, but it'd be ideal to have 2+ maintainers so that things can still get proper review :-)

@mathieudutour can you ping me directly on any PRs you're blocked on, and I can try to take a look?

@jongold @ljharb thank you taking the time to look into this. It really is greatly appreciated 🙏

@mathieudutour - as for the sketchapp-* libraries managed by @darknoon... I have attempted to contact him via email and twitter in order to discuss next steps. I will forward on any information I receive but wondering if we should set a deadline for his response. If by _______ we don't hear back, you can move forward with forking the library and maintaining it over at skpm.

@jaridmargolin thanks for your patience :-)

What I think we're planning to do is this: let's proceed as-is for a few months, with you and @mathieudutour as maintainers. If either of you have npm publish issues, or are blocked on a PR or a release, please ping me and I'll help unblock you.

In the not-too-distant future, it might indeed make sense to make a new org - at which point we could move this repo into it, as well as any other relevant projects whose owners are willing.

Alright let's close this and see how it goes

I thought that I had the rights to publish an update but I don't (anymore?)

❯ npm owner ls react-sketchapp
ljharb ljharb@gmail.com
airbnb
jongold hello@designedbygold.com

@ljharb @jongold can either of you add me?

I’ll take care of it later today.

@mathieudutour what's your npm username?

Same as GitHub: mathieudutour

@mathieudutour done! please follow semver <3

Ok, it doesn't seem to work.

  • Can we remove the review required before merging?

What doesn’t seem to work?

The process we have now where we require a review before being able to merge

In what way doesn’t it work?

I'm the only one working on the project at the moment. @jaridmargolin helped for a while but I can't expect him and other to commit more than they want to.

I'd love to publish the fixes I've made but I can't so I'm ending up using my fork where I'm not restricted and published it under my own scope on npm :/

That seems extreme and unnecessary. I’ll remove the requirement for now, but let’s try to find a second maintainer so we can restore it.

I don't have "consistent" bandwidth for continual reviews. My availability usually comes in chunks of time in between product sprints.

@mathieudutour - If you want to tag/assign me on PRs you deem important, I'll do my best to review in a timely manner. And worst case scenario, @ljharb has lifted restrictions, so you will be able to move forward if I don't have time.

Yeah no worry, I understand perfectly, it's pretty much the same for me.
I just want to be able to merge quick fixes while I have some time without waiting for a review that might push it out of my "free timeslot"

Was this page helpful?
0 / 5 - 0 ratings

Related issues

yu-tou picture yu-tou  ·  5Comments

kirill-konshin picture kirill-konshin  ·  7Comments

jaridmargolin picture jaridmargolin  ·  6Comments

blechatellier picture blechatellier  ·  7Comments

tysoncadenhead picture tysoncadenhead  ·  7Comments