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

Re-homing + new maintainers #300

Closed
woodruffw opened this issue May 23, 2023 · 39 comments
Closed

Re-homing + new maintainers #300

woodruffw opened this issue May 23, 2023 · 39 comments

Comments

@woodruffw
Copy link
Member

Given the lack of maintainer activity and growing issues (xrefs below), I think it might be time to consider a (soft) fork of this project.

I'm willing to temporarily maintain such a fork, at least until the maintainer becomes available again (or expresses a disinterest in continuing to maintain, at which point it'll become a hard fork). My maintenance interest is primarily as a downstream user of CacheControl, namely in pypa/pip-audit.

I'm opening this issue to gauge interest/appetite for such a fork.

xrefs:

@frostming
Copy link
Contributor

I already created one at https://github.com/frostming/cacheyou and already uploaded to the PyPI. If you are interested I can add you to the collaborators. The workflow is also changed a bit.

@woodruffw
Copy link
Member Author

Oh, fantastic!

Yes, I'd be happy to collaborate on it -- I started some changes on https://github.com/woodruffw-forks/cachecontrol/tree/modernize (including cherry-picking your double-read fix), but it looks like you've already got most of the same ones covered 🙂

I haven't used PDM before, but I'm happy to try.

@frostming
Copy link
Contributor

Good, I've sent the invitation and I will complete the dev guide shortly.

@adiroiban
Copy link

Rather than moving to a fork that is maintained again by a single person, I guess it's much better to find an umbrella organization to host the package.

I remember that @ionrock was active in the #294 PR.

I think that instead of links to issues, is best to provide links to PRs that are in great shape and ready to merge, but not merged because @ionrock didn't had time to approve them.

In the case of #294 the PR description is fix: compatibility with urllib3 2.0 but it contains unrelated formatting changes and unrelated import reordering changes.

@ionrock
Copy link
Contributor

ionrock commented May 24, 2023

Hey folks, I'd be happy to find an org to host and maintain this package. I don't have the time to invest and would feel most comfortable with an org taking it on. Feel free to provide any options in this ticket, and if you're interested in helping to make the transition. Thanks all!

@woodruffw
Copy link
Member Author

Thank you @ionrock!

My preference for organizational control as well -- it looks like me and @frostming are PyPA members, but (IMO) the PyPA is probably the wrong venue for this kind of package.

Some other ideas:

  • Could we have this homed under the "main" PSF org, similar to requests? An argument for this is that CacheControl is an integral part of the requests ecosystem.

  • Are there community-based orgs that would be a right fit for this? The two that I'm aware of are jazzband and pallets, but there may be others and I'm not sure either of these is right.

@adiroiban
Copy link

My suggestion is to try to move this into https://github.com/requests/

I think that this library is all about the requests project.

I see that the request project itself is hosted by the Python Software Foundation github org.

We have https://github.com/requests/toolbelt and I think that the https://github.com/requests GitHub Org can be used for the Requests ecosystem tools.

@Secrus
Copy link

Secrus commented May 24, 2023

Moving the repo to an org won't automatically solve the problem of a lack of maintainers. I'd say that the project could be left as it is, you just need people interested in helping with maintenance.

@woodruffw
Copy link
Member Author

I think neither of those is salient in this case: the current maintainer has expressed a willingness to re-home it under an org, and there are at least two people in this thread who are willing to maintain it (myself and @frostming).

@ewdurbin
Copy link
Member

PSF will happily accept a transfer and manage access!

@woodruffw
Copy link
Member Author

PSF will happily accept a transfer and manage access!

Awesome! I think @ionrock will have to coordinate it if it's done as a transfer; from there, myself or @frostming (or anyone else who'd like to offer maintenance) can be added.

@Secrus
Copy link

Secrus commented May 24, 2023

I think neither of those is salient in this case: the current maintainer has expressed a willingness to re-home it under an org, and there are at least two people in this thread who are willing to maintain it (myself and @frostming).

Yeah, I just meant that is about people, not the org the repo is under.

PSF will happily accept a transfer and manage access!

Awesome! I think @ionrock will have to coordinate it if it's done as a transfer; from there, myself or @frostming (or anyone else who'd like to offer maintenance) can be added.

I will be happy to help with maintenance as well.

@woodruffw woodruffw changed the title (Soft) fork? Re-homing + new maintainers May 24, 2023
@ionrock
Copy link
Contributor

ionrock commented May 24, 2023

@ewdurbin Can you let me know a good way to get started in the process?

@ewdurbin
Copy link
Member

