Craig Federighi talks open source Swift and what’s coming in version 3.0

Andrew Cunningham, writing for Ars Technica, had the chance to sit down with Apple Senior VP of Software Engineering Craig Federighi to discuss Apple’s move to make Swift open source.

“As they’re working day-to-day and making modifications to the language, including their work on Swift 3.0, all of that is going to be happening out in the open on GitHub.”

So instead of getting a big Swift 3.0 info dump at WWDC 2016 in the summer and then digging into the Xcode betas and adapting, developers can already find an “evolution document” on the Swift site that maps out where the language is headed in its next major version.

Apple is definitely making a big effort here to evolve Swift (a relatively young language) with input from developers.

Making Swift open source and developing new versions out in the open makes it easier for developers to see what Apple is doing, but it also makes it easier for them to contribute to the project directly. Apple says that developer feedback has already been instrumental in developing features and taking the language from beta to 1.0 to 2.0, but at least theoretically, the company will no longer be the sole arbiter of what does and doesn’t end up in the language. Developers can submit pull requests, and Swift.org outlines the processes that should be used when developers want to propose changes.

“When you look at many of the language features that we announced in Swift 2.0 that are now out in terms of error handling and the guard statements, availability, controls, and so forth, these were all based on that dialogue that’s been ongoing with developers who’ve been adopting Swift in their real applications,” Federighi said. “With Swift being developed out in the open in open source, we think it’s going to deepen that interaction considerably.”

Fantastic collaboration. This will only make Swift a better language. It’d be great if Apple could extend this approach, find other ways to bring their developer community into the mix.