About starting to contribute into Swift

Hello.

I read in this post - On the road to Swift 6 - #91 by GetSwifty that Swift 6 would have its focus on concurrency (among other things) and has me excited. I have been noticing and playing around with Swift since version 1 and recently started working on an iOS project. I have also been looking into Vapor for server side and tried to write my app's backed using Vapor. Unfortunately it is based on NIO and that's async. I don't like writing everything in async style (promises).

I would love to work on the concurrency features (and as such be a part of the Swift community); while I have 8 years of experience in app development, I have never worked on a core library or language development so far. Any pointers in the right direction would be really helpful.

Thanks

PS: I was not sure which category to post this into, so I selected this because it looked like most relevant to me.

2 Likes

Take a look at the How-To Guides in the docs, some of them newly added or expanded, and work through some starter bugs or a smaller feature you want, to get familiar with building the toolchain. For example, it annoyed me that there was no way to skip failing tests with the Swift package manager, so I added that last month, should be in the next release.

Once you're comfortable contributing, take a look at the Concurrency Manifesto and recent pulls and see if there's some way you can contribute.

2 Likes

You can contribute just by being a member of this community. For example, you could give your opinion about proposed language/standard library additions over at #evolution:proposal-reviews, or discuss ideas over in #evolution:pitches. And of course, helping other developers in #swift-users is a great way to contribute.

As for concurrency: we're expecting a manifesto from the core team in the near future. The document linked above is kind of old, and it would be better to wait. Once it arrives, you can be sure it'll be a hot topic of conversation on those subforums I linked to above!

2 Likes

That readme you linked me to is great. I will go through that. Thanks.

That looks like a good path to start off, especially from where I am.