Probably couldn't afford the github fee for hosting non open source projects
Apple has open-sourced its Swift programming language, used to write apps for its ecosystem of products. The full package, including compilers and package managers, Swift software libraries, documentation, and tutorials, has been released under an Apache 2.0 open-source license. The code has been uploaded to GitHub and …
>The decision is a move away from the typical Apple approach of tightly controlling all its products
It's hardly unprecedented:
Apple made Webkit, ResearchKit and Darwin OS open source. FireWire used patents owned by quite a few companies, so wasn't Apple's to give away, but was available to any hardware maker that wanted to include it for less than a dollar per device.
@Dave 126 - ""Apple made Webkit, ResearchKit and Darwin OS open source"
I can't say that I've heard of ResearchKit before, but the actual authors of KHTML Mach, and BSD will be really surprised to hear this, seeing as none of them worked for Apple. Oh, you mean that Apple "innovated" new marketing names for them, yes they're very good at that.
Webkit is a re-brand of KHTML, which was part of the KDE desktop (and the Konqueror web browser), which is one of the major desktops used with Linux and BSD. It's open source because the LGPL license used by KDE says it has to be. Yes Apple developers have contributed to it, but so have many others and Apple got involved after it had been around and in use for a few years. I was using KHTML ("Webkit") long before Apple adopted it as the core of Safari. When Apple decided they needed their own web browser, they picked KHTML over GHTML (Gnome equivalent) due to better functionality, and over Gecko (Firefox) because the latter couldn't be easily separated from the rest of the browser (KDE was designed around reusable components).
Darwin OS is a mix of Mach and BSD, both of which were originally open source and did not come from Apple (they were mainly university centred projects). Yes Apple has added more stuff to them, but they did not originate them.
A lot of the open source stuff used by Apple has a similar history. They don't generally originate very much that is used by anyone else. They more typically just re-brand an existing successful project and the trade press repeats regurgitates the awesome "innovation" right from the press releases.
I'm trying to think of anything which is significant, open source, widely used by everyone else, and that Apple originated, and I can't think of anything off hand. Most of the successful software that Apple actually originates starts out as and remains proprietary. Whether or not Swift will be widely used outside of writing apps for Apple kit remains to be seen.
Certainly Darwin is... totally irrelevant - who uses it? And why would they, considering you have the BSDs already and Darwin has little of the Apple shinies? (I'd add Apple's work in popularizing CLANG)
I generally somewhat agree with this assessment, though not many companies really initiate real open source by these metrics. Google's Android is Linux + a good-but-controversial rethink of Java for mobiles, for example. Not new. Go? Not enough traction, yet, to qualify.
With corporations and high profile/high impact open source project it seems most of the time, corporate involvement really boils down to a) either launching based on or around an open source product (Chef, Vagrant) or b) re-using an existing open source product, possibly contributing significantly to it.
c) an existing company creating an open source product that is really significant and sharing it with the world, which seems to be your criteria? Not so much. Maybe, horror of horrors, the recent Net.core announcement by MS & C#?
This criteria does not have to be based on altruism, both MS and Apple have, I believe, mucho self-interest in pushing their toys. It just has to be massively useful for everyone else.
Java would have been a great OS story by Sun and disprove my position. If it was truly open (the fact that I don't like it the language much* is irrelevant to accepting its success). But as Google has learned, there is open and open wrt Java. I hope Apple's release of Swift is more honest and less encumbered with crap restrictions** than Sun's (and Oracle's) baby.
*, ** Come to think of it, it would be hard for it to be more encumbered with crap language design and arbitrary decisions, that's for sure. Like taking up to Java 7 to finally, finally, implement an actual File.copy, rather than claiming it's best left to coders to reinvent that wheel each time - might have been justified in C in 1970, hardly in a modern language from 1995-2010. Or exception throws that have to be caught by callers.
"...Apple made Webkit, ResearchKit and Darwin OS open source..."
That's one [charitable] way to look at this decision.
A more cynical one might be to speculate whether or not take-up of Swift wasn't as stellar as Apple had hoped for.
A lot of developers looking for a "new kid on the block" language to learn must have opted for the more cross-platform Golang or Rust –rather than invest all that time and effort tying thermselves to Swift, whose motto is, I believe: "Write Once. Run Anywhere [as long as it's made by Apple]".
As a sage, commenting on Twatter said: "Apple wouldn't normally give away a smell of their farts for free"
You might want to check out Silver from RemObjects (www.elementscompiler.com).
Silver is their name for their (FREE! As in beer) implementation of Swift and you can use it to develop apps for (of course) iOS and OSX but also .NET and Android. Hosted in Visual Studio. Shell integrated version provided FOC if required, or you can install it as a plug-in to VS Pro (or the also free VS Community Edition).
I wonder if Github factored the biggest companies being dragged into open source, into their business plan. I would think they had originally counted on s/w companies wanting to use Github for private repositories (cuz collaboration), and on the revenue from that. But now that Microsoft, Adobe, Apple and et al. are near forced to make substantial nods towards open source, those are public repositories being paid for at company rates. Bonus for Github!
BTW: I gotta wonder about the 'starred' count of 6726 for the apple / swift project. I far as I can see, this repo was made public either only 18 days ago or just *today*. *How* do you get 6726 stars so quickly? Any ideas? I suppose I'm just too suspicious of corporate antics....
Hipsters + another new shiny programming language = magic stars.
Uses of news languages seem to breed like rabbits at the place I work, and then vanish as fast as they appeared leaving a mess of shitty hard to maintain scripts and programs all over the place, despite the best efforts of policy wonks to stamp out the practice and enforce use of "approved" languages only. Not sure why we don't just fire people who don't stick to the policy because it sure as hell isn't good for productivity ... (not saying there shouldn't be any R&D investigation into new stuff, but it should creep into production that easily ...).
Maybe somebody can throw a proper GC at it now so it doesn't require weak references to break leaking reference loops? I don't want to think about how complicated reference management would become in a large multi-threaded application that needs to be maintainable through several years of new features. Such apps already have plenty to worry about in the source code. Java and Python have been able to blend native compilation, immediate deallocation, and GC for a very long time.
I'm after a general purpose language, mostly for scripting but also beyond. At the moment, shell scripting, awk, sed and a cacophony of other Linux/UNIX tools seem to do*, but an up-to-date general purpose language, in my skill set, would be nice, and the C-like syntax appeals**.
* Oh, and PERL, I suppose, but I've not looked at that in donkeys' years, and it seems to have died a death.
** And the lack of which puts me off Python (a little bit).
Uselessly I don't know about Swift, and happy I did not port my app from Objective C if they're going to break compatibility - so this is completely off topic! My comment though is that I made the effort to learn Lua for a torch7 (neural nets) project. It is fast to learn (alternatively stated 'simplistic and annoyingly without some syntactic sugar I like'), faster than perl, easily extensible in C, and - probably most importantly - easy to revisit old code and modify to do new things without breaking all over.
Just some two weeks ago i was having a chat with my c# teacher musing on how even M$ was "getting in bed" with Android while Apple was still pathetically trying to leverage the "developer tax". Seems they woke up.
Too bad the horses have long bolted and world+dog has moved on. iThings had their moment, but like their predecessor overpriced underspec'ed boxes, they're now a bling niche turf too.
Only this time there's no St. Jobs to come back and point towards the light (no pun...).*
*not sure Job's would have helped here given he'd probably be against this move. But without his vision to "get the next big thing DONE RIGHT" Apple is doomed to go back into the slow death of the PowerPC era.
"Too bad the horses have long bolted and world+dog has moved on. iThings had their moment, but like their predecessor overpriced underspec'ed boxes, they're now a bling niche turf too."
I wonder which alternate universe you are posting from. It seems that Apple iPhones for example have over 50% of the US smartphone market in unit sales, and over 50% of the world wide smartphone revenue. Well, that's a niche.
C++ is a tricky, clever, but unforgiving systems language, best used by very smart people with lots of time to catch all possible issues and wring out every last bit of performance. Kudos and respect to them.
For the rest of us, it would be nice to a have a simpler mainstream compiled language that nears the productivity of Python or Ruby. Whether that is Swift, D, Go, Rust of whatever doesn't change anything to the fact that your post makes no sense for many, if not most, programming contexts.
Um, it's been around since Swift 1.0
http://www.elementscompiler.com/ (from RemObjects).
As well as "Silver" (their moniker for Swift), if you prefer, they also have ObjectPascal and C# (Oxygene and Hydrogene respectively) for .NET, iOS, OS X and Android.
Silver/Swift is free. You only have to pay for ObjectPascal and/or C#.
Biting the hand that feeds IT © 1998–2019