The most exciting moment at Apple's Worldwide Developers Conference (WWDC) wasn't when Apple announced iOS 9 or OS X 10.11 "El Capitan". No, what had developers shouting their approval for almost a minute was Apple open sourcing Swift.Swift, which Apple introduced in 2014, is an easy-to-use language for making fast iOS and OS X programs. At the same time, Swift fits into Apple's existing Cocoa and Cocoa Touch framework; it uses the same LLVM compiler. Swift also uses Objective-C's optimizer, autovectoring, Automatic Reference Counting ARC memory manager, and runtime. Swift has proven to be very popular.
To make it still more popular, and to improve the code, Apple has elected to open source Swift. To do this, Apple will release Swift's source code, including the compiler and standard library, under an Open Source Initiative (OSI)-approved permissive license. Apple will also contribute ports of the code to OS X, iOS, and Linux. Finally, Apple stated, "Contributions from the community will be accepted -- and encouraged."
Some people love this move. Commenters on Reddit and Ycomb were generally very happy with it. Nick Kolakowski, a technology writer for technology job site Dice, observed, "Apple is positioning the open sourcing of Swift as beneficial to all sorts of developers, not just those who work exclusively with iOS and Mac OS X."
Jim Zemlin, The Linux Foundation's executive director, blogged, "This is a smart move for Apple and a big win for the developer community. Apple has long valued developers, but this week adopted a key strategy that has become the de facto approach to programming languages: Open source."
He continued, "With open source, you never know who will use your technology, and that is a good thing. Open sourcing a programming language means easier adoption, but also more collaboration, as coders can share more easily, identify bugs, and use the language on their platform of choice."
Zemlin is preaching the open-source gospel, but others aren't sure that Apple is really converted to the open-source religion.
Stephen O'Grady, principal analyst and co-founder of the developer-focused analyst firm Red Monk, is concerned that Apple hasn't specified a license. In an interview, O'Grady said, "Apple promises that the license will be both OSI-approved and permissive. The former, of course, is required to legitimately be called open source, and while the latter is relatively standard for programming languages, with Java the most notable exception."
The real question isn't the license for O'Grady. After all, Apple already has several significant open-source projects: Darwin, the BSD Unix that's OS X's foundation; the WebKit browser engine; and CUPS, the open-source printing system. What Apple hasn't done, however, is support these systems.
For example, while there have been efforts to turn Darwin into a usable operating system in its own right, such as PureDarwin, they've met with limited success. Google forked WebKit with Blink in 2013, and, without Google's developers, WebKit's development pace fell by 60 percent (PDF).
O'Grady continued, "Whatever the license choice, the project's future will ultimately be determined by the governance model Apple selects. We don't have any details on what that will look like yet, though Apple's explicit mention of contributions -- 'Contributions from the community will be accepted and encouraged' -- is interesting. If they intended for this to be open in name only, the easy thing for Apple to do would be to not mention contributions at all. This indicates that the door may be open to a future open governance model, even if it's not immediate."
Bill Weinberg, a senior director at the open-source management company Black Duck Software, also worries that no real community will form around Swift. "It is unlikely that an organic dynamic project development community will coalesce in the short term around the Swift compiler, its runtime, and associated tools: Apple is notoriously picky about project curation, and complier hackers and related tool-smiths constitute a rarefied demographic, in open-source software as elsewhere."
Weinberg went on to say, "Most 'important' programming languages are already open source or have a flagship OSS implementation (C/C++, Go, PHP, Python, R, Ruby ad nauseum), so to some extent, Apple's is a me-too move."
He added, "Linux is a logical platform target: It's the platform of choice for new development, and where other next-generation languages were born and where they're percolating today. While the choice not to target Windows with Swift is a commercial one, Mac OS X competes directly with Windows for desktop market share (and, to a lesser extent, developer mindshare), Windows also presents a broader technical chasm to cross."
Whether Apple successfully open sources Swift or not, Zemlin was right when he wrote, "It's inspiring to see companies like Apple and Microsoft validate the work we've been doing for more than two decades. As we move deeper into the complexities of the Internet of Things (IoT), mobile computing and automotive technologies (key battlefields in tech), Apple, Microsoft, Facebook, Amazon, Google, and many others look to open-source software to advance innovation in these areas."