
Apple is doubling down on open source - happy-go-lucky
http://www.techrepublic.com/google-amp/article/apple-is-doubling-down-on-open-source/
======
forgettableuser
The only thing that has doubled down here is the marketing of the fact they
are contributing to open source. They have both been large users and
contributors to open source since the switch to OS X (NeXT acquisition).

Just off the top of my head, projects they have had a large hand in: WebKit &
JavaScriptCore, Objective-C, CUPS, LLVM, Clang, Bonjour/Zeroconf, Darwin,
launchd, libdispatch, CoreFoundation, dtrace.

And more recently Apple Lossless Encoder, LZFSE compression, and of course
Swift.

And this is only a tiny fraction of what they are users of.

~~~
techdragon
It would be nice if some of their contributions were less "throw it over the
wall once or twice a year".

It would be nicer still if they stopped thinking their browser only needs to
get new features once per year. Safari is rapidly getting a reputation as the
new IE6. Fully supporting ES6 means nothing when everything is being
transpiled and minified anyway, and the (arguably) dominant mobile browser
your (kinda) forced to target doesn't support features that shipped in every
other browser years ago, heck many missing features have even stabilised in
other browsers years ago. The dev builds on desktop are just a token gesture
that further displays how far behind the times WebKit/Safari/MobileSafari are
falling.

Here are just a few things not supported in any Apple browser, _Including_ the
" _Technology Preview_ " on desktop:

CSS Motion Path; CSS Device Adaptation; Client Hints: DPR, Width, Viewport-
Width; inputmode attribute; MediaRecorder API; Network Information API; Web
Animations API; Pointer events; Web App Manifest; seamless attribute for
iframes; Payment Request API; Credential Management API; Push API; FIDO U2F
API; Permissions API; Screen Orientation; Object RTC (ORTC) API for WebRTC;
Proximity API; Ambient Light API; Battery Status API; Vibration API; Web MIDI
API; getUserMedia/Stream API; WebAssembly; 'SameSite' cookie attribute; Public
Key Pinning; XHTML+SMIL animation;

~~~
wux
This looked like a pretty long list of unsupported APIs, so I decided to do
some research:

\- CSS motion path is not an official standard; it is implemented only in
Blink (Chrome/Opera).

\- CSS device adaptation is a W3C working draft. It is available prefixed in
IE/Edge and Opera Mini, but is unprefixed in 0% of shipping browsers.

\- Client Hints: DPR, Width, Viewport-Width is an IETF working draft
implemented only in Blink (Chrome/Opera).

\- inputmode is supported in 0% of shipping browsers.

\- MediaRecorder API is a W3C working draft supported in Blink (Chrome/Opera)
and Firefox but not IE/Edge or Safari.

\- Network Information API is not an official standard; it is supported only
in Chrome for Android.

(Source: caniuse.com)

I stopped going through the list at this point. At least from the top of your
list, none of these features are "shipped in every other browser" and some are
shipped in no browsers at all. I'm not sure how it shows that Safari is "far
behind the times."

If anything, the list seems to show that Chrome implements many non-standard
APIs not available elsewhere. Combined with its mindshare (if not
marketshare), this suggests that Chrome--not Safari--is in some ways the new
IE6.

~~~
techdragon
I'd edit my post to remove the items that aren't standard or even working
drafts yet, but unfortunately the time window has passed so I can't now.

But I can't agree that Chrome is in any way the new IE6. Chrome is actively
participating in the public view in the process of web standards. Apple seems
to 'participate' insofar as they are on lists of participating companies.
Apple pretty much adds just one batch of features per year, and does so
through a completely opaque process that outside developers are _almost_
completely irrelevant to. Chrome at least listens to outside opinions, while
one of the defining traits of the IE6 years was having to work under the
umbrella of a "we don't care, just use what we gave you" attitude from the IE6
developers.

Also, the fact I had to open chrome in order to post this comment to HN is an
amusing addition to this little "how broken is the web" discussion.

~~~
grzm
I suspect the reason gp included the IE6 comparison at all was in response to
yours, after looking into ES6 support across browsers for features you
specifically called out, which I think is fair to do.

As for opening Chrome to post your comment, are you having issues with other
browsers when you do so? I generally use Safari in Mac OS X and iOS without a
problem.

