With highly liberal licensing and a promising suite of features like package management, Swift’s new open source version holds a lot of promise.
Months after it originally promised to open-source Swift, largely seen as a successor to Objective-C, Apple has delivered. The source code is now available on GitHub under a highly liberal license — Apache 2.0 — that should please most developers.
At the new Swift.org, Apple provided details about the Swift compiler, tools for integrating Swift with IDEs, and discussions of goals for the next iteration of the language, such as guidelines for API design.
One of the future goals is portability, as right now only OS X and Ubuntu Linux are supported for Swift development. Porting to Windows is likely to be far more complex than porting to other Linux or POSIX-like operating systems, and so far Apple has offered no concrete details about porting to Windows.
Other early details are promising. Swift’s newly proposed package management system allows users to specify which version of a package to be checked out (major or minor) when building dependencies for a project. The core libraries will also be open-sourced as part of the project.
When Apple first announced it would open up Swift, InfoWorld’s Simon Phipps raised questions about how the project might be licensed and governed. Apple’s use of the Apache license puts nearly all of the concerns to rest. Contributors retain copyright to their code, so they don’t need to sign a CLA or otherwise cut through the bureaucratic red tape that can entangle open source projects spearheaded by large corporations.
Phipps also questioned whether or not code written in Swift would be truly portable outside of iOS’s walled garden. After all, Apple started Swift to make it easier for developers from other platforms to create what might ultimately be iOS applications.
But even in the early stages, the open source Swift appears to reach beyond iOS alone. The core libraries, for instance, aim to “provide a level of OS independence, to enhance portability.”
It’ll take the active participation of motivated developers to make Swift more than an Apple- and iOS-only project. Still, Apple has laid a foundation that’s far more open-ended than its proprietary-software-driven history would have indicated.