This may be a storm in a teacup, or it may be a typhoon massing off the port bow. Apple has applied for a patent that appears to cover the whole idea of the Swift language.
Apple is either an innovator that open source can trust or the worst exploiter of other people’s ideas on the planet. After all, what was the Mac other than a Xerox Star reimplemented.
What I’m trying to convey is how you view the news that Apple has just been granted a patent on what seems to cover the whole idea of Swift depends on how you feel about Apple. Notice I say “how you feel” as there isn’t too much hard fact to go on.
This all started about two weeks ago when the Swift forum started to worry about Swift’s status as open source and patent free. Then a few days later a bigger fuss started when it was discovered that Apple had been granted a patent on what sounds like Swift:
Programming system and language for application development
In one embodiment, an improved programming system and language for application development is provided that combines elements of the C and Objective-C languages without the constraints imposed by a requirement to maintain compatibility with the C language. The language provides the functionality of the C language compatibility in certain areas to improve the inherent safety of software written in the language. The new language includes default safety considerations such as bounds and overflow checking.
After reading the patent through, I have to admit that I cannot figure out exactly what it covers. It does seem very specific in many places:
Additionally, an embodiment of the new language introduces advanced types not found in Objective-C. These types include Tuples and Optionals. Tuples enable a developer to create and pass groupings of values.
In one embodiment, an optional type is provided that handles the absence of a value. Optionals are a way to say either “there is a value, and it equals x” or “there isn’t a value at all.” Optionals do not exist in C or Objective-C.
They may not exist in C or Objective-C, but optional types certainly exist in other languages, C#, Kotlin, both before and after Swift. And so it goes on with specific descriptions of language features which are not part of C or Objective-C, but are certainly not novel in a wider context.
The patent was granted.
Should Swift users and contributors be worried? The forum discussion where all of this came to light seems to be partly worried and partly reassured by the fact that Swift is open sourced under an Apache license which has a patent clause. This basically says that if you contribute to Swift then you are granting any patents you hold that might be infringed by your code. This is reassuring some because it is interpreted to mean that Apple can only use its patents against patent trolls. That is, Apple has patented Swift to keep it safe and open.
However, there is still a dark and lurking fear that there might be other ways in which Apple holding a patent on the language might be used, should it ever be necessary. It is the lack of clarity that is causing the doubt, and also the recent experience with Oracle and Java patents.
Perhaps the solution is for the patent office to not grant patents on such broad claims and for it to take its obligation to find prior art more seriously.