Slashdot Mirror


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."

42 of 246 comments (clear)

  1. It's good by phantomfive · · Score: 5, Insightful

    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."
    1. Re:It's good by phantomfive · · Score: 4, Insightful

      Have to disagree with this. Companies open source code only when they feel that they cannot make money from the code itself. This diminishes the value of the people who created the code in the first place. Developers have generally been among the most highly compensated individual contributors in many companies. The reason for that is because the product they produce was highly valuable (hence why they were paid so much in the first place). The more that companies decide that there is little money to be made by code, the less valuable the people who make the code become. Speaking as a developer, this is not a good trend.

      Your reason for not liking open source is because you want companies to pay you more because of scarcity.

      So, going along that line of thinking, do you also write lousy code in hopes that you are the only one who can maintain it? Because that doesn't work.

      --
      "First they came for the slanderers and i said nothing."
    2. Re:It's good by Anonymous Coward · · Score: 5, Informative

      "With respect to a business model, the only open source company that has been highly profitable is RedHat. It is important to note that RedHat made their money not by *creating* the open source code, but rather by providing support services for those who wanted to use someone else's open source code. Linus Torvald may be making good money from Linux (I've read conflicting reports). But other than that there really are not many examples of companies recognizing significant revenue by giving away code."

      What are you talking about? RedHat made just about everything that encompasses modern Linux, from GTK+ and Gnome (say what you will about recent releases) to systemd and the Kernel itself. After more than a decade of dominating, it was only in February of this year that another company, Intel, made a larger percentage of kernel contributions (historically, RedHat has written about 16% of the modern Linux kernel). And what distribution does Linus work from? You might follow the fedora development mailing lists to see his contributions directly.

      Linux is RedHat's baby, and it isn't just because of the support contracts.

    3. Re:It's good by Ramze · · Score: 4, Interesting

      "Companies open source code only when they feel that they cannot make money from the code itself."

      This is a lie. There are lots of reasons code is open sourced.

      Sometimes it's to help standardize communications
      ex: BSD licensed TCP/IP stack which was borrowed and adapted for many OSes including windows
      ex: webkit released by Apple which was later used by Chrome et al.

      This time, it's likely to encourage developers to learn Swift which although may be used to write code for other platforms will most likely encourage more devs to write code specifically for Apple while also helping Apple improve Swift as it evolves. This means more software will likely be written for Apple than would not be if they didn't open source it. It's a win for them financially in the long run.

      As for the open source business model, who gives a crap? Who said that open source had to be a business model? Apple is primarily a hardware company. They sell devices at a premium and generally provide the software free or dirt cheap. Much of the base of their systems is open source. OS X is based on Darwin. It uses the CUPS printer system, too. Apple has open sourced a LOT of its internal software and used a lot of open source code as the basis for its products. They even brag about it:
      https://www.apple.com/opensour...

        Do you think Apple software developers aren't paid for their work? How are they devalued or diminished as Apple open sources their work? I'm fairly certain they're still on the payroll even decades after their work was released to open source. Darwin went open source 15 years ago. Apple made money by giving away source code (like webkit - it helped standardize the web beyond IE and mozilla to make Safari a stronger IE replacement and OS X a stronger alternative to Windows.)

      I feel like I should call the Waaambulance because you feel like you deserve higher pay because a company chose not to exploit your work for the maximum dollar value and pass some of that along to you.

      As for the quality of code in closed vs open source and the responsiveness of the dev teams -- that varies from project to project and company to company anyway. It varies too wildly to even make a generalization. I've seen some crap code from major vendors and I've seen support discontinued unceremoniously as well.

    4. Re:It's good by Bert64 · · Score: 2

      Perhaps when it comes to application or game software companies will only open source once it's reached the end of its commercial value, but it's very different when it comes to something like a programming language which hopes to create an ecosystem and encourage use by a highly technical audience.

      The average end user of a word processor typically wouldn't know what to do with source code, while the target audience of a programming language absolutely do, and have both the capability and desire to study and modify the code.

      Similarly bug reports from a technical audience are likely to be a lot more useful than the "it crashed" bug reports you get from typical end users...

      In many cases, selling more copies of the software is simply not the primary goal... The goal is to to increase mindshare, to increase the ecosystem to support other products. The more people who are developing applications for iOS and OSX the better for Apple.

      --
      http://spamdecoy.net - free throwaway anonymous email - avoid spam!
    5. Re:It's good by AmiMoJo · · Score: 2

      Actually Webkit was forked from KHTML, which is LGPL so Apple were forced to open source it.

      That's why most companies open source their software. They either have no choice because they want to use GPL code, or they want to use BSD style licensed code but don't want to look like dicks or be the only ones maintaining it.

      Other reasons include trust (especially with crypto), and as you mention wanting to promote standards for high quality free implementations.

      --
      const int one = 65536; (Silvermoon, Texture.cs)
      SJW, n: "Someone I don't like, and by the way I'm a fuckwit" - AC
    6. Re:It's good by LWATCDR · · Score: 2

      "With respect to a business model, the only open source company that has been highly profitable is RedHat. "
      Ummm... Google.
      Actually a lot of companies are making money with open source. Apple with Webkit and Darwin, Google with Android and Chome Books, IBM with Linux, Intel with Linux, Cray with Linux, and so on.
      You do not make a lot of money selling Linux or other Open Source products. You make money using Open Source products. And when using them you add more value to them by making them better.

      I do not believe that Open Source is a universal solution for software. I believe that it just does not work for some segments but I also see that it does work in other segments.

      --
      See my blog http://ilovecookes.blogspot.com/ for light hearted technical information.
    7. Re:It's good by macs4all · · Score: 2

      In many cases, selling more copies of the software is simply not the primary goal... The goal is to to increase mindshare, to increase the ecosystem to support other products. The more people who are developing applications for iOS and OSX the better for Apple.

      In Apple's case, selling more copies of software is not a primary, nor even secondary, goal. Apple's goal is to sell more hardware, period.

      And in that regard, that makes Apple, as a software developer/vendor, utterly unique in the entire computing industry.

      I'm not saying that Apple doesn't profit from some of their software products; just that that isn't the goal. And I would be surprised if most of their software titles aren't continually "in the red". You have to sell a lot of copies of Final Cut/Compressor/DVD Studio, Logic/MainStage, Pages/Numbers/Keynote etc. to pay off projects like those, and then consider stuff like Aperture, which could not possibly have been more than a massive money-sink.

    8. Re:It's good by macs4all · · Score: 4, Insightful

      Companies don't just open source code when they feel they can't sell it. The entire revenue model for open source is that the software is incidental to something you can sell.

      That's precisely why Apple is so perfect a partner for Open Source, and why they embrace Open Source.

      They didn't have to adjust their business model to include Open Source; they were already there.

      And the reason why Apple is a good thing for Open Source in general is that they actually have the resources to devote to develop, maintain, and improve Open Source Projects that they have an interest in, which, if the Open Source Development Community in general would be honest with themselves, is one of the biggest problems with F/OSS Development overall: Lack of enough dedicated resources to actually do the hard work. A company like Apple simply doesn't have that problem.

      And since their business model doesn't require them to value their software development in a way that requires them to always have an eye towards "profitability", they can be, and are, far more altruistic in their interaction with the F/OSS Development Community, and F/OSS in general, than pretty much any other ostensibly "for profit" hardware/software company on the planet.

    9. Re:It's good by macs4all · · Score: 2

      I didn't hear applause, I heard a lot of laughter at the idea that this matters. The interest is mostly from people who are happy with the proprietary toolchains from the involved vendor.

      I agree it is a good thing, though. But in a very, very tiny way. cups was important. This is not.

      You need to go to your Otolaryngologist (ear-doctor).

      They almost got a standing-ovation at the announcement that Swift 2 would be Open Sourced. I was by far the most enthusiastic audience reaction during the entire Keynote.

    10. Re:It's good by sosume · · Score: 2

      I don't think you understand the phrase "With respect to a business model".

      Sony, IBM, Facebook, eBay, Amazon, Google and many others

      please point me to the source code of their *core product*.
      Google search algorithms? Closed source.
      Sony firmwares? Closed source.
      IBM DB2, AIX, Lotus? Closed source.
      eBay.com? Closed source.
      Amazon.com? Closed source.

      The only people who swallow your bullshit are too lazy to check their facts.

      So she says.

    11. Re:It's good by BitZtream · · Score: 2

      ... Well there isn't much I your post that's correct.

      Red hat certainly didn't "make" the things you mentioned, they contributed to them, and in most causes were not the biggest contributor.

      Second, you don't know shit about how red hat the business makes money. The majority of their income comes from investments they made based on income during their IPO.

      Red Hat isn't a Linux company any more. It's an investment organization that also sells some Linux support.

      Being publicly traded company this is all public record if you bothered to look.

      If they hadn't invested from their IPO, they'd be out of business by now.

      --
      Persistent Volume manager for Kubernetes - https://github.com/dwimsey/openshift-pvmanager
  2. Re:Odd that they highlight those projects by CraigCruden · · Score: 4, Interesting

    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).

  3. Linux Support by nateman1352 · · Score: 3, Informative

    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.

    1. Re:Linux Support by Feral+Nerd · · Score: 4, Interesting

      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.

    2. Re:Linux Support by Feral+Nerd · · Score: 2

      I'm pretty sure somebody will implement GUI bindings.

      I think it will be pretty straightforward: OpenStep already exists, which is already ObjC and the same model as OSX/iOS, given the same NextStep heritage.

      AFAICT, Swift is essentially the ObjC machine and object model in a sane language, so it ought to plug right into OpenStep.

      It's nice if that is true, but experience has taught me to believe that when I see my iOS/OS X program plug straight into OpenStep and compile, ready for deployment on Linux PCs and Mobile devices.

    3. Re:Linux Support by RyuuzakiTetsuya · · Score: 2

      AFAICT, Swift is essentially the ObjC machine and object model in a sane language, so it ought to plug right into OpenStep.

      Close. So close.

      LLVM, not ObjC. Swift is basically is an interface to LLVM. Chris Lattner, one of the major people behind LLVM, works at Apple and created Swift.

      --
      Non impediti ratione cogitationus.
    4. Re:Linux Support by HiThere · · Score: 2

      I'm sorry, but I don't get the reasoning behind your evaluation. I'm not greatly familiar with Objective C, but the only reason that I didn't pick it up in the past was that other languages had better documentation. (I'm not using an Apple).

      Even GnuStep wasn't that bad. It was better at handling unicode than C libraries were. But too many pieces assumed that you had someone at hand to explain basics to you.

      So I used Python and D and Java. I looked at Vala, but it seems too tightly bound up with gtk, and when the maniacs began pushing gnome3 I gave up on it. I avoid C because of excessive use of pointers. That's also a problem with C++, but it's really a matter of excessive ambiguity (and poor handling of unicode) that cause me to avoid it. (The unicode problem also affects C and Java, and possibly objective-C, though I never really checked. Java doesn't even HAVE a unicode aware ispunct() function. I needed to fake one up using the general character classification, which Java made numeric for some stupid reason. The unicode version would have made things a lot easier as I could just have checked the first character of the classification.)

      So, objective-C has problems with documentation (if you aren't on a Mac), and I'm not thrilled with the GnuStep choice of 16-bit unicode (unless they've changed that since I looked), but what's wrong with the language?

      --

      I think we've pushed this "anyone can grow up to be president" thing too far.
    5. Re:Linux Support by BasilBrush · · Score: 2

      GNUStep is one path. It'd potentially be useful for porting apps from OSX to Linux.

      Another is to create wrappers around another UI toolkit such as Qt, and create apps with that. That's for people that just want to use Swift for it's features, rather than because they want to port stuff.

  4. Open source language by kyrsjo · · Score: 2

    > 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.

    1. Re:Open source language by Capsaicin · · Score: 3, Insightful

      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.

      The point that was being made was simply to raise the question: Will an open-sourced Swift have any realistic application other than writing software exclusively for iOS and OSX. If it can't, you should find yourself every bit as locked in and at the mercy of the owners of the ecosystem, as if you were locked in by the owners of a proprietary language.

      --
      Better to be despised for too anxious apprehensions, than ruined by too confident a security. --Edmund Burke
    2. Re: Open source language by gmiller123456 · · Score: 2

      Just because a language is open source doesn't mean it's not still controlled by a single entity. Nowdays, a language needs a good framework to go along with it, and as we're seeing with Oracle v Google, just because something is open source doesn't mean anyone can just pick it up and run with it. And even if they could, there's no guarentee that someone would pick up your favorite language/framework and continue to support it.

  5. i was just thinking... by Anonymous Coward · · Score: 5, Funny

    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".

    1. Re:i was just thinking... by Arnold+Reinhold · · Score: 2

      For any readers not in the programming community, he is of course kidding: there are dozens of programming languages in active use, far too many. The problem is that there is no one modern programming language that has gotten wide adoption. Swift is taking over Apple's rapidly growing software ecosystem, giving Swift momentum. Open sourcing is a good first step toward making Swift a candidate for replacing C++ and Java, but they will need to do more. I'd like to see a Swift development environment for small stand alone microprocessors with a tie-in to Apple's HomeKit. That and some good security tools could make Swift the language of choice for the Internet of Things.

    2. Re:i was just thinking... by nine-times · · Score: 3, Interesting

      Funny, because I was just thinking, what the computing industry really needs is stagnation. I'm tired of all this innovation and people trying to create new things. It would be so nice if we'd just stuck with the technologies that we had in the 70s, but no, people had to ruin it by coming up with new things. We should know by now that no one can improve on the wonderful language that is Javascript.

  6. Wrong comparision by igomaniac · · Score: 4, Informative

    ... 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/
  7. Stop Whining by Anonymous Coward · · Score: 3, Interesting

    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.

  8. Open source isn't enough by DrXym · · Score: 4, Insightful

    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.

    1. Re:Open source isn't enough by StonyUK · · Score: 2

      I completely agree. Apple have said they will release the standard library, which is tiny and apparently doesn't even have file or socket I/O.

    2. Re:Open source isn't enough by LWATCDR · · Score: 2

      Correct. Frankly that is what killed Objective C. Languages really stopped mattering about 20 years ago. It is all about the libraries.

      --
      See my blog http://ilovecookes.blogspot.com/ for light hearted technical information.
    3. Re:Open source isn't enough by BasilBrush · · Score: 2

      So you're whining now that the cake you're given for free hasn't got cream on top. Remember, the open source idea isn's supposed to be about just taking. If you want more libraries, make them.

  9. Use in other than the "Walled Garden"...Yes by Ronin+Developer · · Score: 2

    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.

  10. iOS Dev on Windows by gnupun · · Score: 3, Interesting

    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?

  11. Not an Apple first by HnT · · Score: 4, Insightful

    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
    1. Re:Not an Apple first by Anonymous Coward · · Score: 2, Insightful

      You have patent trolls to thank for that. Facetime was largely peer to peer in the original implementation, so operating costs were low. Apple was forced to change that after the VirtnetX lawsuit and as of August 2013 was being forced to spend $2.4 million per month in costs for relay servers to work around their patent. Obviously Apple isn't going to expend that kind of money to bring Facetime to competing platforms.

      http://appleinsider.com/articles/13/08/30/apples-facetime-workarounds-for-virnetx-patent-suit-causing-complaints-costs-24m-per-month

    2. Re:Not an Apple first by macs4all · · Score: 3, Informative

      "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 it never happened.

      And, as has been explained many times in these pages, that was SJ talking out his ass, without clearing it with his legal team. Turns out that Facetime was using some decidedly NON Open Source CODECS (and maybe other stuff), and so there was NO WAY that Apple could "Open" Facetime in any meaningful way.

      In fact, Apple was fined $368 million regarding Facetime, for violating 4 patents by patent troll VirnetX. So, even if Apple had tried to make Facetime an Industry Standard (which I fully believe was SJ's intent), VirnetX would simply have been waiting in the wings to sue anyone who tried to implement said standard.

      I am not apologizing for Apple; them's the facts. So, can we finally stop this meme? Of course not; this is Slashdot, afterall.

  12. Wrong "critical question" by nine-times · · Score: 2

    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.

  13. FaceTime by ArcadeMan · · Score: 3, Informative

    "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.

  14. Re:Disagree by BasilBrush · · Score: 2

    What do you imagine is stopping people?

  15. Re:reasons for doing so by BasilBrush · · Score: 4, Insightful

    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.

  16. Re:Odd that they highlight those projects by macs4all · · Score: 2

    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).

    Apple supported the development of clang (and LLVM) precisely because Apple realized it was too much work to elevate the GNU toolchain above its longstanding (and continuing) mediocre status.

    It is nothing but good for the F/OSS community that Apple decided to continue the F/OSS status of LLVM and clang, and every single F/OSS Developer should be genuflecting on a daily basis to Chris Lattner and Apple for doing so.

  17. Re:Disagree by molarmass192 · · Score: 2

    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