~~~
Chyzwar
Web Developers use common lowest denominator with is IE8-IE9 for public facing
projects and IE11 for internal...

Your Safari will work just fine, but it is still behind Firefox or Chrome [0].
I am not saying that Safari is new IE because we will struggle with IE11 for
years to come.

Before Safari 10 ES6 was supported in 54% then in Safari 10 is 100%. This is
wrong approach to web, it is the same approach that MS had in the past. Ignore
standards and make some improvement with new version for bragging rights.

[0] [https://nolanlawson.com/2015/06/30/safari-is-the-new-
ie/](https://nolanlawson.com/2015/06/30/safari-is-the-new-ie/)

~~~
stephenr
> Before Safari 10 ES6 was supported in 54% then in Safari 10 is 100%. This is
> wrong approach to web, it is the same approach that MS had in the past.
> Ignore standards and make some improvement with new version for bragging
> rights.

How is implementing some of a standard, and then completing work to implement
100% of that standard "ignoring standards"?

------
skissane
If they are "doubling down on open source", maybe they could get open source
Darwin working again? From what I've heard, while they still release some of
the source code, it is no longer in a form in which it can easily be compiled
into a usable operating system – e.g. some of the components they release
source for can't even be built because they rely on unreleased Apple private
header files – basically, things have gone backwards on this front compared to
earlier versions of OS X.

(From what I've heard, I don't know how true it is, Apple became less open
with Darwin, around the time of the PPC-Intel transition, out of fear it was
making life easier for people trying to use OS X on non-Apple hardware
easier.)

~~~
coldtea
> _If they are "doubling down on open source", maybe they could get open
> source Darwin working again?_

Why? Without the UI and OS X GUI programs it's not something many would care
to run as opposed to Linux or FreeBSD, and most haven't.

~~~
skissane
I can think of one use. Suppose I am developing something non-GUI (e.g. a
database, an application server, a compiler or interpreter for some
programming language, etc.) While macOS is unlikely to be the production
deployment platform, getting it running on macOS will make some developers
happier (yes, they can always use a VM or Docker to run the Linux version, but
running a native macOS version has its advantages.)

So, now I have a non-GUI app for (among other platforms) macOS, I want a build
machine for compilation and automated tests. Ideally just a VM somewhere
(maybe even in the cloud). To legally run macOS in such a way, it needs to run
on Apple hardware, which adds expense and complexity. However, I could run a
Darwin VM legally on any hardware. Now of course, Darwin isn't quite macOS,
but for a non-GUI app it might be close enough (depending on exactly which
APIs it uses and whether those APIs fall into the open source Darwin subset).

Is that a particularly common use case? Probably not. But there probably are
multiple open source projects and maybe even some proprietary software
packages for which that use case would exist.

------
kmf
This is a Google AMP page, so it displays pretty strangely on desktop browsers
(full-width paragraphs) -- here's the normal URL.

[http://www.techrepublic.com/article/apple-is-doubling-
down-o...](http://www.techrepublic.com/article/apple-is-doubling-down-on-open-
source/)

~~~
userbinator
I actually prefer the AMP version even on a non-mobile browser. It does load
noticeably faster.

~~~
cryptarch
But it sends requests to Google servers, always. It's cool that its
lightweight, but not like this.

I flagged the post because it downloads a file of obscure, unstandardized
format designed to send tracking information to Google.

It should at least have an [AMP] tag like other "non-HTML file format" posts
do.

Edit: I'm sorry if my post comes across as needlessly hostile, any hostility
is only directed at the AMP situation. AMP seems very much deliberately
designed as an attractive way to get webdesigners to let Google to track more
consumers. What the hell is with people excusing the fact that each and every
AMP page makes requests to Google servers, as defined by the "standard"?

~~~
viraptor
I think it's up to the author to decide where they host. Just curious: Would
you complain the same way if it was google sites based, but using author's
domain? Why/why not?

Also, I don't think every page makes requests to google. All the ones I see go
to a CDN (one designed for AMP, sure). So standard caching applies. But again,
author's choice - are other CDNs any better?

~~~
cryptarch
This is an attempt to standardize the tracking of users hosted on every site
not hosted by Google. I do think its up to the author to decide where they
host and this MUST include the page's dependencies!

I don't mean they can't have 3rd party dependencies, but no specific 3rd party
should be required, especially if they don't support graceful degradation in
the case where the 3rd party is unreachable.

And on the CDN, it's run by Google, just read the whois data:

Registrant Organization: Google Inc.

------
grawlinson
Is Apple still reducing dependencies on GPL code?

[http://meta.ath0.com/2012/02/05/apples-great-gpl-
purge/](http://meta.ath0.com/2012/02/05/apples-great-gpl-purge/)

~~~
abritinthebay
Might want to be honest: not GPL, just GPLv3

Can't really blame them either. This was the exact result that most (outside
of the GPL bubble) predicted when v3 was released.

~~~
mwfunk
Yeah, this should not be a surprise to anyone who's been paying attention for
the last 10 years. GPLv3 was incredibly divisive, both inside and outside the
open source community.

Admittedly, for some people this may have been part of its intent- to draw
more lines in the sand, to force out those that the FSF deems as having
insufficient ideological purity. The FSF doesn't shy away from calling out its
enemies- to my eyes, over the decades it has been far more concerned with
condemning what it perceives as being evil, rather than promotion of what it
perceives as being good.

~~~
abritinthebay
Oh yeah, it was _totally_ it's goal and I don't begrudge them that.

The problem is that by v3 the GPL was so ingrained as THE OSS license that
many projects and devs just used v3 out of habit.

Now for some they may be fine with it, and that's cool, but I think it's
telling that we've seen a resurgence of MIT, Apache, Mozilla, LGPL, and BSD
licenses.

GPLv3 has been extremely damaging to OSS, intentionally or not, as companies
associate OSS with it - which is a shame.

~~~
sedachv
> The problem is that by v3 the GPL was so ingrained as THE OSS license that
> many projects and devs just used v3 out of habit.

As Stallman would point out, GPL is Free Software, not OSS.

> GPLv3 has been extremely damaging to OSS, intentionally or not, as companies
> associate OSS with it - which is a shame.

If companies really want to continue shipping crapware locked-down IoT and ARM
systems they can pay for the development of the software themselves. Since it
is effectively impossible to run your own Linux distribution on the vast
majority of Android devices, contributing ARM-related Linux code as a hobbyist
is literally working for Google/phone manufacturers for free. Stallman did not
start GNU so you could sit on your Macbook writing ad-tech apps to deploy to
AWS and the Google Play Store.

~~~
abritinthebay
> As Stallman would point out, GPL is Free Software, not OSS.

Yes _I_ know that, _you_ know that, but it had positioned itself
(deliberately) as the first choice & was very effective at it.

Or put another way: a PC doesn't have to include Windows but there's a reason
the campaign was Mac vs PC not Mac vs Windows.

Also you seem to think I care what Stallman thinks or wants. I really don't.

------
datashovel
I think a lot of this is a result of probably not being able to recruit top
talent as easily as companies who have "opened up".

1) Many people at top of the talent pool know that the internet makes it
possible for them to not only make huge differences at companies they work
for, but they can also (if allowed) make enormous differences to the entire
world. If they don't have to compromise their free time in order to do that,
it's an enormous benefit.

