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."
Why would they choose to highlight Darwin and WebKit when they already have a project that Chris Lattner and his team developed at Apple - clang.
If swiftc follows even close to the same model as clang, then we'll see a very nicely managed BSD licensed project.
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.
How does it compare to others like Go or Java then? Pleas do correct me if I am wrong. Go is controlled mainly by Google, and Java is Oracle's foster child. And like Swift will have, Java has some components that are open source.
> 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.
I have to disagree - a language which only has one single implementation which is closed source means that the developers using it is locked in and completely at the mercy of the owners of this implementation. Just like with VB6.
I would never consider a closed language for anything else than small, short-lifetime hacks which I do not intend to maintain.
Don't do it. Don't do it. Benghazi.
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/
Sell proprietary software produced by closed sourced software, then open source your software on the condition that you receive enough donations. Nobody can compile your open source software because it requires a proprietary compiler. After short time, claim you are not recieving enough donations, take your projects closed source again and claim that the open source software model doesn't work.
Swift and Rust are a major step towards this goal. That's great. Stop bitching and whining. Don't always look at the asshole when you spot a young, healthy, strong, intelligent elephant.
Thanks from Swabia.
Apple has a major interest in fighting the Cyber War Domain DISEASE. Rust and Swift are major tools to this end.
Imagine what happens if people start to perceive computers and phones as totally insecure. Not able to store even benign secrets. Apple's revenue will tank and they will be blood-red financially. Tens of thousands of engineers laid off. Maybe that is one reason they open-source Swift.
Better security is a general interest of the I.T. industry and petty competitive motives in this aspect might kill of our nice business.
Apple has always been very careful to keep important elements (e.g. the GUI of OSX) proprietary code. That is were they perceive their competitive edge and how they can assure an excellent revenue flow and enormous profits.
So, ease up.
...because you do unspecific FUD, instead of rational arguments. What is your beef with Rust exactly ?
Here are some arguments why C is a Pile Of Shit:
+ C-style coding inevtiably leads to a ton of exploitable bugs in any non-trivial, hand-coded program
+ created by USG.
+ exploited by USG military
+ exploited by Russki mafia
+ exploited by Chinese military
+ exploited by anybody with a military budget and their attack dogs
+ conceptually and robustness-wise much inferior to languages like Pascal and Ada
+ suckers developers into Dirty Tricks, creating even more Exploit Opportunities
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.
An open source dump is still open source. Let's get real now, many open source projects, even "real" open source are not that easy to contribute to. An open source project with a powerful ally like Apple is better than an open source project that anybody can contribute to, but the community is not vibrant.
" The real value of [open sourcing] Swift will be whether it can realistically be used anywhere but Apple's walled garden."
Rust and Swift are like honest, serious business people who sometimes make mistakes which they regret.
C is like the Italian mafia: Rotten at the core.
"Incidentally, its not the C language itself that gets exploited usually, it is the stuff people write in it."
Likewise, it is not cocaine which is dangerous. It is the weak humans who have - due to their incredible laziness - not yet developed the antibodies for cocaine. See how cocaine is a harmless substance ?
Seriously, there is not a single human on this globe who never makes one of these low-level mistakes like a off-by-one array access, a double-free() or the like. We had highly experienced system programmers from HP, IBM, Microsoft, Oracle messing up badly with the C language. C is evil because it does not provide a safety net which can easily been provided. Rust, Swift and Sappeur prove that.
Now, maybe you can understand this argument ?
It will be open source to the point where someone tries to use it in competition with Apple. At which point, the lawyers will come in and kill the project with cease and desist letters regarding APIs, copyrighted names, etc.
http://elementscompiler.com/el...
RemObjects has developed an implementation of Swift in a product called "Silver" that, per their website, claims:
"With Silver, you can use Swift to write code directly against the .NET, Java, Android and Cocoa APIs. And you can also share a lot of non-UI code between platforms."
Their implementation isn't open source...but, the tool and their implementation are free.
Does open source Swift mean we finally don't have to buy a mac machine just to run XCode to develop iOS apps? Does Apple have plans to release an open source iOS simulator, so we can simulate iOS apps on Windows/Linux etc?
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
Comment removed based on user account deletion
Programming languages are glue for SDKs, APIs and libraries.
What? Have I completely failed to understand what programming languages were for all these years?
Released as "open source" the way Sun and Oracle released Java, with restrictive terms preventing outside projects from forking or even reimplementing code, would not be much of a blessing, except for developers already committed to writing Swift code.
Ditto if it's released as "open source" the way Microsoft released .NET, with key pieces kept proprietary. Not very useful except for existing .NET developers.
the critical question for a programming language is... whether it's feasible to make open source software with it
I don't see any clear reason to think that it wouldn't be feasible to make open source software. They're releasing some kind of development kit for Linux, claiming that the released materials will be open sourced under a permissive license. Now they could by lying, or they might have a crazy idea about what constitutes a "permissive license", but otherwise, how could it not be feasible to make open source software with it? Even if their tools are somehow geared toward developing Mac apps, if they're open sourced, those tools can be rewritten.
It seems to me that the question that's more critical is, "Will the open source community want to use this language?" I don't know the answer to that.
So what.
People who are heavily invested in Apple and Apple development are going to be ecstatic because they think it will mean a groundswell of openings for Swift.
I remember the creation of mono and the open sourcing of ,Net which were supposed to do the same for .Net programming. Did that happen? A bit not nowhere near wht they were hoping for.
In the end Swift will be another niche language, which just a slightly bigger niche.
"We're going to the standards bodies, starting tomorrow, and we're going to make FaceTime an open industry standard." - Steve Jobs, WWDC 2010
But Apple never followed-up on that.
Get free satoshi (Bitcoin) and Dogecoins
What do you imagine is stopping people?
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.
Swift is a company language, and people will perceive it that way for a long time. Even if it finally jumps over the fence of Apple's walled garden, it will be only incidentally done. Look at Lua, originally a company language for PetroBras. It never became mainstream.
Religous speak to God. Insane are spoken to by God. When all shut up, one can finally hear Shostakovich in peace
Holy moly! You're Turkish? You're putting most English speaking people's written ability to shame! That being said, wouldn't you have your head cut off for talking like this about someone else in Turkey? I'm sure Apply could have it arranged. ( Make sure you lock your door tonight :-) )
They reject Flash,
If you're complaining about that, then I know you're an idiot.
-jcr
The only title of honor that a tyrant can grant is "Enemy of the State."
Why would they bite off on the hassle of supporting their dev environment running on a bunch of incompatible Linux distributions? (not to mention Windows).
You know that, right?
It appears that the new and nice features of Rust, Swift and Sappeur have not yet been told to you. Java and C# are not really real-time capable, at least if used with any code calling the "new" operator. Chances are the GC will start to run at the worst possible time for your user or your real-time control application. Or your real-time video conferencing system.
Also, the bloated Java runtime has been a source of insecurity because they have crammed a crapload of features into it. E.g. reflection.
You argument regarding "unit testing" is also not really valid. It is almost impossible to cover all cases which might crash a system with unit tests. But it is almost trivial to make your code memory safe. Just use the Sappeur language and its compiler of 10k lines of code. Or Rust or swift.
Computing gods Apple just invented Open Source Software.
How many vendors are selling or distributing Swift compilers?
Yes a programming language specifically designed like a walled garden or more like a labor camp.
Only an insensitive dickhead like you, with no idea of what a real "labor camp" is would make such a ridiculous analogy.
Go read some history before you throw around the term "labor camp". It is deeply insulting to those who had family members who actually lived (and usually died) in labor camps.
Well, technically C and C++ are AT&T company languages. Java is a Sun company language. Perl is a Unisys company language. Python is a CWI company language. I'm not judging the merits of Swift, but just because it's a company language doesn't (necessarily) doom it to failure.
Good people do not need laws to tell them to act responsibly, while bad people will find a way around the laws-Plato
The real value of Swift will be whether it can realistically be used anywhere but Apple's walled garden.
This could by answered with an emphatic "no".
Amazing that you can be so sure of that; considering that the Open Source version of Swift is still months away.
Or did you get your hands on the Beta of WatchOS 2 and travel to the future to check it out?
Swift is a company language, and people will perceive it that way for a long time. Even if it finally jumps over the fence of Apple's walled garden, it will be only incidentally done. Look at Lua, originally a company language for PetroBras. It never became mainstream.
And exactly whose fault was that?
I see a lot of speculation and very little proof.
Yes look at Lua. You'd see that it is pretty much mainstream when it comes to adding scripting abilities to an application. It's not really marketed as a general programming language, but it does a great job at solving the problems it was designed for which is making applications customizable through scripting.
You probably should check out CLang (LLVM) and report back to us.
Lua is the most used language for the purpose it was intended - for adding custom scripting to applications. It's a huge success.
Aperture, which could not possibly have been more than a massive money-sink.
How'd Portal get into this? "Source Swift" isn't a tool for modding Valve games, is it?
here here - bloody douchbag
Look at Lua, originally a company language for PetroBras. It never became mainstream.
Well, unless you count video game scripting. "Lua has become an extremely popular programming language, so much so that it's achieved a critical mass of developers in the game industry, meaning Lua skills are transferable from company to company."
Of course news about a fake are Fake News.
The real value of Swift will be whether it can realistically be used anywhere but Apple's walled garden.
This could by answered with an emphatic "no".
Any question could be - that doesn't make it true.
Of course news about a fake are Fake News.
As I pointed out to my nephew, who works at Apple, once upon a time Java was declared to be Open Source. Then Oracle sued Google over the APIs used by Java. Making a language "Open Source" isn't true if you keep the APIs needed to use it proprietary.
Except PHP which is nothing but slop and shit.
PHP makes it easy to write shit and gets in your way and requires a Herculean effort to produce mediocre code.
It would take great effort to write shitty Haskell, Ocaml or even Erlang.
Swift's only been out a year, and it's already #14 on the Tiobe index.
Zealot alert, sign #4 - "All my friends are dead, but I'm the survivor!" - Swift @14 is below general purpose languages like Pascal and below niche languages like R, Matlab, etc. Even Perl, considered a dead language, is higher than #14.
And has been voted StackOverflow users favourite language. Take up has been anything but slow.
Zealot alert, sign #2 - "That's the only argument I've got so I'm gonna use it!" -
For future notes: "Not as fast as they predicted" is not the same as "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.
By "plenty of companies" did you mean "iPhone App Makers"? 'Cos objective-C itself was rarely used outside of iOS targets. Hell, I'm a firm WindowMaker/Gnustep user, have been for decades, and even I struggle to find apps written in objective-c.
I'm a minority race. Save your vitriol for white people.
Wrong, both Pascal and MATLAB are below it.
More significantly that other young contender, Ruby, is below it.
And yes of course I mean phone app developers. Some Mac developers, but mainly phone developers.
Wrong, both Pascal and MATLAB are below it.
Thank you - I looked at the index just now and it appears that Swift is ahead by 0.004% over MATLAB. Swift is still lower than the more obscure and outdated languages there - Object Pascal out ranks it. So does VB, R and Perl. At this point Swift is not even in the running; the languages it beats out are COBOL, Abap and Pascal. Other than Pascal, it is the lowest ranking general purpose language. Which leads me to wonder why you would even bother asking people to look at the tiobe index - it shows Swift t be much worse off than I thought.
More significantly that other young contender, Ruby, is below it.
Young? Ruby is over two decades old - you cannot compare Ruby to Swift as "young" languages. Ruby is old, and this is as popular is it is ever going to get. Swift still has a chance to climb up the rankings; if it ever gets as popular as objective-c did, it would rank at a quarter of the lead language, a third of the second leading language.
And yes of course I mean phone app developers. Some Mac developers, but mainly phone developers.
A burgeoning market I believe. Last I saw it was estimated $35m (all handsets included) in revenue. The total software market is estimated $400b. Swift can be #1 for developing iOS apps, but it is still insignificant against the overall software market which uses non-Apple languages. My point is even if Swift gets to #1 for iOS apps, its marketshare will be so small that it may as well be statistical noise. This is why I said that Apple may want a larger take-up of Swift on other platforms. It is more likely to survive if cross-platform.
I'm a minority race. Save your vitriol for white people.
A burgeoning market I believe. Last I saw it was estimated $35m (all handsets included) in revenue. The total software market is estimated $400b. Swift can be #1 for developing iOS apps, but it is still insignificant against the overall software market which uses non-Apple languages.
Phones are the most common computing devices these days, and people buy more software for them. Albeit at cheaper prices.
My point is even if Swift gets to #1 for iOS apps, its marketshare will be so small that it may as well be statistical noise.
Then your point is stupid. The very least that's going to happen is it's going to replace Obj-C in the ratings, and that's currently number 5.
My point is even if Swift gets to #1 for iOS apps, its marketshare will be so small that it may as well be statistical noise.
Then your point is stupid. The very least that's going to happen is it's going to replace Obj-C in the ratings, and that's currently number 5.
Way to go to prove my point for me - obj-c is what? Something like a quarter of the Java rating? A third of the C rating? You're basically measuring obj-c in fractions of what the mainstream languages rate. And you're using web-searches (tiobe uses web-searches) to determine a languages popularity.
I looked at the github stats some time back - objective-c is bottom of the popularity contest if you consider code committed to github, but top of the popularity contest when you look at registered watchers on github. IOW, there are more people looking at objective-c projects than there are people using it. This is also why I suspect it comes up higher on tiobe - more people search for it, fewer people use it.
I'm a minority race. Save your vitriol for white people.
There's something wrong with your brain if you can't see that #5 *IS* a mainstream language.