@ionrock from https://github.com/ionrock/cachecontrol/transfer, you can invite to transfer to https://github.com/psf/ by typing psf in the field "Specify an organization or username"

psf

I will then accept transfer, create a team comprised of @woodruffw and @frostming in the psf org and assign them admin on the repo.

Outstanding questions:

  • Would you like to remain as a maintainer in any capacity?
  • Will you grant Owner privileges on the project on PyPI to the new maintainers?

@frostming
Copy link
Contributor

@ionrock what is the progress of the transfer? I has become a collaborator but still don't have the access to PyPI. Alternatively, you can setup a Trusted Publisher for GitHub Actions, so that I can setup an automated release workflow later.

@ionrock
Copy link
Contributor

ionrock commented May 30, 2023

@ewdurbin I'm OK being a maintainer, although I doubt I'd spend much time on it (obviously!).

We can also grant privileges to PyPI. I'm sending the transfer request now.

@ionrock
Copy link
Contributor

ionrock commented May 30, 2023

@ewdurbin I made the request, but got this error You don’t have the permission to create public repositories on psf . I'm guessing you'll be notified?

@ewdurbin
Copy link
Member

grrr, forgot about that roadblock. @ionrock if you grant me temporary admin access to this repo, I can initiate the transfer.

@ewdurbin
Copy link
Member

Got the invitation @ionrock, once my bit is bumped up to Admin I can start the transfer.

@ionrock
Copy link
Contributor

ionrock commented May 30, 2023

@ewdurbin I can't seem to find anything that allows making someone else an admin. Any ideas why that could be the case?

@ewdurbin
Copy link
Member

I thought that there would be a "Role" drop down for each collaborator at https://github.com/ionrock/cachecontrol/settings/access

@ionrock
Copy link
Contributor

ionrock commented May 30, 2023

Unfortunately, there isn't @ewdurbin. I could be missing something, but I've been looking for a while now and don't see any roles I can set for collaborators.

@woodruffw
Copy link
Member Author

@ionrock would you be able to take a screencap of what you see on that page?

Here's what I see on another repository I control:

Screenshot 2023-05-30 at 5 34 22 PM

(Note the little drop-downs on the right that show the current role.)

@ionrock
Copy link
Contributor

ionrock commented May 30, 2023

Screenshot 2023-05-30 at 4 48 55 PM

@ewdurbin Here you go!

@ewdurbin
Copy link
Member

🎉 awesome! it’s been moved.

@ionrock @woodruffw @frostming, please accept the org invite and I’ll finalize GitHub permissions.

@frostming
Copy link
Contributor

Thanks @ionrock @ewdurbin 🎉

We can also grant privileges to PyPI. I'm sending the transfer request now.

But I didn't receive that.

@woodruffw
Copy link
Member Author

Accepted, thanks @ewdurbin and @ionrock!

Duping what @frostming said: I also haven't received the PyPI transfer yet 🙂

@ewdurbin
Copy link
Member

Team structure has been re-established via teams. @ionrock is currently sole admin, but also has the ability to add existing members of psf org to the cachecontrol or cachecontrol-admin teams.

@ionrock
Copy link
Contributor

ionrock commented May 31, 2023

@ewdurbin is there a recommendation for how best to enable pypi access? I can add individual users, but I suspect adding an org or something similar would be best over time.

@ewdurbin
Copy link
Member

Orgs would be cool! https://pypi.org/org/psf/ exists, and could home it.

You can add my user ewdurbin as owner on PyPI and I will happily organize things equivalent to how it has been organized on GitHub.

@ewdurbin
Copy link
Member

PyPI org invites dispatched to @ionrock, @frostming, and @woodruffw!

@ewdurbin
Copy link
Member

Just for transparency (lightly redacted to not dox @ionrock)
history

@woodruffw
Copy link
Member Author

Received! I think that completes all transfers, so this should be safe to close.

Any objections @ionrock @ewdurbin @frostming?

@ewdurbin
Copy link
Member

None from me.

@woodruffw woodruffw mentioned this issue May 31, 2023
@woodruffw
Copy link
Member Author

Cool, closing!

@frostming
Copy link
Contributor

@ewdurbin Hi, is there a good place for the maintainers instant messaging? Is the Python Slack channel still recommended?

@ewdurbin
Copy link
Member

ewdurbin commented Jun 1, 2023

I'm on PSF Slack, and I know @woodruffw is as well. @ionrock would of course be welcome.

Though I'm also adaptable.

@frostming
Copy link
Contributor

I'm on PSF Slack, and I know @woodruffw is as well. @ionrock would of course be welcome.

Though I'm also adaptable.

Good to know that, can you provide the link to it?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants