News for hackers. Stuff that matters.
Re:Why Greet Apple's Swift 2.0 With Open Arms? by nickysielicki on Thursday June 18, 2015 @07:24AM (#9737863)
Imagine Swift becomes a wild success; everyone's writing everything in Swift. What will your reaction be when Apple again makes a "legitimate business decision" and leverages the success to the benefit of their company and implicitly disadvantages other platforms? Maybe they double up on Swift support on Mac and start shipping additional features first for LLVM/Clang on OSX. Will you brush it off again as an understandable move by Apple?

I think you would. I certainly wouldn't be happy with Apple for doing it, but I would definitely say it's understandable. Like you're saying, they're a business, they make business decisions.

The point I'm trying to make there is any problems that arise from this fall squarely on the developers choosing to embrace this new language. I'm not writing this comment to convince Apple to act differently. The original post didn't make those arguments to Apple. This is all directed at developers, trying to change THEIR actions and feelings.

So as a developer right now, given that you have a plethora of open tools and an open ecosystem, why would you choose to use a language where a company has the opportunity to manipulate you in the future? Why write libraries and provide support and do this work for free for Apple? Writing libraries for the benefit of the community provides some security in that no one except the community stands to benefit from it. You can go to sleep happy knowing that you're helping out your fellow devs.

Writing for the benefit of a community that is paired with executive power means that it can all be swept from under you. Your library is still helping your fellow dev, but it helps the fellow dev with OSX 10.12 more. Now you've contributed to Apple's bottom line. Was that your intention?

I completely disagree with other commenters in this thread that we have some obligation to be thankful for companies for putting out things with strings attached. I'm not a spoiled brat for not liking everything. These companies would be absolutely nothing without their developers. It's time the community sticks together and realizes the power they have. It's not unthankful to demand more. It's dangerous to get swept up in the excitement of new languages and to assume good graces. Look no further than what Apple has done to Webkit, LLVM, CUPS and more. First class on OSX, give back only what's not newest. Swift will certainly be the same way.

Re:Why Greet Apple's Swift 2.0 With Open Arms? by matthewmacleod on Thursday June 18, 2015 @07:32AM (#9737887)
Imagine Swift becomes a wild success … Will you brush it off again as an understandable move by Apple?

I'm a bit unclear what you seem to think is lost under these circumstances versus copylefted software. Let's say Apple released Swift under the GPL. They would still be free to do all of the things you describe.

So as a developer right now, given that you have a plethora of open tools and an open ecosystem, why would you choose to use a language where a company has the opportunity to manipulate you in the future?

This is, as above, no different from the copyleft case.

So as a developer right now, given that you have a plethora of open tools and an open ecosystem, why would you choose to use a language where a company has the opportunity to manipulate you in the future?

It's extraordinary difficult to argue that Apple would be in a position to manipulate me as a developer if I started using Swift. For one thing, once the code is open-source – that's it. I can continue developing software using that language. If Apple decide not to release new features, and instead keep them proprietary, then the community is free to fork development.

More importantly, if it's important to members of the free software community, they are entirely able to develop capital-F-free software on top of Apple's release!

I'm really thankful for copyleft licensing and the amazing tools it's given us. But it's a vary complex issue, and I just don't agree that release under a license with fewer restrictions is necessarily a bad thing!

Re:Why Greet Apple's Swift 2.0 With Open Arms? by nickysielicki on Thursday June 18, 2015 @07:38AM (#9737908)
EDIT: I'm wrong see below

> "I'm a bit unclear what you seem to think is lost under these circumstances versus copylefted software. Let's say Apple released Swift under the GPL. They would still be free to do all of the things you describe."

Absolutely not. GPL means anything you put out must be published. If LLVM and Swift are GPL'd they can't develop additions to them, ship them on their Macbooks, and not publish the changes to the rest of the internet.

This is what's happening right now with LLVM.

Re:Why Greet Apple's Swift 2.0 With Open Arms? by matthewmacleod on Thursday June 18, 2015 @07:42AM (#9737929)
If LLVM and Swift are GPL'd they can't develop additions to them, ship them on their Macbooks, and not publish the changes to the rest of the internet.

