99designs / gqlgen

go generate based graphql server library
https://gqlgen.com
MIT License
9.96k stars 1.17k forks source link

Is this project still maintained? #1571

Closed negz closed 3 years ago

negz commented 3 years ago

What happened?

I recently used gqlgen to build a GraphQL API for https://crossplane.io, but I'm now a little worried that the project might be unmaintained. I notice no PRs have been merged for a little over 3 months, and there has not been a new release for almost a year. I maintain a large open source project myself so I know business priorities change and that sometimes things slow down for a while; mostly what I am looking for here is reassurance that there are still folks investing in this project and that it makes sense to continue relying on it to build GraphQL APIs.

kharann commented 3 years ago

I think looking for additional maintainers to help out with the workload would help. This is a pretty cool project which i hope will continue to improve.

kharann commented 3 years ago

@MichaelJCompton @lwc @wilhelmeek I noticed some of you has been active on this repository so sorry for the ping!

Is there any chance for a call for maintainers? Even if this project is quite mature, it wouldn't hurt looking additional maintainers which wish to help out reviewing PRs, discuss issues etc😊

kevinmbeaulieu commented 3 years ago

@kharann Would you able to take a look at https://github.com/99designs/gqlgen/pull/1309 when you get a chance (or one of the other folks who are active with write access)? It's a big PR so no rush, but I'd discussed it with @vektah last year and he seemed interested in the feature, so would just like to get a sense of whether it's still something that we could get merged, or if I should maintain a fork with it instead.

kharann commented 3 years ago

@kharann Would you able to take a look at https://github.com/99designs/gqlgen/pull/1309 when you get a chance (or one of the other folks who are active with write access)? It's a big PR so no rush, but I'd discussed it with @vektah last year and he seemed interested in the feature, so would just like to get a sense of whether it's still something that we could get merged, or if I should maintain a fork with it instead.

I'm sadly not a maintainer with write accessπŸ˜… Just a random developer who acknowledge that gqlgen is a great library and would love to see it continue to growπŸ™ˆ

wilhelmeek commented 3 years ago

Hey @kharann! From my understanding gqlgen is used extensively at 99designs, so I definitely don't believe that it's abandoned. We've gone all-in on it at @spaceship, hence my recent contributions.

Certainly agree that some extra maintainers would be great, though I suspect that's up to the 99designs team (cc @lwc)

wilhelmeek commented 3 years ago

To add, if extra maintainers were to be considered, I'd be very happy to throw my hat in the ring πŸ™Œ

devotoare commented 3 years ago

Myself and a couple others I know would also be interested. I think this project is large enough that if it needs extra maintainers just to help that should be a pretty easy ask.

DanyHenriquez commented 3 years ago

I would also volunteer to help out maintaining this project since i use it for free.

adrienzieba commented 3 years ago

Last week couple of Pull Requests have been merged by @mtibben. Sorry for the direct ping but could you take a look at this issue please? πŸ™‚

khanakia commented 3 years ago

@wilhelmeek as i can see has many updates since 0.13.0 and last version was released almost year ago.

So how do i use the latest or master version of gqlgen because the old version has many conflict with the new gqlparser v2.2.0 ?

wilhelmeek commented 3 years ago

@khanakia go get github.com/99designs/gqlgen@master

DanyHenriquez commented 3 years ago

Is master stable? If so should it not be tagged and released? Using master for production could be dangerous.

I would not like to use master in any shape or form.

devotoare commented 3 years ago

@DanyHenriquez from my testing go get github.com/99designs/gqlgen@v0.13.1-0.20210729011107-9a214e80158b works just fine with GQLParser 2.

devotoare commented 3 years ago

@mtibben seems to have just touched the repo a couple weeks ago. Any chance of an update from 99designs here?

jufemaiz commented 3 years ago

Perhaps if 99designs is supportive it could be spun out of direct 99designs ownership to allow for a more formal collective approach to contributing (especially if the workload is too high)?

negz commented 3 years ago

@jufemaiz given the project appears to have been abandoned (based on the lack of movement and lack of reply to this issue) I think a fork may make sense. Unfortunately I don't have the GraphQL knowledge or the bandwidth to volunteer to help.

frederikhors commented 3 years ago

I think the problem is that @vektah no longer works for 99designs and that gqlgen is no longer actively used in the company.

It would be interesting to know more from the company to understand how to move.

Each fork means double work. We need to think about it.

carldunham commented 3 years ago

Yeah, we've already had to move to our own fork. I imagine more folks will as well. It would actually reduce duplicated effort to put together a team to maintain an official fork. I'm happy to spend some time on it, but also am not 100% up to speed on the internals, and have other commitments. There are a couple of Go/Graphql github orgs out there, but they don't seem very active either. Maybe it's just us. πŸ€“

kevinmbeaulieu commented 3 years ago

