Reactions To Apple's Plans To Open Source Swift
itwbennett writes: At Apple's WWDC 2015 event yesterday, Craig Federighi, Apple's senior vice president of software engineering, announced that the company planned to open source the Swift language. Reaction to this announcement so far has sounded more or less like this: Deafening applause with undertones of "we'll see." As a commenter on this Ars Technica story points out, "Their [Apple's] previous open-source efforts (Darwin, WebKit, etc) have generally tended to be far more towards the Google style of closed development followed by a public source dump." Simon Phipps, the former director of OSI, also expressed some reservations, saying, "While every additional piece of open source software extends the opportunities for software freedom, the critical question for a programming language is less whether it is itself open source and more whether it's feasible to make open source software with it. Programming languages are glue for SDKs, APIs and libraries. The real value of Swift will be whether it can realistically be used anywhere but Apple's walled garden."
Whenever a company open sources its code, it's a good thing. Even if no one wants to use it, it still sets a precedent. It wasn't long ago, no one was open-sourcing their code. Now, even Microsoft does some of it.
This strengthens that trend.
"First they came for the slanderers and i said nothing."
Chris Lattner started the LLVM project (basis for clang) before joining Apple. He was asking them a lot of questions in relation to his attempts to implement objective-c on it. Obviously Apple thought what he was doing was a great idea and hired him. I have no doubt that this was always in the plans since when quizzed about whether Swift would be open sourced they would not commit but always sounded open to the idea (i.e. they would not announce it until they were actually ready).
Funny, I was just the other day thinking, "what the world really needs right now, is another programming language".
The tiny number of choices in programming languages is the main thing holding back the industry, so it is great to finally see a new one. It's far too common that I think, "I've got this great idea for a new program... if only I had a viable language to program it in".
... It's a lot more appropriate to compare the open sourcing of Swift to the LLVM/Clang projects than to Darwin. LLVM is by any measure a thriving open source project with lots of contributers, both individuals and from many large organisations (Intel/AMD/ARM/Google/Microsoft, etc. etc.). I also follow Webkit development to some degree and it's far from "the Google style of closed development followed by a public source dump", a fact that should be clear to anyone who takes a minute to look at the webkit-dev mailing list.
The interactive way to Go -- http://www.playgo.to/iwtg/en/
A large part of a language's value is the API and framework it works against. It's no good just throwing out a compiler and a barebones set of APIs and thinking it's going to catch on. Unless Swift comes with a set of high level APIs that allow people to build applications / apps on non-Apple platforms then I don't see what the attraction to it will be.
Apple has a much longer history of releasing open source or opening standards than most people like to give them credit for.
"Only one thing is impossible for God: To find any sense in any copyright law on the planet." - Mark Twain
I seem to remember that during the presentation they explicitly stated that would be releasing a Linux version of the runtime libraries for Swift. At least that should give you the basics for a console/text user interface.
I doubt Apple is going to be making any GUI binding other than for Cocoa. I also doubt that the bindings for Cocoa will be included in the open source packages. It will be interesting to see how accepting they will be of community contributions.
I'm pretty sure somebody will implement GUI bindings. The ability to port iOS/OS X software to Linux and the ability to port Linux GUI programs to OS X without running an X11 server is far too interesting a capability to pass up. If there were GUI bindings for Linux as well as OS X you could simply recode your old GUI in Swift but leave the business logic in tact. Since Swift can link to C and C++ libraries (C++ with a Obj C wrapper) this should not be a big problem.
Swift's only been out a year, and it's already #14 on the Tiobe index. And has been voted StackOverflow users favourite language. Take up has been anything but slow.
And I'd expect it to accelerate now, even without the open sourcing, as plenty of people were treating the 1.x label is meaning not yet ready. Plenty of companies will be starting to use it now it's 2.x.