This is true if you redistribute the GPL code of others.

However, as the copyright holders, Apple are free to release their code under whatever license they wish, or to refrain from releasing it. They can ship it on MacBooks, and are under no obligation to release the source code.

You could argue that they couldn't accept GPLd submissions anyway, but since they'd require copyright assignment in any case it's a moot point.

Re:Why Greet Apple's Swift 2.0 With Open Arms? by nickysielicki on Thursday June 18, 2015 @07:44AM (#9737939)
Oh crap, you're completely right. Good point.

The bit about copyright assignment is significant though. There is a way for Apple to ensure the community that they will not screw them over for embracing their language. I think it would be prudent for the community to ask for that.

Re:Why Greet Apple's Swift 2.0 With Open Arms? by rogerbraun on Thursday June 18, 2015 @08:17AM (#9738071)
I guess one aspect is that LLVM (which Apple doesn't completely own, as far as I know) should have been copylefted to begin with, then any changes (like adding a language) would need to be shared with the community.

The exact same situation happened with Objective C and GCC. In that case, the Objective C frontend was released as free software.

Re:Why Greet Apple's Swift 2.0 With Open Arms? by stephenr on Thursday June 18, 2015 @08:24AM (#9738090)
> which Apple doesn't completely own, as far as I know

Apple don't own LLVM at all - they hired Chris Lattner who was one of the original directors of the project when it started at the University of Illinois.

> should have been copylefted to begin with

Why? To prevent the vast majority of companies with the money to actually support and grow such a project the way LLVM has, from doing so?

Re:Why Greet Apple's Swift 2.0 With Open Arms? by pjmlp on Thursday June 18, 2015 @01:59PM (#9740470)
> Why? To prevent the vast majority of companies with the money to actually support and grow such a project the way LLVM has, from doing so?

You mean the ones that haven't provided LLVM with changes for the compilers they are selling?

Re:Why Greet Apple's Swift 2.0 With Open Arms? by coldtea on Thursday June 18, 2015 @04:44PM (#9741508)
They might not have "provided LLVM with changes for the compilers they are selling" but they have provided TONS AND TONS of changes and fixes and new features for the core LLVM infrastructure.

I could not care less about having the changes to their compilers, and I would even dislike it if LLVM's license required them to do so if that meant they wouldn't touch LLVM in the first place -- in which case we wouldn't get all these core LLVM improvements.

Re:Why Greet Apple's Swift 2.0 With Open Arms? by rogerbraun on Thursday June 18, 2015 @08:35AM (#9738126)
Replying to stephenr:

> Why? To prevent the vast majority of companies with the money to actually support and grow such a project the way LLVM has, from doing so?

No, because the freedom of new languages in LLVM would be guarenteed.

Again, you can of course have the opinion that this is not important, or not as important as the success of LLVM, but that's your decision.

Re:Why Greet Apple's Swift 2.0 With Open Arms? by anon1385 on Thursday June 18, 2015 @12:10PM (#9739535)
>the freedom of new languages in LLVM would be guarenteed.

No, the GPL does not work that way.

If LLVM was GPL it wouldn't make any difference. LLVM is modular. You can write a front end that generates LLVM IR, then pass that LLVM IR file to LLVM to be compiled. It would be no different then a program that generates bitmaps and then passes them to another program to be jpeg encoded. The licence of the jpeg encoder doesn't affect the licence of your bitmap generating code.

This is why GCC is not modular.

Re:Why Greet Apple's Swift 2.0 With Open Arms? by smitherfield on Thursday June 18, 2015 @07:45AM (#9737945)
Yes, they can. The GPL is a software license, that is, it authorizes the use of the software by persons or entities other than the legal copyright holder under certain conditions. The legal copyright holder can do anything they want with the software under US law, and any provisions of the GPL that purport to bind the legal copyright holder are not enforceable. I believe Richard Stallman even acknowledges as much.
Re:Why Greet Apple's Swift 2.0 With Open Arms? by GFK_of_xmaspast on Thursday June 18, 2015 @08:09AM (#9738037)
LLVM is not GPL'd because the FSF didn't want it.
Re:Why Greet Apple's Swift 2.0 With Open Arms? by GFK_of_xmaspast on Thursday June 18, 2015 @10:17AM (#9738621)
Re:Why Greet Apple's Swift 2.0 With Open Arms? by fluidcruft on Thursday June 18, 2015 @10:53AM (#9738876)
Very interesting, I did not know that!

Maybe a better link (RMS's response when he recently discovers that Apple did indeed offer LLVM copyright assignment to FSF in 2005):

https://lists.gnu.org/archive/html/emacs-devel/2015-02/msg00...

Also note that 2005 is pre-GPLv3 and that Apple to this day dislikes GPLv3 so much that it continues to ship antiquated GPLv2 versions of GNU utilities in MacOS. So, my reading of the tea leaves is that the offer is not likely to be resurrected.

Re:Why Greet Apple's Swift 2.0 With Open Arms? by rsynnott on Thursday June 18, 2015 @01:12PM (#9740108)
> Absolutely not. GPL means anything you put out must be published.

Assuming that you don't own all the copyright. If you do (and Apple presumably would, in this instance), you're under no obligation to release source, and can produce alternate non-open-source versions. See MySQL for an example of this in action; also some non-GPL extensions to OpenJDK in Oracle JDKs, and Virtualbox (Oracle likes this model).

Re:Why Greet Apple's Swift 2.0 With Open Arms? by breakforge on Thursday June 18, 2015 @10:38AM (#9738754)
I'm not sure you're wrong. I was under the impression that contributors retain copyright over their portions under GPL.

This would require the copyright holder of the larger piece to get permission from all contributors before releasing under a different license, and I thought Ubuntu's CLA with Mir was to ensure they weren't trapped by this.

Re:Why Greet Apple's Swift 2.0 With Open Arms? by rsynnott on Thursday June 18, 2015 @01:17PM (#9740151)
Nearly all companies who release stuff under the GPL require copyright assignation on contribution, actually giving the company far more control than if they simply used a liberal license. Using the GPL is more about making sure third parties can't lock up derivatives than that _you_ can't.
Re:Why Greet Apple's Swift 2.0 With Open Arms? by delinka on Thursday June 18, 2015 @11:15AM (#9739050)
I've read below and I see where you've changed your thinking. That said, I've seen many people (not necessarily on HN) espousing the belief that once the copyright holder releases, they're now legally committed to releasing all their future changes as well.

Where does this line of thinking originate?

Re:Why Greet Apple's Swift 2.0 With Open Arms? by rsynnott on Thursday June 18, 2015 @01:16PM (#9740141)
In a lot of GPL projects, this is essentially the case, because they either do not have copyright assignation, and have lots of external contributors (Linux, for example) or do have copyright assignation, but to a non-profit dedicated to the principles of the GPL (FSF stuff). People tend to forget about the third case, where a company has copyright assignation for contributors (Oracle stuff), or doesn't take contributions (common in dual commercial/GPL stuff).
Re:Why Greet Apple's Swift 2.0 With Open Arms? by stephenr on Thursday June 18, 2015 @07:33AM (#9737888)
> I completely disagree with other commenters in this thread that we have some obligation to be thankful for companies for putting out things with strings attached.

Swift will be released under a permissive licence, which has literally no strings attached - you can use the software however you like. Unlike the GPL, which has a very explicit string attached.

Re:Why Greet Apple's Swift 2.0 With Open Arms? by loup-vaillant on Thursday June 18, 2015 @06:03PM (#9741887)
If Apple holds any patent regarding Swift, there will be lots of strings attached. You just won't see those in the license itself.
Re:Why Greet Apple's Swift 2.0 With Open Arms? by stephenr on Thursday June 18, 2015 @09:18PM (#9742569)
Apples open source licence specifically mentions patent grants. Why would you assume they won't do the same (or use that exact licence) for swift?
Re:Why Greet Apple's Swift 2.0 With Open Arms? by loup-vaillant on Friday June 19, 2015 @07:09AM (#9744004)
Oops. Forgot about patent grants.
Re:Why Greet Apple's Swift 2.0 With Open Arms? by exelius on Thursday June 18, 2015 @10:37AM (#9738744)
> Imagine Swift becomes a wild success; everyone's writing everything in Swift. What will your reaction be when Apple again makes a "legitimate business decision" and leverages the success to the benefit of their company and implicitly disadvantages other platforms? Maybe they double up on Swift support on Mac and start shipping additional features first for LLVM/Clang on OSX. Will you brush it off again as an understandable move by Apple?

This is not the optimal business decision anymore. Platform protectionism of this nature is not helpful today: customers expect their products to work across multiple platforms. Apple open sourced Swift because having more people use Swift is good for Apple's developer ecosystem. Even if they use Swift to create programs for non-Apple platforms, they still know the lingua franca of Apple products and could easily develop for them. Programming languages are a dime a dozen; Swift as a language isn't objectively superior to Java or Ruby or anything.

But ultimately, most people don't write software for fun. They write software to make money, and Apple has a great platform for doing that. Yes, in order to make money on Apple's platform, you have to pay Apple a cut -- and sometimes you have to write libraries to support certain features, and it's up to you and your priorities whether or not you open source those libraries.

"The community" as you describe it has no power. So long as there is money to be made on iOS, there will be a deep line of companies looking to make a buck. And so long as Apple is the gatekeeper to getting your apps in front of iOS users, you have to deal with the fact that they treat iOS and OS X as their preferred development platforms. As long as it makes business sense to develop apps, people will do it.

Re:Why Greet Apple's Swift 2.0 With Open Arms? by MadcapJake on Thursday June 18, 2015 @11:17AM (#9739063)
> As long as it makes business sense to develop apps, people will do it.

This is exactly what the parent commenter railed against. Go ahead and be an industry apologist but you're only squashing your rights in the process.

Apple knows that developers will keep making apps because so many will just accept what they're told and not ask for more.

As the parent put it, "it's dangerous to get swept up in the excitement of new languages and to assume good graces." We always have to remember that corporations are always going to be thinking of themselves and their gains. Especially one with a history of undermining FOSS values.

> "The community" as you describe it has no power.

Just like Tinker Bell, if you don't believe, the power of the community will fade to nothing. Be skeptical, careful, and vocal about your tool's licenses and Tink will live to see another day!

Re:Why Greet Apple's Swift 2.0 With Open Arms? by coldtea on Thursday June 18, 2015 @04:41PM (#9741496)
>Imagine Swift becomes a wild success; everyone's writing everything in Swift. What will your reaction be when Apple again makes a "legitimate business decision" and leverages the success to the benefit of their company and implicitly disadvantages other platforms? Maybe they double up on Swift support on Mac and start shipping additional features first for LLVM/Clang on OSX. Will you brush it off again as an understandable move by Apple?

So? It sounds not only an understandable move, but NO ISSUE at all.

In this scenario you describe people have ALREADY benefited tremendously from Swift ("writing everything in it" etc, as you describe).

If they don't like some Apple's moves they can always fork from that point. A language in which "they have written everything", means it has huge adoption, and several third party companies and lots of community members to take this up.

And even if they don't fork, they still have the existing compiler and libraries -- the ones they LIKED so much in you scenario that they have adopted and written everything in them --, and they can continue using them.

Basically your argument is: if Apple gives this as Open Source, they should continue giving us anything they do with it as Open Source.

For me just giving it once as Open Source is enough.

If the main offering is good enough, then I don't care if they add some proprietary extensions, now or in 2020.

And if the main offering is not good, I don't care about it in the first place, whether OSS or not.

Re:Why Greet Apple's Swift 2.0 With Open Arms? by rsynnott on Thursday June 18, 2015 @01:10PM (#9740083)
> Imagine Swift becomes a wild success; everyone's writing everything in Swift. What will your reaction be when Apple again makes a "legitimate business decision" and leverages the success to the benefit of their company and implicitly disadvantages other platforms? Maybe they double up on Swift support on Mac and start shipping additional features first for LLVM/Clang on OSX.

This seems implausible, given the extremely long lead-time on wide adoption of new language features that is customary. It would also be _easier_ if they went with a GPL-with-retention-of-copyright model; with a non-copyleft license anyone sufficiently motivated could just fork in this hypothetical scenario.