back
117 comments
A few thoughts:

- Browsing the source code directory, this is very very "early stage" at best and perhaps too early to warrant a "Get It Now" link

- There is an alternative implementation of Swift for the interested, although not open source, being developed by RemObjects: http://www.remobjects.com/elements/silver/

- Apple should definitely open source Swift, but I doubt this kind of pressure is going to have any significant sway on their decision one way or another. When in the past did developer pressure influence any of their major strategic decisions?

- Referring to Richard Stallman as "Richard", Steve Jobs as "Steve" and Chris Lattern as "Chris" in the letter comes off as a bit sarcastic/snippy in tone

- I don't believe Apple is promoting Swift to encourage lock-in anymore than Apple promoted Objective-C to encourage lock-in; as others here have stated I think the author misunderstands Apple's business model/philosophy

> Referring to Richard Stallman as "Richard", Steve Jobs as "Steve" and Chris Lattern as "Chris" in the letter comes off as a bit sarcastic/snippy in tone

Not necessary. First names are often used for familiarity, and it is fine e.g. for celebrities. Although, I have no idea who is Chris :)

"Guys, feel free to make up your own dragons if you want, but your speculation is just that: speculation. We literally have not even discussed this yet, because we have a ton of work to do to respond to the huge volume of feedback we're getting, and have to get a huge number of things (e.g. access control!) done before the 1.0 release this fall. You can imagine that many of us want it to be open source and part of llvm, but the discussion hasn't happened yet, and won't for some time.

Sorry to leave you all hanging, but there is just far too much to deal with right now.

-Chris"

http://lists.cs.uiuc.edu/pipermail/llvmdev/2014-June/073698....

http://en.wikipedia.org/wiki/Chris_Lattner

I wonder if there is an intentional difference between "You can imagine that many of us want it to be open source" and "As you can imagine, many of us want it to be open source".
Wow, this _open letter_ is so full of nerd rage that it fails to capture any of my sympathy. I expected to see a humble effort to create an open-source Swift compiler that would move the conversation forward. Instead, I'm left feeling this effort is out of spite alone. All of this before Apple has made any final decision on the matter one way or another.

It would be really cool if the Swift compiler would build code for both Windows and Android so we could have true portable software in a language that isn't C or C++. So I'm hopeful the Swift engineers also see value in that. Though right now it's a language that's so tightly tied to Objective-C and Foundation that I suspect it will be a very long time before we see that come true.

>Wow, this _open letter_ is so full of nerd rage that it fails to capture any of my sympathy. I expected to see a humble effort to create an open-source Swift compiler that would move the conversation forward.

It's funny, when I first skimmed the letter I thought, cool, open source Swift. However when I moved past skimming and actually read the letter... wow, it's terrible.

As others have mentioned the first name thing makes the authors sound like some douchey Brogrammers. The rest of the letter is just condescending, snarky or just plain undecipherable and wrong. For example "Swift is a beautiful language but you want to keep it all to yourself. That’s just not on.". They're not keeping it for themselves, they made the language so it's easier for developers to create software and in fact they give away the language/ide/debugger/etc away for free.

"That's just not on." Is this open letter really intended for Tim Cook? Do you think the leader of Apple actually likes to wade through clumsy slang? Have you thought of sprinkling the word "hella" around for more emphasis?

I now view the whole thing as a cautionary tale about the dangers of skimming internet pages.

I agree but

> I'm hopeful the Swift engineers also see value in that

I have a feeling it's not the engineers who would be to blame.

They should really come up with a better name. Phoenix is over used and even in open-source has a long history http://en.wikipedia.org/wiki/Firefox
https://github.com/phoenixframework/phoenix

Another rising technology with a similar name. This phoenix is set to be the Rails for Elixir

Agreed. Here's a starting point if they decide to change the name: http://www.thesaurus.com/browse/swift
Seriously. Unfortunately OpenSwift appears to be taken [0]. It would have been the obvious choice.

[0] http://sourceforge.net/projects/openswift/

