Apple has open-sourced its Swift programming language, used to write apps for its ecosystem of products.
The full package, including compilers and package managers, Swift software libraries, documentation, and tutorials, has been released under an Apache 2.0 open-source license. The code has been uploaded to GitHub and everything else is available at the Swift.org address.
The decision is a move away from the typical Apple approach of tightly controlling all its products, but it is one that the company flagged up back in June when VP of engineering Craig Federighi told the WWDC gathering of developers that the next version of Swift would be open-sourced.
The move is recognition of a changing marketplace where apps are becoming their own brands and people want and need them to be available across as many platforms as possible. It has become increasingly difficult for Apple to insist on the use of its own software for its products, especially when it has created several new operating systems for its Apple Watch and Apple TV.
With a number of new programming languages and frameworks out there, some of them already open-sourced like Google's Go, Microsoft's .NET, and Mozilla's Rust, moving Swift into the open-source camp is likely to boost its use and hence its longevity: which is good news for Apple.
The decision could also open up apps developed for iOS to work with competitor operating systems like Windows and Android, just as Microsoft's decision to open-source .NET opened it up to working with iOS and OS X.
In general, software developers have welcomed Swift – which was only put out to testers around 18 months ago. It is a C-like language that's more modern than its predecessor Objective-C, but as with any new language it has suffered from a lack of broader knowledge and early bugs. Now perhaps the wider community will give Apple a hand at improving it.
There will be some issues coming up: Apple has already warned that in the shift from Swift 2.x to Swift 3.0 – planned for Fall 2016 – there are going to be some changes that may break Swift 2.x implementations.
A note on the language's evolution states: "Swift 3.0 will not provide full source compatibility. Rather, it can and will introduce source-breaking changes needed to support the main goals of Swift 3.0." Apple has also written out interoperability with C++ in version 3 of Swift. So there is still some work to be done.
Plus of course, even though Apple is open-sourcing Swift, it doesn't mean it has taken its controlling hand off the tiller. The company will still lead development on it and will retain its own official form of Swift, pulling in the changes it likes. Developers will still have to pay to be able to use the official version and so have their apps added to the App Store.
GitHub will be used to host the Swift code and the Swift.org website will deal with bug tracking, documentation, tutorials, and updates – i.e., build a developer base. ®