Swift forums are live! This is a great change that many of us have been waiting for a long time and that marks a new era for the Swift community. I would like to take this moment to reflect on the state of Swift and express some of my wishes for 2018.
The mailing list was not good enough for a lot of people and that had the risk of cutting of a lot of smart people from the conversation. Making it easier to share the conversation will open the community to a wider spectrum of people with different interests and experiences.
I’ve been following the list since day one and I love it. But that’s me, and it’s because I probably enjoy the conversation around languages more than the usual developer. The really sad moments for me were when I saw people on the community complain about things after a change was done… specially when they didn’t get involved in proposals, and even if they were well known developers and really involved with the community. That was an issue. If not even the well known people in the community wanted to read the mailing list, how could we expect to receive input from people outside the stablished community? You shouldn’t have to be in the list 24/7, that’s fair, but we should make it easy enough for at least get more people involved in the proposals themselves, when the review round is opened. I think that the new forums will help tremendously with that.
And spoiler alert, they already have.
Since the introduction of the forums we’re living a golden age again, like when the language was open sourced. A lot of ideas are being thrown there, I just hope that the community pursues bigger goals than just throwing ideas and we see more collaboration and work towards specific goals. We don’t want to be again in a situation where we expect the Core Team to do all the work.
I would also keep it mind that being so open and lowering the bar for communicating ideas and opinions is great, but is not always something good. Sometimes having a closed group of experts come up with a good solution is also a viable solution. Other communities have realised that and occasionally do a small council to explore a specific solution space. I’m not saying that is something Swift needs, we just need to keep it in mind, sometimes changing the process is better for our end goals than trying to follow it strictly.
One thing I really miss in the forums is a way to quickly know somebody background. I would like to see badges for Core Team members, even split by team, and even for contributors. I don’t think it needs to be seen as something discriminatory, and GitHub has a similar feature that it’s used for good.
For all of this I would like to thank the everyone involved in this migration to have pursued this change that will have such a good impact in the community. But I would also like them to keep doing more for the Swift community.
Let's learn from others
I’ve been following Rust for a while, it’s not a secret that I love what they are doing over there (things like Tokyo and the 0-cost abstractions are really exciting), and I have to say that sometimes I feel really envious of their community. It seems more mature that ours in some aspects. Swift is big, but let’s not forget that is mainly thanks to iOS. That’s not a bad thing per se, but there is a lot of innovation happening outside that platform that Swift can miss if it doesn’t do a better job of attracting enough talent to pursue those different goals.
Rust community doesn't come for free, they have great initiatives to cultivate it. Things like showcasing libraries or posts help bring together community projects.
For example they have a separation in their forums between questions about the language and announcements of projects, conferences, and other IRL stuff. That makes it easy for people to get to together on their own in an official community place. I think this could also be good for Swift. A lot of discussion lately has been around people wanting more stuff in the standard library, but the core team view is that it would be much better if new libraries are done outside the core language toolchain. To accomplish that I think that any help on bringing people together would be good. This is something that has already been discussed and the team that manages the forum is open to include this category in the forums if it becomes necessary.
A forum is nice but people hangs out all day in Twitter. And that’s something the Swift official twitter account could improve. The Rust Twitter account retweets and gets involved with the community, you just need to see their recents tweets. Just compare the number of tweets as of today: Swift 122 vs. Rust 9.805. More is not always better but in this case it directly translates to more involvement with the community and a bigger spread of the language. We were all really surprised when we saw an official twitter account and even a blog! We were not used to this kind of thing from Apple, and we all really appreciate that. But I feel that we could see more from these Swift accounts.
And finally the Rust team asked for direct involvement and feedback from their community with a call for community blogs to see what are the interests of the community in the beginning of this new year (you can read about it in Read Rust). Of course the Core Team has a clear idea on the direction the language needs to go, specially considering the limited amount of resources they have, but a call for feedback like this always makes the community feel more welcomed.
More Swift everywhere
Keeping in mind that the Swift team is focused in big and important features for the upcoming versions I just wanted to list my wishes in this beginning of 2018, wishes for what I would love to see the language and community aim for. Obviously one could consider that there are more important things to do before, and that’s the reason I call them wishes :P In an ideal world with infinite resources I would love to see this done so by the end of the year so I could profit from it ^^
You could summarise my wishes as “Swift in more platforms”. I would love to be able to develop for Windows and Android with a good and supported workflow, at least libraries (UI is another big best). I know it can be done somewhat today, but not with a supported and simple workflow. Those two platforms are probably good things to aim for, but I would also love to see Swift start shining in WebAssembly and embedded systems.
Of course these are not things that the core team has capacity to do, as I said they are busy giving us more important improvements. That's why we need to welcome a bigger audience and attract developers that are so interested in this stuff that help us get there.
Petitions to the Influencers
Of course Swift is still evolving and that’s a thing I love about it. But I was listening to a famous podcast asking for it to be ‘stable’ already. Well, for me it already is, and being so negative about it won’t help anyone.
I was the first that tried to avoid writing Swift in big Apps some time ago. For my personal stuff I've been wiring Swift since day 1, but for big and important apps I was totally against it. And I lost that battle in one occasion so believe when I say how painful it was, I'm still paying for that. But by now things have changed a lot. It’s more stable and the compiler team is more conscientious about not breaking source compatibility keeping support for the previous version in the compiler itself, which is a big win. And that's something that I wouldn't mind to see them break sometimes, even knowing the consequences. I would love to keep seeing bold moves and changes in the language, if it’s for better.
I honestly think that is time to stop having doubts about Swift in production, specially if you’re in an influencing position. You're not doing any good to the community.
Finally I would like to ask the community, specially those influencers that talk about the language with big audiences, bloggers, podcasters, teachers... stop relaying on Apple and putting it like this is an Apple project. Yes, of course it started at Apple and they are the main contributors, but there is a lot of progress being done thanks to outside contributions and we all hope this keeps improving. We all appreciate the work that Apple has put into this but we can more accurately thank ‘The Core Team’ as any other language community does. So I would like to ask everybody to stop mentioning “Apple” when they actually mean “the core team”. If we want to see Swift outside the fruit platforms we need to make the rest of the world understand that this is not owned by them. A lot of people doesn’t know that Swift exist and even less that it’s open source and it’s not just another apple product. Let’s talk properly.
There is a bright future ahed of us
I wish and hope for the best in this 2018, for a great swifty year!