2) The people a company like Apple wants to hire are interviewing the company
just as thoroughly as they are interviewing the candidate. If the candidate
has not already seen a large portfolio of their work there's no real guarantee
(even if you're Apple) that you can convince them that they'll be working on
amazing teams with amazing engineers.

3) When you're at the top of the talent pool your goals and incentive
structure are almost certainly not tied directly to compensation. Of course
you want to be compensated fairly, but when it comes down to it you're
passionate about what you do, and as a consequence you've become great at what
you do. You generally don't become the best at something because you believe
it will compensate you better.

------
blinkingled
They could start with making sure atleast major Linux distros work fine on
Apple desktop and laptop hardware.

It would most likely be hw specific quirks and drivers given most of the
hardware they use is standard and already supported by Linux. (With Intel
building in their Wi-Fi chips even Broadcom wireless stuff won't be an issue.)

~~~
feld
This has nothing to do with their desire to use open source. In fact, it's
blatantly against their goals.

~~~
blinkingled
Well most of Apple's servers and services run on Linux and there is clearly a
demand for Linux laptops from developers. If Apple has to be friendly with OSS
supporting Linux will take them a long way - good for developers including
Apple's own services/infrastructure folk, broadens up the Workstation market
again for Apple etc.

Doubling down on Open Source is not really doubling down if you just continue
to dump code on github.

~~~
feld
I think your definition of open source is much different than mine. Requiring
cooperation or interaction with the community is very GNU / GPL mindset, not
BSD. Many of us are perfectly OK with code drops.

------
shmerl
Let them start supporting free codecs and stop patent aggression, as well as
allow FOSS (including other browsers) in their application store. Then we'll
see how much they are friends of open source or not.

Oh, and you can add to that support for Vulkan on their platforms.

~~~
icebraining
They allow FOSS in their iOS store, just not copyleft licenses.

~~~
shmerl
_> just not copyleft licenses._

That's already a problem and discriminates against a major part of FOSS
projects.

~~~
stephenr
Isn't the problem that gpl(3?) is incompatible with the App Store rules?

Does apple actually _forbid_ certain licences, or is this just another case of
GPL fans assuming everyone else has to adapt to _them_?

~~~
shmerl
GPLv3 protects the user against DRM. And if store forbids such licenses, then
the store isn't FOSS friendly.

~~~
stephenr
What the gpl claims to do for Users or developers is irrelevant.

The question is why a developer can't publish gpl3 code to the App Store?

Is it because of an apple rule or is it because gpl3 says the developer can't
do that?

~~~
icebraining
The problem is that Apple imposes restrictions on the use of apps, even if the
app developers themselves don't want to. For example, did you know you can't
use your iPhone apps for non-personal, commercials purposes? That means that
legally, if you use any app for "any fare, fee, rate, charge or other
consideration, or directly or indirectly in connection with any business, or
other undertaking intended for profit"[1], you're breaking the Store rules and
can have your account terminated.

The GPL doesn't allow the users rights to be restricted in this way, hence the
incompatibility.

[1] 18 U.S. Code § 31

~~~
stephenr
> did you know you can't use your iPhone apps for non-personal, commercials
> purposes?

Can you point to the App Store rule that says this?

~~~
DanBC
Here's what it says. I don't think it forbids commercial use. I'm not quite
sure what it says.

[http://www.apple.com/legal/internet-
services/itunes/us/terms...](http://www.apple.com/legal/internet-
services/itunes/us/terms.html)

> SERVICES AND CONTENT USAGE RULES

> Your use of the Services and Content must follow the rules set forth in this
> section (“Usage Rules”). Any other use of the Services and Content is a
> material breach of this Agreement. Apple may monitor your use of the
> Services and Content to ensure that you are following these Usage Rules.

> All Services:

> \- You may use the Services and Content only for personal, noncommercial
> purposes (except as set forth in the App Store Content section below).

[...]

> App Store Content:

> \- The term “App” includes apps, iMessage and Apple Watch apps, in-app
> purchases, extensions (such as keyboards), stickers, and subscriptions made
> available in an app.

> \- You can use Apps on any device that you own or control.

> \- Individuals acting on behalf of a commercial enterprise, governmental
> organization or educational institution (an “Enterprise”) may download and
> sync Apps for use by either (i) a single individual on one or more devices
> owned or controlled by an Enterprise; or (ii) multiple individuals on a
> single shared device owned or controlled by an Enterprise. For the sake of
> clarity, each device used serially or collectively by multiple users
> requires a separate license.

~~~
icebraining
Notice how the exception in the last clause only applies to "devices owned or
controlled by an Enterprise". What I wrote is that using _your_ iPhone is not
allowed, and that's plain from the terms.

~~~
stephenr
I'm pretty sure that rule is saying: you can install an App on multiple
devices for one user, or one device for multiple users, but you're not
supposed to install a single purchased app on a whole fleet of devices that
will be used by multiple people.

~~~
DanBC
But this rule is pretty clear, no? What am I missing?

> You may use the Services and Content only for personal, noncommercial
> purposes

~~~
stephenr
> What am I missing?

Um, this:

> (except as set forth in the App Store Content section below)

------
franciscop
Remove _google-amp /_ from the article's url for a better experience

------
steele
"Apple has been getting religion on open source, but more than code the
industry needs its voice."

what

~~~
olliej
wut :D (and i know this is a useless comment - my immediate response to the
sentence was that :D )

------
jjirsa
ctrl-f, "cassandra", 0 of 0... what's context?

------
SCdF
Show me.

