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

Please help with pull requests! #3815

Open
gravitystorm opened this issue Nov 23, 2022 · 15 comments
Open

Please help with pull requests! #3815

gravitystorm opened this issue Nov 23, 2022 · 15 comments
Labels
help wanted The maintainers are looking for help from additional people meta Related to this repository or workflows

Comments

@gravitystorm
Copy link
Collaborator

We have a huge number of open pull requests, and it's unfortunate that so many of them stay open for so long before being reviewed or merged. I'd like to change this situation.

The main bottleneck is that we have more pull requests being created than the maintainers can review each week. Reviewing PRs is often time consuming, and with the best will in the world there's only so many that I can manage each week. It's also often a bit emotionally draining for me, since I don't enjoy saying no to PRs, or asking other volunteers to do even more work (e.g. making more changes to their PR). But rather than having fewer PRs opened each week (which would be a bad situation), I would like to get more reviews completed each week instead.

The best thing that you can do to help is to review someone else's PR. Don't worry, there's over 70 open today, I'm sure you can find one of interest to you! Please take a look at it, read through it, have a think about the problem and the proposed solution and see what comes to mind. Maybe you'll spot that there's actually an underlying problem that should be solved instead (#3731 is a great example of this), or you would have a different approach if you did it yourself, or you know some of the guidelines for making good PRs and can help other contributors shape up their PR. That way the PR will become easier for the maintainers to review and merge when they get to it.

All of this helps share the workload for the maintainers. And it's the main path to becoming a maintainer yourself! I would also love to see a few more maintainers in the team.

I'm happy to help anyone who is helping out with the work of reviewing PRs, since I think it's the main thing that is limiting our progress right now.

@gravitystorm gravitystorm added help wanted The maintainers are looking for help from additional people meta Related to this repository or workflows labels Nov 23, 2022
@lectrician1
Copy link
Collaborator

lectrician1 commented Nov 27, 2022

I personally do not have the motivation to review PRs because I don't know the site architecture, Ruby, and really am only concerned with features that I would like to be implemented. I'm sure that many others in the community are in the same position and I don't think we should expect them or even you or @tomhughes to continue to voluntarily help the website and other OpenStreetMap software to remain up-to-date with proposed changes.

To me, given the number of PRs that need to be reviewed and want from the community for large software changes for the site to be made yet nothing happens, it would make sense to have a paid maintainer/feature developer for the OpenStreetMap website and possibly other OSM software that needs to be kept up-to-date like the Wiki. Thoughts?

@tomhughes
Copy link
Member

How is that supposed to work? That just makes the problem worse by ensuring that there will be even more PRs for us to review unless you are proposing that this developer should be able to push changes without review?

The big problem with the current review queue is that a lot of them are client side so I've mostly been leaving them to @gravitystorm to review - rails side stuff I can usually manage to review so long as it's not massive.

@lectrician1
Copy link
Collaborator

proposing that this developer should be able to push changes without review?

Hm true. That wouldn't be good. Well, to solve the software development deficiency, maybe the EWG should make more work on the site project grant-based like they are doing right now with the block feature. I don't think that would be reasonable for smaller site improvements though. If we'd like small improvements to be made too, an additional developer could be hired and the maintainer could then review their code.

@pnorman
Copy link
Contributor

pnorman commented Nov 28, 2022

an additional developer could be hired and the maintainer could then review their code

The issue raised above is that the maintainers can't keep up with the code reviews required, and needing more non-maintainer reviews. Your suggestion would not help with that, in fact, it would increase the workload.

@lonvia
Copy link
Contributor

lonvia commented Nov 28, 2022

You could still pay somebody to do simple PR triage as suggested by @gravitystorm. With PRs dating as far back as 2013 there is a lot of boring groundwork of finding out if it is still workable/relevant. In fact, it might be a good way to get somebody started that can then grow into the role of paid supporting developer.

@lectrician1
Copy link
Collaborator

The issue raised above is that the maintainers can't keep up with the code reviews required, and needing more non-maintainer reviews. Your suggestion would not help with that, in fact, it would increase the workload.

Well I'm saying you would have a paid maintainer in-addition to a paid developer.

@tomhughes
Copy link
Member

Maintainership is something that needs to come from the establishment of trust over a period of time though - it's not something you can just appoint somebody to on a whim.

The existing maintainers will need to be happy that any proposed new maintainer has similar goals and expectations basically - you can't have code maintained by multiple people if they are making decisions at odds with each other.

@mmd-osm
Copy link
Contributor

mmd-osm commented Nov 29, 2022

I don't believe reviewing random pull requests is an effective way going forward. I doubt it will add much value, even worse it might only add more noise without getting anything done in the end. Oftentimes, I find myself wondering, what maintainers think about a particular pull request, if it's even worthwhile reviewing, when in the end, no one wants that feature.

I'd like to propose a different approach where we can focus on a very limited set of pull requests or one topic to be completed in a ~3 week period. Then tell everyone, hey, this is what I'd like to work on, please help reviewing, add your comments. Work packages (or backlog items) have to fit into the 3 week time window, otherwise they're too large, and not a good fit. Use Github projects to communicate this planning, assign pull requests to different stages as needed.

I also agree you should urge EWG to find more resources to work on these topics. There's much more topics beyond reviewing PRs. The new microcosm could benefit from some UX experts, or find someone to sort out what features are useful or relevant for the site, as an example.

@gravitystorm
Copy link
Collaborator Author

I just want to say here thanks to @pnorman and @mmd-osm for their reviews over the last few weeks, I've found them very helpful. In particular it's helpful to know when a PR might have been overlooked and is otherwise straightforward to review or ready for merging.

I don't believe reviewing random pull requests is an effective way going forward. I doubt it will add much value, even worse it might only add more noise without getting anything done in the end.

Well, I disagree with you there! It does add value, since I think you have good judgement. But more importantly, you often highlight things that need dealing with or look at something from an angle that the OP might not have considered. So I don't think you would be just adding more noise.

Then tell everyone, hey, this is what I'd like to work on, please help reviewing, add your comments.

I think this sentence is directed at the maintainers, as opposed to the OPs, right? As in you think a maintainer could shortlist one or more PRs for closer inspection, we all then focus on just those PRs? It's an interesting idea, and not an approach that I've considered before, so I'll have a think about it. My first concern is that it treads close to asking volunteers to do work that they aren't interested in. For example, if a reviewer normally concentrates on javascript stuff, and I don't put any javascript-related PRs on the shortlist, could they then be discouraged from participating for those three weeks?

Hopefully we'll reduce the number of PRs in the backlog where such shortlisting and planning overhead wouldn't be necessary.

@gravitystorm
Copy link
Collaborator Author

I personally do not have the motivation to review PRs because I don't know the site architecture, Ruby, and really am only concerned with features that I would like to be implemented.

Ah, that's unfortunate. It would be great to have a think about that approach, and maybe try dipping your toes into parts of the project that you are less familiar with - or at the least, PRs by other people that are touching the parts of the codebase that you are already making PRs for.

If everyone took up the approach of only being concerned with the features that they are personally interested in, then that would be very limiting in what would get done - I'd certainly be reviewing far fewer PRs, for example! Part of teamwork is sometimes doing a little bit of something you aren't particularly interested in, in order to help each other out with their own priorities. After all, someone else has to help you with implementing the features that you are interested in too, right?

@angoca

This comment was marked as off-topic.

@tomhughes

This comment was marked as off-topic.

@woodpeck

This comment was marked as off-topic.

@gravitystorm
Copy link
Collaborator Author

Please help us keep this issue on-topic. The topic for this issue is how to help us with processing our backlog of pull requests. It's not an appropriate place to discuss how to implement new features.

@Firefishy
Copy link
Member

Tiny contribution. Attached is a list of the current tickets and PRs as of today. Others may also find this useful to parse via a spreadsheet:

openstreetmap-website_issues.csv

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
help wanted The maintainers are looking for help from additional people meta Related to this repository or workflows
Projects
None yet
Development

No branches or pull requests

9 participants