Good First Issues

Hi, a bit of an irregular thread - I've been stalking the forums for a few months now because I want to contribute, but I have zero open source experience! I'm really excited about the recent concurrency initiatives and have decent experience with RxSwift/Combine, so I think this project would be a great place for me to start. :smile:

I've done the preliminary steps of cloning the repo and executing the unit tests, but taking a look at the issues on GitHub I'm not sure where to begin. I was hoping for pointers on what I should do - even if it's just giving feedback to pitches or writing documentation.

Thanks!

1 Like

If you're looking for easy bugs to fix, there are a few helpful JIRA filters on this page. Look under "All Starter Tasks" or "Open Starter Bugs". Another idea is to read through a lot of documentation and send PRs to fix typos as you come across them - something I have done.

https://bugs.swift.org/secure/ManageFilters.jspa?filterView=popular

2 Likes

:purple_heart: new contributors!

So the swift-async-algorithms package is using GitHub issues for tracking bugs. Right now most of our focus for the early/short term of things is going to be getting some of the initial guides to be thrown up as proposals to be reviewed on the forums. So most of what is work to be done is either reviewing stuff, transforming guides into proposals, bug hunting, and performance testing/optimization. The pitches/proposals are definitely an area that we need experts from other frameworks to chime in and give feedback. The first one in the hopper is [Pitch] Promotion of `Task.select` from swift-async-algorithms to Swift Concurrency.

Since you have Rx/Combine experience then perhaps one good area of work is to work on some comparisons between what Rx or Combine can do and what swift-async-algorithms can do in the arenas they are similar. And then as a follow on task start to build some benchmark comparisons for memory usage, throughput, or other metrics and build some way of visualizing those to compare them to show the areas that we need to improve upon.

Some of the performance work will involve profiling and identifying the root causes of where the bottlenecks are; since we have the capability of interoperating with Swift as the language fundamentals we might be able to isolate things that benefit not just swift-async-algorithms but all swift concurrency (or heck even all of swift itself!).

Another area that really could use some help is filing bugs - I try to keep an eye on things on our bug list and help categorize, some issues I may be able to provide some hints to a direction of investigating to turn it from a potentially intractable bug to something that might be well suited for starting.

2 Likes