In that case, it sounds like discussing the creation of an official fork would be worth it. What are folks' thoughts on (a) helping to maintain a fork themselves or (b) supporting the creation of a fork, even if they don't have the time to maintain it themselves.

React with: πŸš€ "Yes I want to help maintain an official fork, and have the time/gqlgen experience to commit to maintaining it in some capacity" πŸ‘ "I don't have time to be a maintainer, but would support migrating from 99designs' version to an official fork" πŸ‘Ž "I think we should stick with 99designs' version of gqlgen as the main implementation" πŸ˜• "There are other Go+GraphQL libraries that I plan to migrate to if 99designs isn't maintaining gqlgen anymore"

a8m commented 3 years ago

Hey all, we (the Ent project) already started discussing forking (or help maintaining) this project on our Slack channel as it looks like it's not maintained anymore, and our GraphQL integration is built on top of it. Of course, helping maintaining this repository is the preferred way, but if this project doesn't have an owner, or there's no one on 99design's side to review/merge PRs, we prefer the fork.

If you want to join this initiative, you're welcome to ping me on our Slack channel.

cc @rotemtam

elfgoh commented 3 years ago

I support forking, and here is a reference to shortcut the learning curve for good practices if an official fork is made

https://github.com/bats-core/bats-core#whats-the-plan-and-why https://github.com/bats-core/bats-core/issues/402

khanakia commented 3 years ago

@a8m this would be great πŸ’―

StevenACoffman commented 3 years ago

At Khan Academy, we have been maintaining our own fork for our own needs for over a year and had some accepted contributions before that. I've reached out to people at 99designs including those mentioned and @mathewbyrne with no response. We are actively using this in production, and would be happy to continue to contribute, but cannot fully resource all maintenance on our own. For example, we carry a big performance improvement: https://github.com/99designs/gqlgen/pull/1285 (link corrected)

frederikhors commented 3 years ago

@a8m I think that a fork founded and "sponsored" by you is the way to go.

You will have all our help!

frederikhors commented 3 years ago

@StevenACoffman what performance improvement?

StevenACoffman commented 3 years ago

@frederikhors Parallel query resolution https://github.com/99designs/gqlgen/pull/1285 (link corrected above)

a8m commented 3 years ago

Hey all, I just want to update you that I discussed with a few folks involved in the Ent project and we decided to try talking with @99designs before forking it. I just emailed @vektah about this and I hope he can help connect us to someone from @99designs.

Like I mentioned above, we prefer doing this process in the right way, and not causing confusion in the community. I think the best thing is that @99designs will either transfer the ownership for this repository to a neutral organization (like FB did with Ent), give contributors write access to triage issues and merge PRs, or archive this repository and point to its new home.

I'll wait a few days for a response from the @99designs team, and if we won't get a response we'll create a new fork and update you. Thanks all πŸ™

frederikhors commented 3 years ago

I just emailed @vektah

@a8m I think @vektah no longer works for @99designs. Maybe you should contact other people?

But I agree with you on everything else.

antimatter96 commented 3 years ago

It would be better to email employees still at @99designs, maybe people working on other repos who can help us establish a proper channel

jufemaiz commented 3 years ago

Ping @mtibben (VP Eng)

mtibben commented 3 years ago

Hey folks, we still consider @vektah the project lead but we've struggled to get engagement and intent from him as he's moved on to other employment opportunities and projects.

To be completely honest with you it's a little bit awkward for us because @vektah has been so passionate about remaining the project lead for gqlgen in the past. We've wanted to respect his role because he did put so much effort into making gqlgen what it is today. So we've held off on asking for new maintainers as we've believed he would return to the project at some point and institute some maintainers himself.

However we hear loud and clear that we're at the point where something needs to change to enable the project to move forward. 99designs would love to continue facilitating the development of gqlgen as it continues to be an important piece of tech for us.

So I'd ask everyone here - how can we at 99designs best facilitate this?

e.g. Is opening up to a bunch of new maintainers (who may not have contributed to gqlgen in the past) the best way forward? What should the criteria for maintainers be? What sort of governance model?

mtibben commented 3 years ago

Out of interest is @benjaminjkraft interested in becoming a maintainer? I'm looking for some evidence of familiarity with the codebase and #1285 has been on my radar for a while

mtibben commented 3 years ago

Also paging @vvakame for an expression of interest

mtibben commented 3 years ago

~I've opened up Discussions to facilitate further communication~ in the gqlgen community and also merged a bunch of low-hanging-fruit PRs

(Edit: discord link below instead)

frederikhors commented 3 years ago

So I'd ask everyone here - how can we at 99designs best facilitate this?

@kevinmbeaulieu wrote https://github.com/99designs/gqlgen/issues/1571#issuecomment-912717044. If you see there are 6 people who have expressed their willingness to be maintainers and 13 to contribute.

