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/3172 +
performance 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