theforeman / safemode

A library for safe evaluation of Ruby code based on ParseTree/RubyParser and Ruby2Ruby. Provides Rails ActionView template handlers for ERB and Haml.
http://www.artweb-design.de
MIT License
68 stars 20 forks source link

Future maintainance #41

Closed lzap closed 1 year ago

lzap commented 2 years ago

Hello! I'd like to look into other things but I have a bunch of PRs that nobody look at. @svenfuchs @kronn @ohadlevy @dmitri-d

We use the gem in our project (https://theforeman.org) and we have a large and vibrant community, if you want to help with maintaining the project we can help. The core team is full of competent engineers with various skills from Ruby coding to software packaging, keeping our CI pipelines or release engineering. From the git history it looks like our former members had access (@ohadlevy and @dmitri-d), only recently we have updated our process of revoking access to former members. It would be best if we could have organization-level (team-level) access if possible:

https://community.theforeman.org/t/proposal-new-github-team-for-external-rubygem-maintainance/26919

Looking forward hearing from you! Thanks.

kronn commented 2 years ago

I am aware that foreman is the best-known user of safemode these days. :-) Personally, I am not opposed to giving you access, as past contributions were good and in the spirit of the gem. Also, theforeman is an awesome project I used myself.

As far as I remember, Sven had a policy of giving write access to people who contributed, so an accepted PR is implied trust and therefore should lead to a "commit bit". Since this gem is owned by Sven, only he can add contributors. Or, at least, I cannot.

I can take some time this week to look over the open issues and merge if appropriate. I sadly cannot grant you access, even though I would like to.

@svenfuchs can you help?

ares commented 2 years ago

So there are two things we actually need to maintain the gem further. Merge permissions on github is one, I guess only @svenfuchs can do that.

The second is the push permission on rubygems. It would be great to have our foreman user in there as an owner, so if someone leaves we can still add another maintainer. This is the command that's necessary

gem owner --add theforeman.rubygems@gmail.com safemode

Please let me know if I can be in any assitence. For the record, I have two megred contributions :-)

lzap commented 2 years ago

Thank you, there is no rush take your time indeed.

I was made aware that github teams only work within our organization theforeman so they cannot be used under Sven's context. In the past, contributors have successfully moved projects into our @theforeman GH organization, that is the best experience for us as we can utilize all GH features like teams or CI automation. But if that's not preferred, then we would appreciate adding more people onboard.

I see five familiar nicknames in the git history from what 4 are former community members and the remaining one is @ares. I also have 4 PRs opened as well as @adamruzicka if those get merged. This would give three new members. Thanks, stay safe.

svenfuchs commented 2 years ago

Thanks for bringing this up, Lukáš. As Matthias mentions I'll happily add contributors.

I've gone ahead and added @lzap, @ares, and @adamruzicka. I have also tried adding theforeman.rubygems@gmail.com to the Rubygems account, but Rubygems doesn't seem to know about this address:

$ gem owner --add theforeman.rubygems@gmail.com safemode
Adding theforeman.rubygems@gmail.com: Owner could not be found.

However, I think it might make sense to (rather than adding a group email account) add a personal accounts instead with the goal of setting up automation for performing actual releases to Rubygems. I might be overthinking this, just a suggestion.

In any case, thank you all for your contributions (especially @kronn, too!) and work on this.

lzap commented 2 years ago

Thank you, I have just learned that only recently we changed the email from Google's domain to our own: rubygems_community.theforeman.org (replace _ with @)

Thanks!

svenfuchs commented 2 years ago

Thanks, @lzap! I've added the account on Rubygems:

$ gem owner --add rubygems_community.theforeman.org safemode
theforeman was added as an unconfirmed owner. Ownership access will be enabled after the user clicks on the confirmation mail sent to their email.

EDIT BY @ares: editted to the comment so spammers don't get the email address that easily

ekohl commented 2 years ago

I think we're once again at the point that this is relevant. I know my colleagues @lzap moved to a different project and @ares has less time to do actual development. So we're in need of additional developers to move it forward.

Looking at https://rubygems.org/gems/safemode/reverse_dependencies it's actually empty. https://github.com/svenfuchs/safemode/network/dependents essentially comes down to https://github.com/theforeman/foreman and https://github.com/square/shuttle (+ forks/other tooling).

@svenfuchs any thoughts about moving the GitHub repository under the Foreman namespace?

kronn commented 2 years ago

tl;dr :+1:

Historically, I am attached to this project, but have not the time required to even remotely keep up. Therefore I second the motion to move this to theforeman. Apart from being a fine project, most recent contributions come from them anyway.

Is gem-ownership already solved? If not, it should IMHO go along.

Then again, I am only a voice in a choir. :-)

ekohl commented 2 years ago

Is gem-ownership already solved? If not, it should IMHO go along.

As you can see https://rubygems.org/gems/safemode does have theforeman account there, so we (Foreman org admins) can already add people who can release.

ares commented 2 years ago

I'd :+1: the proposal, it would ease the continuity of the development of the gem.

ares commented 1 year ago

I contacted @svenfuchs directly via email, let's see if we get an update from him here.

svenfuchs commented 1 year ago

Hey all, sorry for the silence here, I've missed this recent discussion.

Given that this is coming up regularly now I agree the gem should be owned by an organization, and theforeman seems like the obvious choice.

I'll send a transfer request.

svenfuchs commented 1 year ago

Hmmmm, ok, this is weird.

image

Obviously I am not a member of theforeman, so GitHub won't let me transfer it this way.

Shouldn't I have the option to request the transfer, rather than just doing it? I'm not sure if I'd have to be part of the organization or how else we can get this done. Any pointers?

kronn commented 1 year ago

I feel like you will become a short-time member of theforeman organization and have the ability to create repos there. :wink:

I agree, though. Github should allow such transfers. After all, one responsibility of maintaining open-source is finding another maintainer...

ekohl commented 1 year ago

You guys are both right: this should be easier. There used to be a some permission you could assign to a team that allowed you to only give that team permissions to create repos, but that's gone now. I'll send you an invite for the foreman org and temporarily enable repo creation. I think I'll get a notification when it's "created" and then I'll disable it again.

svenfuchs commented 1 year ago

Thank you, @ekohl!

So, after all that ... here we go:

image

😄

ares commented 1 year ago

Thank you all, namely @svenfuchs and @ekohl for making this happen. I take the liberty to close the ticket since it's resolved :-)

ekohl commented 1 year ago

@svenfuchs thanks! I've added all current maintainers to the @theforeman/safemode team. @kronn is still an outside contributor right now.

kronn commented 1 year ago

I am glad that we have this result.