Apple will release the source code underlying its Swift programming language, a move that could broaden the user base for the new language.
When Swift becomes open source later this year, programmers will be able to compile Swift programs to run on Linux as well as on OS X and iOS, said Craig Federighi, Apple’s head of software engineering, during the opening keynote of Apple’s Worldwide Developers Conference Monday in San Francisco.
The source code will include the Swift compiler and standard library, and community contributions will be “accepted—and encouraged,” Apple said.
Introduced at last year’s WWDC, Swift was developed by Apple as a potential replacement for the Objective C language that most developers have used to write applications for the Mac and iOS devices. Based on the C programming language, Objective C can be cumbersome and lacks many of the features of more modern programming languages.
Unlike a lot of tech companies, including Facebook and Google, Apple hasn’t released much of its own software as open source in the past.
“The thinking at Apple is beginning to change,” said IDC analyst Al Hilwa. The company realizes that “open source, and a strategy that will send Swift to other platforms, is a path to better adoption.”
“Open source has a lot of benefits for vendors,” he said via email.
It can provide greater visibility for a product and generate good will in the development community. Microsoft, for one, has benefitted by open sourcing several pieces of infrastructure, including key parts of its .Net framework.
Apple wants Swift to find a home beyond Apple. Being open source could potentially allow the language to be ported to other platforms, such as Windows.
Another potential benefactor might be Google’s Android OS, given that it’s based on Linux—though Android’s supporting libraries are different than those in the standard Linux kernel supported by Swift.
Even confined to Apple products, Swift appears to have done well in the year since its release. It’s now in the top 20 of the world’s most widely used languages, according to the Tiobe Index, a monthly survey comparing the popularity of programming languages.
Apple also announced that it is preparing to release version 2 of Swift, which will feature improved error handling, additional protocol extensions, and modular optimization.