Hey folks, just wanted to say that it’s very early days at the moment (as WoodenChair commented) — and we’re changing the button to "Sneak Peek" to reflect this. Poor Greg has been working his fingers off to get it ready (he’s pulled three all-nighters and that can’t be healthy so he’s been told in no uncertain terms to get some sleep now) and we should have a running compiler within the week.

If any of you want to help out, please do get in touch.

Ideally, of course, if Apple opens Swift up, we can contribute to that instead of duplicating effort :)

Startups led by non-engineers just leave a bad taste in my mouth for some reason. This comment definitely evokes that feeling.
Why the rush?
Aren't they probably just holding off on open sourcing it until...it's finished. I know they've just shipped '1.0' but I think they're still making pretty big changes.
Seems likely. It's not like objective-c is closed to other people, and the extensions to Objective-C that Apple has made are open.

Swift and Objective-C are based on LLVM, which Apple has supported since very early on, and which is open sourced itself.

It would be kinda out of character for Apple (the real Apple not the boogeyman Apple which is mostly a straw man) to not release a programming language as open source.

Hell, the core of OS X (and iOS) is open source... they've only kept the UI layer closed source (notice Google has not open sourced their platform- map reduce, page rank, everything related to source they kept closed source. They only open sourced Android to try and be the Netscape Navigator to Apples Internet Explorer (iOS). Note that like Android, Navigator was free. Only after netscape ended did it become firefox, which is open source. Google shares android source, but to be official "Android" you have to license it from google, and that comes with a lot of requirements. So, Android is more properly understood as free)

Hard to say with Apple. Their record on openness and transparency isn't great. This would be akin to Microsoft open sourcing Visual Basic.

Seeing Swift released would make my and a whole lot of other people's days, but honestly? I wouldn't hold my breath.

What's the last programming language you can think of that was really "finished" in any sense besides "shipped an X.0 version"?

"When it's completely finished" is essentially synonymous with "when it's dead."

They are actually on 1.1 since yesterday jetpacksaway
http://www.opensource.apple.com

Give it time, I think it will be open. It's just not 100% finished yet, despite what Apple says.

The Xcode 5.1 sources include clang, lldb etc. We just need to wait for Xcode 6 sources to be up, pretty sure it'll include Swift.

Also worthy of note is that most of these packages are under BSD/APSL license, which doesn't mandate Apple to release the sources at all (e.g. the OS X kernel xnu is fully open source). Yet they do it. Google's version of "open" Android development isn't any different, they develop in private and dump the code to AOSP only once a particular version is 'finished'.

Swift is a beautiful language but you want to keep it all to yourself. We don't know that's true or not. AFAIK, Apple has not officially commented on this topic.

Actually, having spoken with Swift team in Apple (rather not mention their names in case they get in trouble) on this topic, they seemed to be happy opening it up in general and opening it up as a general purpose language. Swift could ultimately replace C++ as the language of choice for game development and more.

That said, IMHO, the language will progress a lot faster initially if it's driven by a single master than to be pulled into many directions.

Indeed, I believe there is some internal conflict on this. Hopefully Phoenix will help sway the debate.
Um, I actually disagree with the author's assertion that Swift is designed to make it harder to co-develop iOS and Android apps. If anything, Swift's syntax and object model are more similar to Java than Objective-C was, which should make it easier to write portable code.

I also disagree with the author's entire premise, because Apple open sources a lot more than its competitors do. Like, a whole lot more. [1] You can download the source for the entire OS X kernel.

I believe Swift will eventually be open sourced. It would fit entirely within Apple's strategy to do so: they like to open source foundational technologies, while keeping the libraries and proprietary features the build on top of them to themselves.

[1] https://developer.apple.com/opensource/

And you can download the source for Google's browser, both OSes, both their programming languages, etc...

The argument that because OSX's kernel and WebKit are open source that Apple is somehow 'more open' is silly because they really aren't 'more open'. Maybe compared to MS...

Compared to Microsoft they are more open source.