Then I also think that @a8m and the working group around him can really make gqlgen splash up.

I'm sorry for @vektah, but whether he returns or not changes little in order to set up new maintainers.

elfgoh commented 3 years ago

Since we are very much at the tipping point now, would it be prudent to set deadline for @vektah to respond before the changes get rolled out, since he is after all the defactor project lead? Say a week or 2?

mtibben commented 3 years ago

I'm sorry for @vektah, but whether he returns or not changes little in order to set up new maintainers.

Respectfully disagree with that @frederikhors. @vektah wrote gqlgen and is still best placed to make decisions about his role in its future. If he does not wish to be involved moving forward, of course that's fine and we can find new maintainers - but that decision is his.

carldunham commented 3 years ago

@mtibben Are you in touch with @vektah? Many of us have been asking this question since November of 2020, and haven't really gotten an adequate response. We would be thrilled to see him come back and keep moving this project forward. We are all here because of his amazing work! However, it has been almost a year since the last release, which has issues that have to be worked around. We have commitments to complete, and have resorted to forks to get our work done.

This project will continue to grow and move forward, it's just a question of whether it does as a million snowflake forks, or as a coherent work of all the contributors.

elfgoh commented 3 years ago

After some sluething, I believe I found his linkedin profile. But I am not in his linkedin network so, can't message him. Anybody in his linkedin network wanna try messaging him?

You probably can find him when searching for Adam Scarr (the name on his github profile)

elfgoh commented 3 years ago

I'm sorry for @vektah, but whether he returns or not changes little in order to set up new maintainers.

Respectfully disagree with that @frederikhors. @vektah wrote gqlgen and is still best placed to make decisions about his role in its future. If he does not wish to be involved moving forward, of course that's fine and we can find new maintainers - but that decision is his.

Giving him benefit of the doubt, maybe he got covid or other health issues, or encountered personal issues. As much as there needs to be balance, we should be careful not to make a decision that can come across as callous πŸ™‡

vektah commented 3 years ago

Apologies for the lack of transparency here, I have been in communication with @a8m, @lwc and @mtibben talking about ways forward.

I dont currently have the time or energy to put into gqlgen. I don't use gqlgen it day to day, so I don't feel the pain of missing features, bugs etc. Even basic triage takes a lot of time, and after working all week I dont have the energy to spend my weekends pushing forward a project that I'm not using. I've had plans to overhaul execution and improve dataloading for ages, but never find the time. I still believe gqlgen is the best way to build graphql servers in go, and I'll help in whatever way I can to distribute some of this work.

I'm not an expert in open source governance, so I think the next step is to get some people together and have a chat. Preferably people who both feel the pain of missing features AND the cost of maintenance/bugs, eg:

If this sounds like you, please join us on discord to work out what happens next.

elfgoh commented 3 years ago

I've had plans to overhaul execution and improve dataloading for ages, but never find the time.

@vektah I think it will help to just post whatever plans you had as github issues for the new maintainers to consider if they are worth pursuing πŸ™‡πŸ»β€β™‚οΈ

DeepAnchor commented 3 years ago

@vektah thank you for all the work you put into this amazing project.

lwc commented 3 years ago

Thank you everyone for their thoughts helping us through this process so far.

After consulting with @vektah we're kicking off an initial gqlgen working group made up of:

All of whom now all have Maintainer access rights to the repo πŸŽ‰

I hope this can be the first step to re-establishing confidence that gqlgen is alive and well - we're just getting started!

softshipper commented 2 years ago

Hi all, @Iwc I would like kindly ask if this project still maintained? The last commit is more than 3 month ago.

Thanks

elfgoh commented 2 years ago

Hi all, @iwc I would like kindly ask if this project still maintained? The last commit is more than 3 month ago.

Thanks

Based on the commit logs at https://github.com/99designs/gqlgen/commits/master, the last commit is definitely < 3 months ago. How did you arrive at more than 3 months?

StevenACoffman commented 2 years ago

@elfgoh I think those of us maintaining the project are quite responsive to pull requests that pass the existing test suite, and fairly responsive to those that don't.

Is there a specific feature or issue you are interested in seeing?

elfgoh commented 2 years ago

@elfgoh I think those of us maintaining the project are quite responsive to pull requests that pass the existing test suite, and fairly responsive to those that don't.

Is there a specific feature or issue you are interested in seeing?

@StevenACoffman I am just helping to respond to @softshipper :) @softshipper maybe you can respond to @StevenACoffman ?

StevenACoffman commented 2 years ago

Sorry @elfgoh πŸ˜…

The autocomplete suggestions on my phone are invariably incorrect, and I should stop using it for these. @softshipper Please let us know what you are looking forward to?

softshipper commented 2 years ago

@StevenACoffman @elfgoh Thanks for your responses. Only wanted to make sure that the project is still maintained. Because I am planning to use it in production.

Thanks a lot