Apple announced this week at the WWDC it will open-source Swift, showing how Apple sees this emerging programming language is a way to futher build a developer community in its own image as the company competes with Google, Microsoft and other giant-sized competitors in the Internet of Things arena.
At the WWDC, the company said Swift would be open-sourced with compilers for iOS, OS X and Linux by late this year. The Swift source code will be released under an OSI-approved permissive license. It will include the Swift compiler and standard library.
Swift is an example of a programming language that has characteristics of static and dynamic capabilities. It integrates with, and is considered, the eventual successor to Objective-C, the programming language for iOS and OS X. Swift is designed to work side-by-side with Objective-C.
Apple Swift has characteristics of several open-source languages. It is compared to Scala. It is, in part, inspired by Python. There are aspects to it that resemble Rust, albeit at a higher level. The list goes on.
But what really stands out about Swift is how much developer love it is getting. Since its launch last year, Swift’s growth has been unprecedented, as noted in the keynote, citing research from RedMonk’s annual ranking of programming languages.
Here’s what else O’Grady had to say in his post:
When we see dramatic growth from a language it typically has jumped somewhere between 5 and 10 spots, and the closer the language gets to the Top 20 or within it, the more difficult growth is to come by. And yet Swift has gone from our 68th ranked language during Q3 to number 22 this quarter, a jump of 46 spots. From its position far down on the board, Swift now finds itself one spot behind Coffeescript and just ahead of Lua. As the plot suggests, Swift’s growth is more obvious on StackOverflow than GitHub, where the most active Swift repositories are either educational or infrastructure in nature, but even so the growth has been remarkable. Given this dramatic ascension, it seems reasonable to expect that the Q3 rankings this year will see Swift as a Top 20 language.
The move to open-source Swift embodies Apple’s strength as a hardware provider. But now we face a changing hardware culture that makes a smartphone seem primitive in comparison to a new generation of devices that operate as a network of nodes. Data centers, the servers in them and the smartphones we carry are obvious examples of nodes. A house, or the front door, could be nodes that are actually programmable. In this new world, what role does Apple play and how does Swift factor?
To continue its success, Apple must maintain its excellence as a hardware provider as cars and other machinery become programmable. If it succeeds, Apple will have unprecedented success. It will achieve more as a hardware company than we can ever imagine.
But if it starts to fail with this new generation of hardware, then that’s a different story. Apple would be tied into proprietary hardware and software, which could theoretically hamper its ecosystem development. Developer loyalty depends on how the company is faring in the market. There has to be excitement about the technology, along with financial and personal benefits that it brings in terms of peer recognition and self-satisfaction. That fragile network can start to disconnect without a strong foundation to support it.
And that’s why open-sourcing Swift makes so much sense. It reflects how app development is now so much easier in many ways because of open source. Apple gets that it has to make its programming language seemingly governed in a manner that fits the open-source ethos. What they will actually do is a question that O’Grady has but that’s a story to unfold.
Apple is already deeply tied into the open-source community. Last year, Swift creator Christian Lattner explained on his web page how Swift evolved. By 2010, he had started its development. By late 2011, others had started contributing. By July 2013 it became a focus of the Apple Developer Tools group. He gives credit to his team and he writes: “Of course, it also greatly benefited from the experiences hard-won by many other languages in the field, drawing ideas from Objective-C, Rust, Haskell, Ruby, Python, C#, CLU, and far too many others to list.”
It maybe should not be too surprising that Apple will become an open-source language. Apple understands the economics of a developer ecosystem.
This ecosystem thrives by giving people the economic incentives to develop apps for Apple’s superior hardware. Developers in Apple’s ecosystem get paid handsomely for their work. But the programming language is quite old, dating back to the 1980s when the first Macintosh lines were just starting to roll out.
There have been constraints that have left Apple from benefitting in the riches that can come when superior hardware is paired with a modern programming language. With Swift, the constraints of Objective-C can be lifted with several potential outcomes:
- Apps will be easier to build as Swift borrows from open-source programming languages that pioneered the concepts of interactive development.
App development will be faster as it also borrows from low-level languages such as Clojure that allow for faster iterations on bug checking.
- The programming language, combined with the petabyte of data it has offered developers in iCloud, means that Apple now has a real potent combination to take a market Amazon Web Services has not capitalized on.
- Businesses will have the opportunity to get apps developed faster and create incremental opportunities for revenue.
Apple can do all of this with a proprietary programming language. But opening Swift offers a perception to developers that they have a stake in it and can be somewhat assured that the openness will provide some greater degree of flexibility in app development. Who knows if that will really make a difference in Swift’s success. For now, it has the opportunity to leverage its hardware, get great margins and generally make shareholders pretty happy investors.
But we live in a time of the future present. Cars that drive without a driver are coming soon. Data services will embed into cars, sending our children to school, knowing exactly when and where to arrive.
Apple is betting on Swift to give it more edge with developers who may soon want to build apps on the iOS platform for wearables or talking houses.
Google and Microsoft have similar reasons for open-sourcing what they offer. Google is using Go as the successor to C++. Microsoft has open-sourced .NET. These companies have one thing in common — the need for love as deep as Apple has from developers. And those are hearts not so easy to sway in an era still dominated by the iPhone, sharp marketing and a programming language that by most accounts kicks ass.