Compared to Google, they are a lot less open source. I write iOS & Android apps. The difference is stark. They haven't even open sourced XCode, the iOS tools, or the CI server.

Microsoft has dozens of open-source projects[1]. Notably, ASP.NET and the C# compiler are both open-source.

[1]: http://www.microsoft.com/en-us/openness/default.aspx#project...

Whoever wrote that needs to proofread the post a bit and be more familiar with Apple's strategy.
and history.
I really don't get why people stress over this.

Swift only has value with the Mac OS X and iOS ecosystems, specially as a mean to drag Objective-C developers into the FP world.

There are so many open source languages in the ML family, a few of them are even used in the industry for several years now. Just go and join one of those projects.

They will appreciate any help they can get.

Also remember that Swift is already starting to be taught in schools. Imagine if a natural language that is taught in schools was tied to a single company. If, for example, you needed an Apple pen to write English. How much of literature would we have missed out on? Would Shakespeare have been able to afford an Apple pen? Thankfully, we never have to find out ;)
>There are so many open source languages in the ML family, a few of them are even used in the industry for several years now. Just go and join one of those projects.

Well, some people like the decisions behind Swift, and would prefer a language with an ecosystem, documentation and developer community of the size that results from Apple being involved in it compared to, say, Jane Street.

Heck, people also use Go mostly because of the Google involvement (and the momentum that gives), and it's a language 30 years behind Swift.

> Swift only has value with the Mac OS X and iOS ecosystems

And .NET only had value in the MS world before Mono which very popular.

I wonder if their plan for the Indie Phone is to run recompiled iOS apps on GNUstep. Swift would have a lot of value in that case.
>Swift only has value with the Mac OS X and iOS ecosystems

Which is why they are making an open source version that will have value in all ecosystems.

I would be curious to know if the authors of this feels that there is something that Swift can give them that some other ML-like or whatever language can't, if we disregard any ties to the Apple platform and ecosystem.
Mentioning the Apple/NeXT GCC/ObjC/GPL history is not a good way to get on Apple's good side.
I'm glad somebody is doing something about this. Swift deserves better than to serve as a pair of golden handcuffs. I remember back when Swift was first announced, people said they were sure Apple intended to make Swift free once it was ready for release. Sadly, Apple didn't live up to people's expectations on this one.
I can't find a license?
Interesting it seems to be more about building an open version of the iPhone called 'stratosphere' (see this https://source.ind.ie/project/ind-ie/blob/master/source/inde...) Given that Apple went all patent troll on Google's Android licensees and patents, unlike copyrights, cannot be avoided by re-expression, I'm wondering about the strategy of making an open phone. Easily doable in 20 years (post patent expiration) but hard at the moment.
Just a shout to say, if you believe in what the ind.ie guys are doing, then please sign their manifesto: https://ind.ie/about/manifesto/ It's time we valued our privacy one again.
They should definitely do this as they have in the past with Webkit, canvas, Khronos support of OpenGL ES (finally getting a focused product out of OpenGL ES/WebGL), and more.

They might just be taking a bit of an early adopter grab and will open it up later, hopefully. Metal is awesome as well but just when OpenGL really became the platform after mobile disrupted gaming.

Even if they don't open up Swift, maybe at least let Phoenix be like a Mono to their .NET and support it.

Taking a step back it is crazy how much Apple has influenced and taken over gaming focus in 6+ years. Not only do they control the market and hardware but naturally now the graphic and native software/platforms.

I think these guys are either very naive (comparing apple and google this way) and making such a significant business decision based on such shaky arguments. or this is a PR stunt, in which case who are they targeting, HN?
Seeing more and more thoughts be published like this in the last few months. It seems developer discontent might be growing with Apple.
Looks like it's based on "swift2js", which I hadn't previously heard of and seems pretty nifty:

https://github.com/swift2js/swift2js

Someone hit the commit button too soon. parser.y is missing:

$ make make: * No rule to make target 'parser.y', needed by 'parser.c'. Stop.

Well, we already know that Swift is not swift at all. Let's see if Phoenix will die and then resurrect.