
Why Greet Apple's Swift 2.0 With Open Arms? - bonzini
http://ebb.org/bkuhn/blog/2015/06/15/apple-is-not-our-friend.html
======
matthewmacleod
It's frustrating to see this somewhat blinkered view.

Yeah, Apple definitely doesn't like copyleft. That's okay; lots of people
don't (especially larger companies – how many large companies actively release
GPLd software?). It's a legitimate business decision, and there are some good
arguments that support it (which you may or may not agree with).

The idea that organisations 'owe' the community copyleft software is therefore
a bit foreign to me.

Furthermore:

 _We 'll likely see pieces of Swift 2.0 thrown over the wall. But the best
stuff will be kept proprietary._

That's a bit of a weird assumption. Apple's statement was the the Swift code
and standard library would be open-sourced. What is the 'best stuff' that
we're not going to get?

 _Apple 's not-yet-executed move to liberate some of the Swift 2.0 code seems
a tactical stunt to win over developers who currently prefer the relatively
more open nature of the Android/Linux platform … the copyleft license of Linux
itself provides the opportunity to keep the core operating system of Android
liberated._

That's a bit flaccid. Google and the Android platform has equally went out of
the way to isolate the platform from the effects of the GPL. In fact, I'm
pretty sure one of the reasons Bionic (the Android libc) exists is
specifically to limit the impact of GPL code on the platform. Android's use of
Linux is basically a historical accident, and painting it as some kind of
concerted effort towards software freedom isn't a compelling point.

TL;DR - you need to relax. Apple releasing open-source code is a good thing.
We can now all benefit from using this code. Maybe you'd prefer if it were
copylefted, but it's not – it's still good, and painting it as an evil move
against software freedom seems like a bit of a mental stretch.

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

~~~
matthewmacleod
_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!

~~~
nickysielicki
__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.

~~~
matthewmacleod
_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.

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

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

~~~
stephenr
> 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?

~~~
pjmlp
> 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?

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

------
Osmium
Reading this thread, I can only imagine some people saying to themselves: _and
this is why we don 't open source our code._

I wonder how many companies keep their source completely closed so as not to
have to deal with this kind of PR? Would we not be in a better world if, when
a company offers code under a BSD-like license, we just say "thank you very
much" and move on? If we don't like the license, we develop our own code under
a different one, and that's the way the world is meant to work, surely?

There's a lot about this backlash I genuinely don't understand.

~~~
bsaul
I completely see your point. But then we've learned from microsoft "embrace,
extend and estinguish" tactics that something that may look good at first
happens to be, in fact, just a trap to lock you into spending money for
something that you didn't used to.

