fsprojects / .github

The place to request for projects to be added or removed from the incubation space
28 stars 7 forks source link

Transferring of Giraffe to fsprojects #49

Open dustinmoris opened 6 months ago

dustinmoris commented 6 months ago

Hi, let's do it. Do I need to wait for approval or find a new maintainer or can I just press the button and make the transfer to kick things off?

sergey-tihon commented 6 months ago

Hi, are you sure that it is the right place for Giraffe? You already have a separate org with 10 projects...

Do you have an issue or post that you are looking for help with maintaining Giraffe that we may amplify and try to help the co-maintainer?

dustinmoris commented 6 months ago

It's in reference to this: https://x.com/dustinmoris/status/1749417442214883420?s=20

And this: https://github.com/Lanayx/Oxpecker/discussions/4

dsyme commented 6 months ago

Hi Dustin!

We totally want to help facilitate a good community transition here, and thank you for engaging, you're doing the right thing and have our support.

Ideally we need an owner to make as maintainer here - actually we'd prefer two, prefer our policies here: https://github.com/fsprojects/.github/blob/master/profile/README.md

One thing I'd ask you to do is go over the last 5 or 10 PRs and ask each of the contributors if they'd like to take over maintenance, whether in the context of fsprojects or giraffe-fsharp. Once two or three people are identified things can usually continue.

I can see moving to fsprojects makes sense to help give real continuity over a very long time - we've got good policies in place, and having backup maintainers is really helpful to help keep things ticking along. Equally if the giraffe-fsharp org can be made sustainable, that's good too. You'd be welcome to copy the fsprojects policies if they're helpful.

I'll cross-link the issues to keep everyone in the loop.

Best Don

daz10000 commented 6 months ago

I’d be happy to help out - giraffe is beautiful software and I’ve built of lot on top of it and will probably be starting another project with it soon. Can certainly make doing a little maintenance part of that project. It probably is easier to do that inside the fsproject umbrella

nojaf commented 5 months ago

So, out of curiosity, it's been two weeks. What is the status of this?

dsyme commented 5 months ago

My understanding is @dustinmoris is deciding on who to transfer maintainer rights to.

I've had a think about whether the existing Giraffe GitHub organization - or any non-fsprojects GitHub organization - can be put under fsprojects "umbrella" - meaning fsprojects rules would apply even though the org is called something else. I think we can't actually do additional organizations. fsprojects "works" becaue two trusted people (Sergey and me) have backup admin access across the collective, and no one else. Realistically other GitHub orgs will want to have their own identity and additional people with admin access. The .NET Foundation ran into very bad problems when it tried once to apply dotnet/ org policies to a different GitHub organization, ultimately because of conflicting models of governance. I don't want that kind of confusion to arise in fsprojects.

If it's decided to transfer into "fsprojects" we can do that. But a lot gets lost by that for a web stack, which should really have its own org, rules and identity.

Anyway @dustinmoris I think go ahead and decide new owners. If you would like two of myself (or maybe @sergey-tihon, @nojaf or @isaacabraham) to have backup admin rights on giraffe org I'd be happy to play that role - just add me. Also if you'd like to copy and paste the fsprojects rules as a starting point for a new set of giraffe org rules, that's also ok.

dsyme commented 5 months ago

@dustinmoris An approach can be

  1. Give org admin rights to one active person, one or two backup people
  2. Give project-level maintainer rights (not admin) to 2 additional active people.
  3. Give nuget package rights to the same people as (1). These people create deploy keys, put into CI secrets, not accessible to others
  4. Adopt fsprojects like rules for the org as a whole, adjusted however you like.
  5. Hold the hands of the new active people to the point that it's clear they can do an update release of the software
  6. Let go :)

I think this balances the need to take things forward while making sure chaos is not unleashed :)

dustinmoris commented 5 months ago

@nojaf @dsyme So the current status is that I've found one new core maintainer but ideally I'm still trying to find a second one. I will add you as an admin as well @dsyme, I think that makes a lot of sense and adds additional credibility to Giraffe going forward.

@nojaf here's the latest chat around finding a new maintainer:

https://github.com/Lanayx/Oxpecker/discussions/4#discussioncomment-8349188

EDIT:

@nojaf would you like to be added as an admin and/or become a maintainer?

dsyme commented 5 months ago

@dustinmoris I'm interpreting that in the same way as fsprojects. It's a backup, not an active role. Governance not action :)

@nojaf I'd be happy if you joined me as backup maintainer over there.

nojaf commented 5 months ago

I'd be ok to be a backup here.

nojaf commented 5 months ago

Hi @dustinmoris, are we still looking for a second volunteer? Should we spread this again on the socials?

dustinmoris commented 5 months ago

I have sent out the invites now, to make @64J0 the core maintainer, making him the Admin of the entire giraffe-fsharp organisation and as per your wishes also sent two invites to @nojaf and @dsyme as backups.

image
dustinmoris commented 5 months ago

Re NuGet package rights, I just noticed that I have been publishing the Giraffe NuGet packages before we had the Giraffe organisation and as such they were published under my personal account. I don't think there is a good way of giving someone only rights to those publishing rights. Probably best to create a new organisation in NuGet and start publishing new packages from there?

A good way of doing this would perhaps be this flow:

  1. @64J0 creates a new NuGet org
  2. Updates the NuGet key in the giraffe GitHub org
  3. Triggers a publish for all packages with a new minor version where in the release notes it says that it's just a republish of the latest version under the new location
  4. Then once all packages exist in the new NuGet org I can mark all the other ones under my name as deprecated with a link to the new ones.
image
nojaf commented 5 months ago

Great, thanks!

64J0 commented 5 months ago

Thank you very much for the opportunity, I'll give my best to maintain and evolve Giraffe!