Apple’s application for patenting some of the Swift features has successfully reached the “Grant” stage.
Swift is the Objective-C based programming language that Apple introduced in 2014 and open sourced in 2015 under the Apache License 2.0. By licensing its contributions under the Apache license, Apple grants developers a perpetual, royalty-free license to use all of its patents that are necessary in order to use Swift.
Apple submitted two patents 9,329,844 in 2016 and 9,952,841 in 2018. Under the 9,952,841 patent, the company has made 23 claims and 22 claims under the 9,329,844 patent. These patents are mainly about supporting multiple languages in the same compiler, with various specific limitations. These patents will be infringed if you are implementing a Swift compiler, assuming it included Objective-C compatibility and also if another language wanted to add a similar built-in compatibility layer.
What could be the consequences of Apple’s patents?
These patents caused a huge discussion among the Swift developers. They feel that software patents are silly and should not exist. They believe that we can find prior art for many of the features mentioned in these patents, for instance, optional chaining.
One of the Swift developer discussing the consequences of these patents said, “The big problem here is not only ongoing lawsuits but projects that won’t ever be started because of the risk of lawsuits. A great example here is that Clang and LLVM (and Swift probably too as directly based on Clang and LLVM) wouldn’t be as easy to start or to develop at all if C and C++ were patented.”
This could also lead to cases that we are seeing today, for instance, the ongoing Oracle’s copyright and patent claims on Google’s Android operating system, which is built on top of Oracle’s owned Java language. Another example is problems that Mono and other alternative implementations of .NET faced because of Microsoft’s patents. In the future, Apple could also transfer these patents to an independent non-profit organization similar to Linux.
One of the developers mentioned his concern on the discussion forum, “But as a contributor to Swift’s ecosystem, I feel unsafe now as we have a precedent of Oracle ruining Java’s ecosystem 50 with its patents. Can we be sure that Apple never ever does this to any 3rd-party open-source project related to Swift as a “business decision”?”. While some developers are worried, some feel that it is just a countermeasure against patent trolls, “I wouldn’t worry. Apple uses patents as a way to fight trolls and counterclaims. It’s also full of prior art.”
You can read the full discussion on Swift discussion forum.
Swift 5 for Xcode 10.2 beta is here with stable ABI
Swift is now available on Fedora 28