I've been thinking about the post-#S4TF chatter. And how we might form stronger community and inter-corporate support for ML & numerical Swift features and libraries.
A couple points of note:
S4TF. The concepts around differentiable and ML Swift in the broader industry were too closely associated with the work at Google. Obviously it originated there. But after they pulled the plug (ahem... no surprise), the broader community over-associated it with Swift itself. Even though true success meant that there would be no tensorflow in S4TF at the end of the day. And that mostly held up with with the milestones of differentiability and introspection getting mainlined.
I'm super thankful for the S4TF for getting these features rolling. That said, Today our internal Swift team building libraries in numerical, introspection, and differentiable Swift is over 10 people and growing. I suspect we are not the only company building features should be rolled into canonical libraries.
Numerical Computing. I'm a big believer that Pythons success was built around the "1-true-library approach". If you are doing numerical computing, you won't spend a week trying out packages on github... you just use numpy.
We've seen the power of "blessed libraries" over in the Server group. SwiftNIO became a standard the moment it was announced. But there a speed of development problem with the over-reliance on the core Apple team driving all these libraries too. For example the Swift Numerics library has had a bunch of interesting pull request sitting on it for a year. I assume there are other internal priorities. But externally it's not clear what the roadmap is, should be, or how to contribute.
- Establish a ML/Numerical Working Group
- Have that group outline a roadmap of modules, features, evolutions
- Coordinate efforts on a set of core Swift Libraries
- Have a review process that can move pull requests that are on roadmap, without bottlenecking behind a single contributor.
I'm curious to hear from the rest of community and the core team