Requesting approval to work on some issues

44 views
Skip to first unread message

Adnan Hasnat

unread,
Oct 14, 2024, 1:59:58 AMOct 14
to guava-discuss
Hello Guava contributors, I hope you're all well,

I and a few friends are new contributors and have been looking at the Guava repo for some issues that we may be able to contribute to for a (week-and-a-half-long) uni software engineering project, and we would like to present them here to ask if 1) you believe they are relevant and worth working on, 2) to request permission for us to work on them, and potentially a reviewer, and 3) if the issues are not relevant, any alternatives you'd be happy with us working on instead.

I am deciding to post on here because the HowToContribute guide says to message here regarding potential improvements, and I hope that this is appropriate. I have read many issues on the repo where new contributors blindly comment "can I work on this? thanks" without considering whether the issue was approved (clearly not having read the HowToContribute guide), and don't really properly engage with the project. I would like to improve on how others have done things and come at this with the desire to make a genuine attempt to contribute to Guava with what time and resources we have and engage openly with the community. And not just get a grade :).

Here are the issues we are considering.
  • RateLimiter is not accurate #5296 - correctness bug https://github.com/google/guava/issues/5296. This issue has been updated recently by a maintainer and remains open, with comments indicating this problem still occurs. We would like to write a test that confirms the behavior and potentially try solve it.
  • Graph collectors? #3754 - new feature https://github.com/google/guava/issues/3754. This is an old issue and we're not entirely sure if it hasn't been already resolved by now, but maintainers seemed to have been rather positive about it being desirable. We're happy to try write an implementation.
  • Make Iterators.mergeSorted() stable #5773 - new test https://github.com/google/guava/issues/5773. Based on the discussion on this issue, it seems like while there was some disagreement on whether this problem was even really an issue, the final comment from maintainers is that it requires tests to be written to confirm a problem occurs. We'd be happy to write such a test.
  • Iterators.MergingIterator can be constructed more efficiently #3855 - performance bug https://github.com/google/guava/issues/3855. + Will it be performant to use bufferedOutputStream in FilebackedOutputStream  https://github.com/google/guava/issues/3172performance bug https://github.com/google/guava/issues/3789. These are all issues indicating possible performance bugs; we'd like to investigate this through performance testing and report findings, and potentially create fixes if there really is an issue.
  • Add putEntry Method to Multimap #5886 - minor new feature https://github.com/google/guava/issues/5886. Maintainers seemed initially happy to let this be worked on, though it stagnated and later doubts were expressed about whether it is still a desired feature; it seems like a relatively simple addition so we'd be happy to take it over.
  • Method to determine if a Range isConnected() to a RangeSet #1908 - new feature, very old issue) https://github.com/google/guava/issues/1908. This issue is very old, but from checking the API it was never implemented. We're willing to take it over and try it out.
If you believe these issues are not appropriate, we would highly appreciate any suggestions for more important issues to contribute towards!

Once we've reached some agreement, I can let you know about our team members' Github usernames so we can be formally assigned.

Thanks,
Tridecatrix

Adnan Hasnat

unread,
Oct 15, 2024, 1:36:10 AMOct 15
to guava-discuss
On second thought actually, given our timeframe and given the overheads involved, I think this is a bit too ambitious of a task for us, and we're also asking too much of the maintainers with regard to review turnaround. We might just reconsider our options. I'll leave this post up since it's gone to people's inboxes already and as you guys might still benefit from discussing the issues I have linked. Thanks anyway!

Chris Povirk

unread,
Oct 15, 2024, 3:36:00 PMOct 15
to Adnan Hasnat, guava-discuss
Thanks, that's probably your safest bet. I'll consider this to be another vote for us to publish a list of issues that might benefit from PRs.

Of the ones that you mentioned, #5773 is the one that we've previously talked about as ready for a PR. Here is a partial list of ready-for-PR issues from a discussion earlier this year:

Adnan Hasnat

unread,
Oct 17, 2024, 6:40:45 AMOct 17
to guava-discuss
While I'm here, I will say it would be nice for would-be contributors if there was a label for ready-for-PR issues so it is possible to filter for them. Currently looking through issues it is sometimes hard to tell just from the discussion in comments whether it was actually accepted for being worked on. Perhaps the P0/P1/P2/P3/P4 labels are relevant and meant to be for this purpose (tbh I wasn't able to figure out what they meant) but dunno.
Reply all
Reply to author
Forward
0 new messages