Apple’s Swift Programming Language Now Open Source

Apple makes Swift open source, so its influence will reach beyond the walled garden.

Apple introduced a brand new programming language last year that’s meant to make coding an app for iOS or OS X easy to do, and today that language is taking a major step: it’s going open source. What was an even bigger surprise was that earlier this year during WWDC 2015, Apple’s SVP of software engineering Craig Federighi promised that Swift will eventually be made open source. Apple introduced Swift in summer of 2014 with the intention of one day making Swift open source, replacing Objective-C as the de facto programming language for app development for iOS, OS X, watchOS and tvOS. “We are excited by this new chapter in the story of Swift. After Apple unveiled the Swift programming language, it quickly became one of the fastest growing languages in history,” the Swift team said in a statement. “Swift makes it easy to write software that is incredibly fast and safe by design.

Before last year’s rollout of Swift, the company used Objective-C, which was completely closed off—developers couldn’t modify the language at all. Now that Swift is open source, you can help make the best general purpose programming language available everywhere.” You can download Swift officially at Swift.org.

This is likely meant for Apple’s enterprise partners, like IBM, who will now be able to create the consumer-facing portion of apps in Swift and have them talk to Linux servers that speak Swift as well. The site is currently being hammered on news of the announcement, but there are various resources like Getting Started guides, official documentation and other things on the site that will help anyone keen to get their hands dirty get up to speed on Swift.

But by open-sourcing the language and creating a database at Swift.org, Apple is opening the door for developers to modify Swift to create cross-platform apps—and that could be good news for people who’ve never even used Apple products. The lack of an open-source license hasn’t slowed Swift’s adoption — StackOverflow surveys show interest in the language continues to be high — but it has limited it to the Apple community. While you shouldn’t expect Apple to work on further ports of Swift itself, open sourcing its code means that other developers could choose to bring it to Windows and Android, too. The programing language is being released under the Apache 2.0 license with a Runtime Library Exception license, which means that a developer will be allowed to use and distribute Swift for any purpose without needing to pay royalties to Apple in the process.

With its support for object-oriented programming and whole module optimization, Apple has previously described Swift as “a successor” to C and Objective-C. Developers who want to be in the App Store will still have to pay Apple’s fee and use the official version of Swift; that version will be behind the open source version, periodically syncing up with it, likely as new additions become stable. Apple hasn’t released specific figures on how much uptake Swift has had with developers, though it does cite a few examples — like Yahoo Weather, LinkedIn, and the to-do list app Clear — that have been incorporating it. Although the nature of the open-source license and the community resources mean Swift can come to other platforms, the initial platform Apple is focusing on when opening Swift up is Linux.

The language is supposed to be faster than what developers previously had to use, Objective-C, while also building in protections against common issues and errors. On the surface, it may seem odd to eschew Windows for an operating system with much lower market share, but in the developer world, it makes complete sense. Right now, developers can write their client code in Swift but if they want to write code that executes in the cloud, they need to use something else.

The real test Apple will face with open-sourcing Swift is integrating into the existing Swift developer community as well as the broader open-source communities. Apple says its governance model with Swift will be similar to the way the compiler LLVM is governed (this makes sense as the creator of Swift is also the original author of LLVM) wherein there will be code owners that oversee certain aspects of the project. Right now, those code owners are Apple employees, but that will change over time and the plan is to create new code owners based on merit and contribution — rather than employer — as is currently the same with LLVM.

Still, it will be important for Apple to be open with the broader non-Apple community — not to mention the cadre of Swift developers — as it builds out the language. When large companies steer open-source projects, there can often be conflicts between the whims of the corporate overseer and the needs of the greater community.