Today, Apple made a crucial move by announcing that later this year, the Swift programming language would be available under an open source — to the rejoicing of Apple developers everywhere.
Apple’s Swift has seen huge uptake by developers in the year it’s been available, thanks to its early reputation for being easier to write than Objective C, the original language for creating iOS apps. It also results in faster-running apps.
The announcement got the loudest cheers at today’s WWDC keynote, beating out a new iOS, a new Mac OS X, and Apple’s new music streaming service.
I love that the WWDC announcement that got the most cheering and applause was the announcement that Swift is going open source
— Bob Danek (@bobdanek) June 8, 2015
Right now, on Reddit’s 267,257-strong Apple subreddit community, the announcement that Swift would be open source is the number-one most upvoted thread, ahead of every other piece of Apple news.
Just look at this Reddit comment thread and see just one example of how happy developers are:
The reason for that excitement?
While a lot of early adopters in the Apple app-developer world have had some success with Swift, “open source is table stakes for consideration” for most developers, says Stephen O’Grady, an analyst with developer research firm RedMonk.
The idea of “open source” is an incredibly important idea to software developers, because it means that they can understand how the technology works under the hood, down to every line of code, then make their own improvements that they can submit to potentially get included in the main project. It gives a single developer the chance to make a huge impact on a popular piece of software.
Because of that participatory aspect, these projects can attract communities in the thousands dedicated to making that software better.
For Swift, which still has a long way to go before it can be considered fully featured and ready to replace its decades-old forebears like Objective-C, that can make all the difference in the world.
Plus, it means that developers can repurpose the programming language to do whatever they want with it. Before, developers were limited to using Swift to make apps for iOS and Mac OS X.
“We think it would be amazing for Swift to be on all your favourite platforms,” Apple says in a blog post announcing Swift 2.0. Apple also says “contributions from the community will be accepted — and encouraged.”
Now, developers can take the source code and potentially use it for things like writing web apps that run in the browser — which would actually put it head-to-head with Google’s Go programming language, which has been open source since 2009.
“Swift going open source will remove an important obstacle for some subset of potential Apple developers,” says O’Grady.
How open is open?
There are still a few questions, though.
A successful open source community, like the kind Apple is trying to make with Swift, doesn’t just happen. Like any other community, there need to be carefully enforced rules and procedures for decision-making, or else mere anarchy is loosed on the world.
Apple simply can’t integrate every line of code suggested by its community into Swift. But the question of which code it does accept from the community of dedicated Swift fans is going to have a huge impact on the future of the language. Too much, and Swift could start to lose its focus. Too little, and Swift developers will feel left out and take their talents elsewhere.
“There are also questions about how much control Apple will cede to the broader community. Success will hinge on whether people feel they can influence the direction of the language and tools,” says Jonathan Karon, Senior Manager of Mobile Engineering at New Relic, a company that makes software to help developers monitor and maintain their apps.
For instance, Google’s Android is indeed released as open source.
But the final versions, the versions that are released to handset manufacturers, with all the cool new features? Those are all Google. Developers can take that and do what they want with it, but their changes very rarely make it back upstream to Google.
This is why companies like Cyanogen, which makes its own operating system derivative of Android, likes to say that they have to “take Android away from Google.“
And while Apple has released software to open source before, including some core bits and pieces of the Mac OS X operating system, none of those open source releases have attracted quite the same energised community as Swift.
“In short, [releasing Swift to open source is] a good move and one that will remove potential obstacles, but questions remain in precisely how they govern the project moving forward,” O’Grady says.