Imagine that swift becomes a super dominant language both for client and
server, but that half of the ecosystem still remains locked by Apple, to have
you buy apple products (like developing for iOS today requires you to buy
apple products, which i personally don't mind because i love their products,
but it shouldn't be mandatory).

I guess it's normal that developers as a community takes great care into what
path they're heading toward.

~~~
zak_mc_kracken
> Imagine that swift becomes a super dominant language both for client and
> server, but that half of the ecosystem still remains locked by Apple

Isn't that exactly the situation with C# and .net?

C# is kinda open source but the runtime is completely Microsoft's. Nobody
seems to make a big deal of it, and C# developers seem pretty happy with their
platform overall.

~~~
bsaul
I wouldn't call C# a super dominant language. it is extremely popular in the
corporate world, where paying for something is seen as a good thing, because
it means you've got support from a vendor.

In the start up culture, where technological innovation and taking risks are
core values, people tend to favor maximum freedom and maximum technological
possibilities, which are often in contradiction with what a corporation would
like you to do.

Now that corporations want to have the same level of innovation you usually
find in start ups, they start to want to use the same tools and embrace a bit
of its culture. Note that Microsoft saw that and have announced massive open
sourcing of every part of the .Net ecosystem just this year (which made a big
impression here on HN, judging by the comments).

And now we've got Apple and swift, and people start to wonder if it's going to
be "Ballmer" open sourcing, "Nadella" open sourcing, or "Stallman" open
sourcing.

It's not just a matter of ideology. It will have practical consequences on the
possibilities of using the language on every server configuration, of building
innovative software with it, things even people at Apple wouldn't anticipate.
Or if you're going to remain constrained to where Apple wants to allow this
technology to grow.

~~~
outworlder
Not just corporate, don't forget that Mono exists. And things like Unity
include it, which means a lot of games are written in C#.

~~~
emodendroket
It exists but it's also tiny and poorly-supported compared to the Microsoft
implementation.

------
rogerbraun
Lots of comments are talking about how Apple "doesn't owe [the FSF] anything"
and that it's a "business decisison". This is all true, but it misses the
point.

The point is that the current trend of companies releasing stuff under non-
copyleft licenses and keeping the 'good stuff' in proprietary forks is bad for
free (FSF-style) software. That's why the article argues that you should take
a good look at what these companies are actually doing beyond press releases
and act accordingly.

You might still think that free software is unimportant or that having pseudo-
freemium open source release is still better than nothing. But that's your own
decision, based on your own values, which might not be the values the FSF
thinks of as important.

~~~
stephenr
> The point is that the current trend of companies releasing stuff under non-
> copyleft licenses and keeping the 'good stuff' in proprietary forks is bad
> for free (FSF-style) software.

Copyleft is meaningless without Copyright. Apple created Swift, and thus owns
the Copyright. As the Copyright owner, Apple can licence/release Swift or
parts-thereof, as it chooses. Even if they did release Swift under the GPL,
nothing would prevent them from also using a non-released version of Swift or
from keeping certain parts/libraries in-house.

> You might still think that free software is unimportant or that having
> pseudo-freemium open source release is still better than nothing.

I think its both insulting and an incredibly narrow-view to call permissively
licensed software "pseudo freemium".

~~~
hobarrera
> Copyleft is meaningless without Copyright. Apple created Swift, and thus
> owns the Copyright. As the Copyright owner, Apple can licence/release Swift
> or parts-thereof, as it chooses. Even if they did release Swift under the
> GPL, nothing would prevent them from also using a non-released version of
> Swift or from keeping certain parts/libraries in-house.

If swift is GPL, Apple cannot keep secret changes it makes on top of third
party contributions.

If swift is MIT/ISC, Apple can keep changes made on top of third party
contributions secret.

~~~
PenMount
Oh like Oracle cannot make a commercial closed version of MySQL because it is
under GPL[0] or QT[1] cannot have both a closed and a GPL version.

There are a lot more examples of this.

On the other hand look at how RMS/FSF talks about LLVM and BSD[2], i am a
developer there prefers the MIT license for my software, and for me FSF and
GPL are a lot more dangerous then apple and there open source license.

[0]
[http://www.mysql.com/about/legal/licensing/oem/#4](http://www.mysql.com/about/legal/licensing/oem/#4)
[1]
[http://doc.qt.io/qt-5/licensing.html](http://doc.qt.io/qt-5/licensing.html)
[2] [https://lwn.net/Articles/582242/](https://lwn.net/Articles/582242/)

~~~
jorgecastillo
As I see it permissively licensed code puts every one on equal terms. We all
can make open source forks & we all can make proprietary forks. With copyleft
some one is more equal and it is not the users, since we can only make
copyleft forks.

~~~
icebraining
Or you could contribute back to the copyleft project (without copyright
assignment or relicensing grants) and then you're all on equal terms again:
nobody can make proprietary forks.

~~~
PenMount
Why should i take the freedom of making proprietary forks away from people?

My goal with open sourcing my software are to make the (software) world just a
little better, i do that by writing the best software i can and hope that as
many people possible use it, if i write the best ftp library in the world and
you need a ftp library for your proprietary program i hope you use mine
instead of an inferior implementation.

In my world view i do not loss anything by you making a proprietary forks of
my work (i still have my version of my work with my license) but you and your
users are getting a better product.

~~~
icebraining
If your priority is to improve the quality of the software that people use, I
don't think you should use copyleft.

If you think that quality is important, but that as important as that is that
users should have control over the software they use, as part of the control
they should have over their own lives, then I think a copyleft license is a
good tool to help achieve that.

------
cokernel_hacker
I don't believe Mr. Kuhn is especially aware of how LLVM is developed. I am a
regular contributor to the project (> 1000+ commits) and it is simply not the
case that one can contribute code in this way.

The LLVM project makes it's stance on patents quite clear [1].

[1]
[http://llvm.org/docs/DeveloperPolicy.html#patents](http://llvm.org/docs/DeveloperPolicy.html#patents)

~~~
pgeorgi
Where does he claim that you can't contribute code to LLVM?

His claim is that Apple ships a LLVM that is different from what you can get
as source code (thanks to a lack of copyleft). See the saga of the two aarch64
backends...

~~~
cokernel_hacker
He writes:

> Apple's announcement remained completely silent on patents, and we should
> expect the chosen non-copyleft license will not contain a patent grant.

~~~
pgeorgi
They may not release Swift into llvm. Given that it's just a frontend, it can
live on opensource.apple.com without too much maintenance pain.

~~~
cokernel_hacker
There are many reasons why it's unlikely to live at opensource.apple.com, here
are some of them:

First off, some frontend features are only feasible by changing LLVM itself.
This is uncommon but ultimately not rare at all, this is where IR features
like musttail, inalloca, safestack and segmented stacks originated. It is
unlikely that swift will never need such a change.

Secondly, it would directly contradict what Chris Lattner announced at WWDC:
They are going to accept contributions (both ideas and code) from others.

Finally, a frontend which generates LLVM IR has a very tight dependency on
LLVM itself. LLVM IR is allowed to freely evolve which, in turn, causes APIs
to change or disappear. It is much easier to deal with this if your code lives
on llvm.org because the community is obliged to make sure your code continues
to work. People fix polly, lldb, clang, etc. if their change to LLVM broke
them.

------
Lazare
I'm not sold on the inherent good of copyleft licenses. The author seems to
think that funding development of permissively licensed free software is, in
fact, a bad thing. I'm sure that seems obviously true to some people.

If Apple is a "wily opponent" of open source, then maybe we need more such
opponents?

(Also, I'm not following the argument that Apple is open sourcing Swift to try
and beat Android. Nor do I think the Android platform deserves as much of a
pass as the author gives it.)

------
b00gizm
Chris Lattner fought many years (I believe he started working on Swift 5 years
ago) to eventually bring Swift to the open source world. It's not a "tactical
stunt" to implement Apple's evil plan to lure people away from Android/Linux.
Believe it or not, there are people inside Apple who really want feedback and
contributions from the community to improve their language.

~~~
jarek
> Believe it or not, there are people inside Apple who really want feedback
> and contributions from the community to improve their language.

That's not hard to believe. But far more important whether those people are
the ones ultimately calling the shots.

~~~
josephg
What an amazingly entitled post. Why would outside contributors call the
shots? Its Apple's project; not yours.

~~~
jarek
You misread. I don't expect outside contributors to call the shots. b00gizm
referred to "people inside Apple who really want feedback and contributions
from the community to improve their language" and I suggested that those
inside contributors might not have the power to allow effective outside
feedback and contributions.

Incidentally, if Swift is to be widely adopted outside the Apple ecosystem,
it'll help hugely if it becomes a community project, not "Apple's project".

------
kybernetyk
This kind of texts always reminds me of political/religious pamphlets.

If you love freedom so much why don't you just let people release their
software under a license they seem appropriate and you release your software
under copyleft?

If Apple's not your friend don't play with them. Don't try to force them into
a friendship.

~~~
rogerbraun
It's about educating developers to make an informed decision. I don't know why
that's supposed to be religious.

~~~
matthewmacleod
I guess it's the abstract, evangelical nature of it that makes it comparable
to religion in some ways.

The implicit assumption you're making is that developers are _not_ making an
informed decision already. I reckon that's not the case, and the developers
_are_ informed – they just don't care.

Arguments about long-term, abstract concepts like enduring freedom of
software, or the risk of patent litigation for using non-copyleft software,
are valuable to have. But these things have a limited impact in the short-
term, day-to-day work of developers.

~~~
userulluipeste
"the developers are informed – they just don't care"

We can't take that for granted. I for one found the article very useful and
informing, raising my awareness about this next Apple stunt.

~~~
gambiter
Except, nearly the entire article is based on speculation. Speculation doesn't
raise awareness, it simply makes you think you're informed. In reality, you're
just accepting someone else's biased opinions.

------
owenwil
This seems a little extreme.

"To me, Apple's not-yet-executed move to liberate some of the Swift 2.0 code
seems a tactical stunt to win over developers who currently prefer the
relatively more open nature of the Android/Linux platform."

They said why this was the case -- Swift 2.0 isn't finished yet -- but have
pledged to open-source the entire thing.

~~~
cmsj
Bradley is pretty extreme :)

It's not necessarily a bad thing to have sentinels out on the fringes, like
RMS and Bradley, to remind us not to get lost. We don't have to go where they
are, but we can at least navigate by them.

Having said that, there is a detail here which Bradley is omitting.
Specifically, that is that Apple is not anti-copyleft, what Apple is (and what
many other corporations are), is anti-GPLv3.

Apple shipped Samba for a very long time. They could have replaced it at any
point, but they didn't need to. It was Samba switching to GPLv3 that pushed
Apple into writing its own SMB implementation.

Now, it's possible that these things are unrelated, but I believe I am correct
in stating that Apple has never shipped GPLv3 software, and anything that has
switched to v3, simply gets replaced or held back at its last v2 release (see
[https://news.ycombinator.com/item?id=3559990](https://news.ycombinator.com/item?id=3559990)
). The most likely explanation is that they are not prepared to be bound by
the patent/tivoisation clauses.

The deeper question is why these v3 terms are unacceptable. IANAL, but I have
worked at places where there are pretty flexible policies around
using/distributing Free Software, and it's not at all uncommon that blanket
policies apply to v2 licensed software, but any and all use of v3 (or indeed
AGPL) software require specific individual review by Legal to ensure that you
aren't placing the company in an actionable position. That's a pretty heavy
time/effort burden to place on the (ideally nimble) process of developing and
shipping software, it's also a cost burden.

Personally, I love the GPLv2, I think it's a masterstroke of a license. I
don't use it very much anymore, but I'm very glad that exists. I think v3 goes
to far, and I think AGPL goes _way_ too far.

I tend to think that there are strategic projects which should be under v3, to
protect the wider Free Software community from being unreasonably locked out
of their own future, however, it seems fairly clear to me that overall, v3 has
hurt copyleft more than helped it.

~~~
xerophyte12932
If it's not too much trouble, could you please this part:

>Personally, I love the GPLv2, I think it's a masterstroke of a license. I
don't use it very much anymore, but I'm very glad that exists. I think v3 goes
to far, and I think AGPL goes way too far.

I am really not familiar with licenses and I have a feeling the legal text
won't make much sense to me either if I treid reading it by my self

~~~
merijnv
Short summary (from memory, so might be a little faulty):

GPLv3 = GPLv2 + you can't sue any users/distributors for violating your
patents + you grant an implicit license to all your relevant patents to your
users + you must protect users from patents that might be covering code you
contribute

For companies with patents and lots of patents they are afraid of losing their
ability to sue for patent violations. I'm unclear whether the license you
grant is just for the GPLed code or just in general. And in general it's
unknown how all this plays out in court, so most lawyers (and thus companies)
avoid v3 like the plague.

AGPL = GPL + must distribute even if you just provide an internet accessible
service.

The idea being that the GPL only applies to distribution, so if I modify some
GPL software but never distribute it (because I just run it on a server I
control) I never have to GPL my changes. The AGPL says you have to
distribute/open source your changes even if you don't distribute if the
modified software is accessible over the network to users.

~~~
minot
I think of it as an insurance policy. If I release my server side code as
agpl, I know that anyone who uses it also has to share the code in their
servers has to share it with their users.

In my simple mind, open source is a developer construct while free software is
a user construct. Thank you for bringing a user's perspective in explaining
GPL.

~~~
cmsj
FWIW, I tend to substitute the word "user" there, for "software".

I see permissive Open Source licenses as giving developers all the freedom,
and copyleft licenses as giving the software itself, all the freedom.

I choose this distinction only because some users are developers, and a
copyleft license specifically restricts them from doing some things (i.e.
closed source forks), thus restricting their absolute freedom. Instead, the
software itself is promoted to the receiver of ultimate freedom, because its
basic rights are enforced through all its generations/forks/integrations.

------
Perceptes
This isn't a compelling argument for anyone like me who doesn't think copyleft
licensing is some grand virtue. If they haven't violated the licenses of
software they're using, I don't see a problem. They're under no obligation to
open anything at all to the public, and shouldn't be.

~~~
cmsj
FWIW, I don't think Bradley is claiming that they are under any obligation
here.

------
DannyBee
Just to take the wind out of the sails of the first paragraph:

[http://llvm.org/docs/DeveloperPolicy.html#patents](http://llvm.org/docs/DeveloperPolicy.html#patents)

LLVM has a developer patent policy, and Apple will adhere to it the same as
anyone else or the code won't be part of LLVM. Chris Lattner knows this. LLVM
has a foundation with directors that aren't Apple.

So yeah, there goes that argument.

As for the rest - Bradley acts like the free software advocates were much
better at open development or not throwing stuff over the wall.

Emacs, for a very long time (and other fsf projects the same), had secret pre-
tests. If you shared the ftp info with others and they found out, they'd
remove your access.

Part of the EGCS/GCC split was precisely over the fact that GCC was not openly
developed.

Their projects still aren't all developed in a very open or free manner.

Of course, Bradley instead concentrates on the higher level view of what this
will do to programming language development , partially because Free Software
has such a poor history at the lower level on this one, and partially, i
believe, because the details just don't matter to him if the concept is
achieved :P.

The short version of that is: I'd love to see the free software folks get
their own house in great order before continuously calling everyone else out.

It's not that they are wrong in a lot of ways (except about the patent stuff),
but the _details matter_ , and they have a _very poor history_ on those
details. They stand nearly zero chance of convincing anyone when all that
happens is to stand on a soapbox and scream about how bad everyone else is. I
know y'all want to just compete on ideology, but it isn't going to work. Prove
it's not just a better ideology, but it leads to better communities, or better
projects, or anything.

Otherwise, it's just another political faction that nobody is going to care
about.

------
mcintyre1994
> we should expect the chosen non-copyleft license will not contain a patent
> grant.

How come? Does Apple have a history of licensing open source software and
making it unusable with patents? I can't say I'd be surprised, but it would be
news to me. Is Webkit a counter-example, I don't think they've chased Google
about patents?

------
d_theorist
This seems pretty much to reduce to the old copyleft-vs-liberal license debate
(along with a generous sprinkling of fear, uncertainty, and doubt), which
doesn't seem worth re-hashing.

------
thomasfoster96
I don't think I'll ever understand the sense of entitlement people who
advocate this idea of 'copyleft license or else' seem to have.

There's nothing bad about Apple not using a copyleft license. I'm glad we live
in a world where they can pick any license they want. Apple could have kept
Swift closed source if they wanted, and I would have been okay with that -
while I might have liked for them to make it open source, it's completely up
to them what they want to do with it.

------
ebbv
Are we still having these "They chose a license other than the one I support,
so it's not really Open Source software." rants in 2015? I thought we were
done with those in the late 90s? Come on.

------
inglor
I don't blame them after what Google did with Chrome from all the hard work
they poured into WebKit. Especially since they later forked it into a separate
project.

So while this is a programming language and such an issue is not likely to
rise here - I can see why Apple would be very cautious in this case.

~~~
cromwellian
1) Forking in open source is not a crime, it is a virtue and fundamental right

2) By "after what Google did with Chrome", do you mean contributing massive
amounts of engineering resources to WebKit for several years, exceeding
Apple's own WebKit team? Look here: [http://www.kaizou.org/2013/04/why-google-
dropped-webkit/](http://www.kaizou.org/2013/04/why-google-dropped-webkit/)

If someone's forking your project, it's usually because productivity/velocity
is going down because of either too much political contention, or too much
legacy code.

~~~
inglor
Right, for the code base it is good - from Apple's PoV however they lost
market-share in a billions-of-dollars market

~~~
plorkyeran
I've never seen any indication that Apple valued their "market share" from
Chrome using WebKit in any way, and the people actually working on WebKit for
Apple were mostly happy about the fork.

~~~
inglor
Just as a data point, Google paid Mozilla 300 million dollars two years ago to
be the default search provider in Firefox. This is definitely a market.

------
lamontcg
Open Source is not "the cooption of Free Software".

Early versions of the BSD License dates back to at least 1988, the GPLv1 was
created in 1989. Do whatever you want, or public domain licensing existing
long before either.

If anything GPL and the FSF co-opted Free-as-in-Beer software into their own
version of Software-that-is-forever-Free, and now have rewritten history to
the point that all BSD code is an attack on Freedom.

And this is largely why GPL/FSF is fighting a losing battle these days.
Companies view the GPLv3 as toxic, and most of the kids on GitHub don't care
and don't understand why their code isn't just BSD-by-default (and the License
Anarchy "movement" is a much bigger problem than this losing battle that FSF
is picking with Open Source).

~~~
belorn
In 1988, open source was a term for spies that collected intelligence from
publicly available sources. If you talked about open source then and pointed
to BSD, no one would understand you.

If we want to define when liberty was first a concept, it was around roman
empire that started to talk about it as a concept. But that is of course not
the first time someone was free. Freedom is as old as humanity, and you can't
predate that.

so in order, terms was created in: freedom -> liberty -> free software -> open
source.

------
JustSomeNobody
Honest question:

The author mentions patents. What patents could their possibly be with Swift?
There's a TON of information on compiler theory available. Would Apple have
wasted time trying to come up with something new just to patent it?

------
lorddoig
There are a lot of valid criticisms that can be thrown at Apple these days,
and maybe they're not "our" friend.

But I find myself thinking more and more that when a company becomes the most
valuable private entity in the history of humanity off the back of luxury
goods the _vast_ majority of the world can't afford - and in a highly
competitive arena too - you really have to assume they know what they're doing
when it comes to doing right by themselves. And who can blame them for that?

Apple have won: in business terms, they _define_ success. Standing in
judgement of them makes me feel foolish.

~~~
Intermernet
To paraphrase, and pick a historical group:

"The Romans have won: in empire-building terms, they define success. Standing
in judgement of them makes me feel foolish."

Just because they're at the top of the game doesn't make the game itself prone
to breaking.

It also doesn't mean that we have to like the game, or believe that it's
compatible with standard social moral behavior.

~~~
lorddoig
I'm not sure it's the same you know. Lands are conquered and retained with
politics (i.e. charismatic bullshit) and the application of brute force. It's
about suppressing the wills of others whereas winning at commerce in a
competitive environment is about understanding and fulfilling them. _That_ , I
would argue, is a significantly more challenging task. Many large companies
are defined by their size and the advantages it brings, but not so for Apple:
lots of companies have the resources to do what they do and yet only Apple
ever pulls it off. They really are a different beast.

But I do agree with your other points.

~~~
Intermernet
>Lands are conquered and retained with politics (i.e. charismatic bullshit)
and the application of brute force.

How is this different to how Apple (Microsoft, IBM, Oracle etc.) play the
game?

>It's about suppressing the wills of others whereas winning at commerce in a
competitive environment is about understanding and fulfilling them.

This is a wonderful sentiment to approach commerce with, but it's all too
easily forgotten when you're already at the top of the game.

To stretch my already two-dimensional metaphor, it's at this point that
empires start to stagnate, and eventually fall.

Note: None of this is prediction, or even strong criticism of Apple (They are
thriving in an environment they didn't create), merely thoughts :-) I agree
that Apple have, in the present climate, defined a new paradigm for commercial
success. I just don't agree with the finer points of the paradigm...

~~~
lorddoig
> How is this different to how Apple (Microsoft, IBM, Oracle etc.) play the
> game?

At what point has coercion come in to putting a iDevice in your hand? Sure we
could have _that_ argument about advertising but Apple doesn't do a whole lot
of that and the advertisements they do create are hardly designed to
manipulate you - not to mention we are comparing them to the Romans here...

> This is a wonderful sentiment to approach commerce with, but it's all too
> easily forgotten when you're already at the top of the game. To stretch my
> already two-dimensional metaphor, it's at this point that empires start to
> stagnate, and eventually fall.

It's not a sentiment, it's the very essence of commerce. If you remove that
incentive (and decline to implement an authoritarian regime to organise by
force, like communism) then you have nothing but a bunch of former bureaucrats
twiddling their thumbs (and likely starving to death.)

Commerce is about trading things you have for things you want: no more and no
less. The problems of today are not the fault of freely organised trading by
independent actors - that, instead, is the thing that brought us out of the
stone age - but by the truly pain-in-the-arse implementation details of making
this "system" moral and fair (define those terms however you will.) The reason
I've air-quoted "system", btw, is because it is no such thing. If the
apocalypse comes and the political/financial system falls, and you find
yourself holed up in some basement with a stash of weaponry but no food you'll
see that commerce is as natural as breathing. We have literally studied
magpies and chimps making what we would call _business decisions_. Commerce is
not evil, the system we've built around it is - I think this is the paradigm
you have issue with, and it's something you ultimately need to take up with
the political system.

Apple's success is owed to being good at this fundamental notion of trade,
instead of gaming the system to their advantage (how many Fortune 500's would
fall with a fraction of the competition Apple faces?) In order to fall one of
four things would have to happen: 1) the entire system turns against them; 2)
they stop being good at being Apple; 3) someone else learns how to do as they
do or; 4) their actions ancillary to the product they provide me (like OPs
points) become so offensive that they outweigh the benefits of being an Apple
customer for a significant proportion of the consumer base. Personally, I see
none of these as being particularly realistic or becoming so anytime soon.

------
HugoDaniel
IMO non-copyleft opensource licenses are better for technology push as they
lower the barriers for the closedsource industry to embrace and extend the
technology.

This might also be the case with Apple and Swift.

------
sigzero
No Company is really our "friend".

------
overgard
I agree with the title of this, but not much else.

I have nothing against apple or swift, but the way I see it, there's no good
reason to only target iOS and ignore android and windows. So Swift has no
utility for me at all. Proprietary languages are the worst sort of vendor
lock-in, and I have no interest in participating, especially considering that
apple has historically not been particularly great to developers.

------
istvan__
It is an ok article. I checked the license of LLVM though:

[http://llvm.org/releases/2.8/LICENSE.TXT](http://llvm.org/releases/2.8/LICENSE.TXT)

[http://llvm.org/docs/FAQ.html#does-the-university-of-
illinoi...](http://llvm.org/docs/FAQ.html#does-the-university-of-illinois-
open-source-license-really-qualify-as-an-open-source-license)

If there is something very specific to Apple and they want to keep the
copyright after writing that module in LLVM, we should respect their decision.
There are several companies using copyright licenses or not open sourcing
anything they are working on. Compare to them this entire LLVM situation is a
success story from the free software point of view. LLVM became the default
toolchain and compiler for many project because of its high quality and
meaningful error messages (GCC anyone?). I can live without Swift, but I
definitely need LLVM going forward.

------
kps

      > But, their anti-copyleft witch hunt goes back much further.
      > It began when Richard Stallman himself famously led
      > the world's first GPL enforcement effort against NeXT
    

Actually it began some five years earlier, when Stallman refused to allow
patches for Macintosh support into gcc.

------
BuckRogers
This is premature. Wait and see on Swift2.0. Seems knee-jerk reaction. I mean,
"Apple is not our friend"? No for-profit is our friend. Stating the obvious
doesn't reinforce the point made in the editorial that the author fears
programmers will be bamboozled by Apple possibly not following through on
their promises.

------
rsynnott
> Apple explicitly stated though that such released software will not be
> copylefted. (Apple's pathological hatred of copyleft is reasonably well
> documented.)

Very few new compilers/runtimes are open-sourced; this seems like a bizarre
objection, and one that would cover a hell of a lot of other languages.

------
serve_yay
I think it's worth noting that this was originally titled "Apple is not our
friend". Sheesh.

------
rsync
"Fortuitously, Apple eventually discovered a technically brilliant (but sadly
non-copylefted) research programming language and compiler system called
LLVM."

What does he mean by that ?

Did LLVM already exist in various pieces and apple "discovered" it by putting
them together ?

Or is he purposely using the word "discover" to suggest that you can't invent
a programming language (since programming is all reducible to math) and that
new languages are merely "discovered" ?

~~~
shiggerino
They discovered that the University of Illinois had been working on a compiler
back-end called LLVM, and that being permissively licensed they could use it
as a shortcut to making a proprietary compiler without putting in all the
work.

~~~
s73v3r
By being permissively licensed, it was free from all the garbage and
ideological baggage that GCC has, so they could use it in meaningful ways
besides being just a compiler. Like using it to do analysis on code in the
IDE.

~~~
shiggerino
That's because LLVM have those features, not because it has that license. A
program designed to do analysis on code in the IDE will still do it even if
the program is proprietary, which is the inevitable consequence of promoting
permissive licenses.

------
jezfromfuture
This reads like a very paranoid post.

------
arca_vorago
This has been hashed out before in better ways, but I'm going to take a stab
at simplifying the issue at hand for modern and future computing.

The developer wants freedom and so does the user. Most of us are both
developers and users.

Closed code or non-foss code is geared to give developers freedom, but at the
cost of user freedom. FOSS licenses such as GPLv123/LGPL favor user freedom,
but at the cost of developer freedom.

For me, the bottom line is that I believe, given the trajectory of computing,
FOSS is closer to protecting actual freedom of both developers and users than
any alternative.

I think a good thought experiment is to imagine we are a bit further in the
future, and now brain-computer interfaces are prevalent. I often joke with my
boss that he would be an early adapter of "Apple-brain", but the point is that
I would never plug in a brain-computer interface without having the four
freedoms on it.

There is a glaring issue at hand here though, with FOSS, that I think fails to
address this issue: namely "ou should also have the freedom to make
modifications and use them privately in your own work or play, without even
mentioning that they exist. If you do publish your changes, you should not be
required to notify anyone in particular, or in any particular way."

I don't think that goes far enough. Due to our legal system, I don't only want
the ability to modify my brain-computer, but I also want the ability to make
sure no one but me has access to that particular source code. Generally FOSS
licenses would protect me from someone copying my brain code if they failed to
adhere to the FOSS license, but it does nothing to protect what I would
consider proprietary brain-code.

Is your computer as it is not already an extension of your brain to some
extent?

Do you have full control of it, or at least the ability to take control of it?

If no is the answer, I consider that a weakness.

Freedom comes with a price, and in this case the primary cost of freedom is a
lack of features, and time and effort necessary to get a functional set of
features. eg. in reality, I think I really ought to be compiling everything
from source (Gentoo, etc) and checking hashes/checksums and reviewing code
(maybe in an automatic way).

We all make tradeoffs, but as the future progresses, I believe very strongly
that those who embrace pieces of proprietary software now will be at a large
disadvantage later, and that includes companies.

Sure, Apple has the freedom to determine their licensing schemes, but do keep
in mind that it affects a huge number of users (eg, actual people, instead of
a company), and many users will embrace it, but I don't have any issues with
FOSS proponents calling out the facts whenever a company with so large a
userbase degrades user freedom, because no matter how you want to defend
Apple, that's what they do.

~~~
shiggerino
Proprietary software doesn't give the developers any freedom beyond what they
already have by virtue of being the copyright holders to their code.

~~~
arca_vorago
Even then, you can still do that with FOSS code so what's the need? The
Mozilla/Icecat(weasel) saga is a good example.

------
tzs
> Apple's dogged pursuit for non-copyleft replacements for copylefted software
> is far from new. For example, Apple has worked to create replacements for
> Samba so they need not ship Samba in OSX.

That is not Apple pursuing non-copyleft software. That is Apple pursuing non-
GPLv3 software. If Samba had stayed GPLv2, I doubt Apple would have replaced
it.

> But, their anti-copyleft witch hunt goes back much further. It began when
> Richard Stallman himself famously led the world's first GPL enforcement
> effort against NeXT, and Objective-C was liberated.

He makes it sound like it was some kind of highly adversarial situation, but
here is how Stallman describes it [1]:

    
    
       The issue first arose when NeXT proposed to distribute
       a modified GCC in two parts and let the user link them.
       Jobs asked me whether this was lawful. It seemed to me
       at the time that it was, following reasoning like what
       you are using; but since the result was very undesirable
       for free software, I said I would have to ask the lawyer.
       
       What the lawyer said surprised me; he said that judges
       would consider such schemes to be "subterfuges" and would
       be very harsh toward them. He said a judge would ask whether
       it is "really" one program, rather than how it is labeled.
    
       So I went back to Jobs and said we believed his plan was not
       allowed by the GPL.
    
       The direct result of this is that we now have an Objective
       C front end. They had wanted to distribute the Objective C
       parser as a separate proprietary package to link with the
       GCC back end, but since I didn't agree this was allowed,
       they made it free.
    

> But, that whole time, Apple was carefully plotting its escape from the
> copyleft world.

This is just nonsense. If NeXT/Apple had been so determined to get away from
copyleft, they would have changed their Objective-C compiler from being part
of GCC to being a completely separate program that took in Objective-C and
translated it to plain C.

> Fortuitously, Apple eventually discovered a technically brilliant (but sadly
> non-copylefted) research programming language and compiler system called
> LLVM. Since then, Apple has sunk millions of dollars into making LLVM
> better. On the surface, that seems like a win for software freedom, until
> you look at the bigger picture: their goal is to end copyleft compilers.

Two problems here. First, as mentioned above if Apple was so determined
against copyleft compilers, they would have made Objective-C a front end that
output C (similar to Stroustrup's cfront for C++).

Second, he is overlooking the fact that GCC was not _technically_ able to meet
Apple's needs. For example, Core Image needs an optimizing JIT compiler that
can take a chain of image filters and turn it into a single efficient filter
for execution on the GPU or CPU (whichever will be faster on the particular
system for the particular effects). XCode needs to parse C/C++/Objective-C
code in the editor and in the debugger. In short Apple needed a modular
compiler system, designed to work as a compiler toolkit from which you can
pick and choose the parts needed for a particular application, and designed to
be easy to interface with outside tools.

GCC was _explicitly_ designed to not be that, and Stallman would reject
changes that would make it easier to use it that way. GCC has opened up a bit
to modularization and interfacing with outside tools since then, but that was
directly due to competition from LLVM/Clang.

> Their goal is to pick and choose when and how programming language software
> is liberated.

The author's mistake here is in thinking that Apple _has_ a goal in this area.
It is far more likely that whether or not programming language software is
liberated is completely orthogonal to anything Apple cares about. They are
open sourcing Swift because Chris Lattner wanted to, and their lawyers did not
see any problem with that.

[1]
[http://clisp.cvs.sourceforge.net/viewvc/clisp/clisp/doc/Why-...](http://clisp.cvs.sourceforge.net/viewvc/clisp/clisp/doc/Why-
CLISP-is-under-GPL)

------
tddfuckwitz
To be fair, you don't have to use LLVM or Swift, if you don't want to - there
are other compilers and languages out there, some already cross platform
(hello C++).

I understand the unhappiness though that so called techies and developers
these days do not question anything anymore. They just take what they are
spoon-fed and ask for more of the same.

------
Doctor_Fegg
Not convinced by the editorialised submission title here. Would be preferable
to use the blogpost's title, "Why Greet Apple's Swift 2.0 With Open Arms?".

~~~
Ensorceled
Since the answer to the blog post title is, in the author's opinion, obviously
"We shouldn't", that is, in fact, a terrible title.

The submission title is not poorly editorialized, it's pretty much exactly the
author's opinion.

------
happyscrappy
They should have left the title "Apple is not our friend" because that is
easier to upvote without reading.

------
chenster
BFF.

------
bechampion
yellow background .. next article.

------
sounds
I have to agree. It used to be Apple who was claiming Unix's traditions. Now
they use promises of a future release as PR pieces to combat existing
software. (This was a Microsoft strategy several decades ago.)

~~~
cmsj
That's such a defensive position to take. Who/what is Apple combatting by
announcing that Swift will go open source? It's just one more language in a
huge sea of options.

It's expected that any language, if it is to be taken seriously outside its
host ecosystem, should be available in an Open Source or Free Software form.
Why should Swift be any different?

~~~
sounds
It is different, right now. No source code for Swift.

It's really simple: quit claiming to be open source, or actually ship the
code.

~~~
cmsj
They didn't claim it _is_ open source, they said it's _going to be_.

So, again, who is Apple combatting by announcing their intention to open
source a language?

~~~
azinman2
No one, but the free software peeps always need to get their panties in a
bunch about SOMETHING to proactively defend their dogma.

------
zak_mc_kracken
> I'm often pointing out in my recent talks how complex and treacherous the
> Open Source and Free Software political climate became in the last decade.

The climate would be a lot more relaxed if the open source community picked
spokespersons who are less fanatical and a bit more level headed than the
current crop of leaders (among which rms, esr and the author of this strongly
biased article).

~~~
PenMount
Or just that the "free" software people stopped attacking the open Source
people all the time.

~~~
the_why_of_y
I'd recommend watching Bradley's LCA 2015 talk, especially the slide 11 where
he's talking about the aggressive anti-copyleft stance of today's Apache
Software Foundation (in contrast to the ASF of a decade ago, as discussed near
the beginning of the talk).

[https://www.youtube.com/watch?v=-ItFjEG3LaA#t=19m50s](https://www.youtube.com/watch?v=-ItFjEG3LaA#t=19m50s)

------
bagosm
"That's already happening with LLVM, anyway; Apple already ships a no-source-
available fork of LLVM."

In the old days we used to call this "bait and switch". That being said, I
dont necessarily thing it's a bad thing. Corporations don't exist for
philanthropy, they are motivated to bring better and viable products to the
market.

