
Apple: Open Source - mmastrac
https://developer.apple.com/opensource/
======
seba_dos1
_" Apple, the first major computer company to make Open Source development a
key part of its software strategy"_

Well, I guess that's arguable.

 _" WebKit — the open source rendering engine introduced by Apple"_

Yeah, _" forked from KHTML"_ wouldn't sound as nice as _" introduced by
Apple"_.

 _" OS X combines a proven UNIX foundation with the easy-to-use Mac interface
to bring multicore technology and 48-bit power to the mass market."_

Wait, what?

~~~
geofft
Most (all?) amd64 processors only actually use 48 bits of the 64-bit virtual
address space. It's split into 00000000 00000000 - 00007fff ffffffff and
ffff8000 00000000 - ffffffff ffffffff, so you can do the usual thing of
userspace at the bottom and kernelspace at the top, but it continues to be
backwards-compatible if we ever need more than 48 bits of virtual address
space.

From the Intel programmer's manual:

> _In 64-bit mode, an address is considered to be in canonical form if address
> bits 63 through to the most-significant implemented bit by the
> microarchitecture are set to either all ones or all zeros._

> _Intel 64 architecture defines a 64-bit linear address. Implementations can
> support less. The first implementation of IA-32 processors with Intel 64
> architecture supports a 48-bit linear address. This means a canonical
> address must have bits 63 through 48 set to zeros or ones (depending on
> whether bit 47 is a zero or one)._

This is a confusingly obscure and pedantic point to make on a marketing page,
though. Most kernel hackers on 64-bit platforms barely think about this.

~~~
microcolonel
I'm pretty sure they're referring to PAE , and haven't updated since they
dropped i686.

It would've made sense in the 32-bit era to market as a 48-bit operating
system, since it's bigger than 32.

[https://en.wikipedia.org/wiki/Physical_Address_Extension](https://en.wikipedia.org/wiki/Physical_Address_Extension)

------
latenightcoding
"Apple, the first major computer company to make Open Source development a key
part of its software strategy"

Wait what? Am I missing something here

~~~
shykes
I guess they're referring to projects like Darwin (released in 2000) and
Webkit (open-sourced in 2005). They also invested heavily in LLVM starting in
2005.

Those are all major strategic investments into open-source, at a time where
companies like Microsoft, Google and Amazon were not making any comparable
investments that I can think of. For example, in 2005 Android was freshly
acquired by Google, Chrome was still 3 years away. Go was introduced in 2009.

One exception I can think of is IBM which invested heavily in Linux around the
same time Apple was open-sourcing Darwin.

Overall, their claim is arguable but certainly not without merit.

EDIT: remember when IBM covered the streets of San Francisco in Linux
graffiti, and were threatened with a huge fine when the paint didn't wash off
as planned? [http://usatoday30.usatoday.com/tech/news/2001-04-25-ibm-
linu...](http://usatoday30.usatoday.com/tech/news/2001-04-25-ibm-linux-
graffiti.htm)

~~~
ajdlinux
WebKit was a fork of KDE's KHTML engine, and so had to be open source from the
outset. IIRC, in the early days Apple was _not_ on good terms with KHTML
upstream and weren't exactly model participants in the open source community.

~~~
DiThi
They basically started the development of WebKit in secret based on KHTML
despite having to release the source when they released Safari. The result was
two codebases too different to merge, and the improvements couldn't go "back
to the community" without discarding many other improvements, not to mention
the work needed to integrate it into KDE.

------
chrisra
Maybe my ignorance is showing, but I've felt like Apple has been the least
involved major company of them all when it comes to community stuff. They feel
so aloof to me. My impression is Microsoft used to be that way but is
changing.

~~~
coldtea
Well, Safari/Chrome/Android browser/etc is a result of an open source project
Apple adopted (KHTML), expanded and developed way beyond the original code.
And while Webkit couldn't merge back into KHTML easily, it became the basis
for a full blown Open Source engine of its own with tons of adoption.

Also LLVM. Apple heavily funded work on it, and it's now used by everybody
who's anybody in the industry, from Google to MS.

Apple just doesn't care to go into much community development by committee
(bazaar) because they have their own (cathedral-like) agenda to follow.

------
tedmiston
> Apple, the first major computer company to make Open Source development a
> key part of its software strategy, continues to use and release significant
> quantities of open source software.

"first major _computer_ company"

Interesting phrasing.

~~~
cryptoz
Yes, especially since they specifically removed _computer_ from their company
name almost 10 years ago.

~~~
mcphage
They never stopped being a computer company, though. The word "Computer"
doesn't have to be in your name to qualify.

------
msoad
I recently interviewed at Apple. They told me you can not contribute to open
source even on your own time if you get hired!

They said we use "tons of open source software" but we don't contribute back
because it's going to "impact company's picture".

~~~
scarface74
So which should I believe, a random poster on Hacker News that says that Apple
forbids employees to contribute to open source, or the fact that Apple has
many published open source projects?

~~~
msoad
I guess it depends on the team. Apple unlike Google hires for a specific team.
Team that I was talking with would not allow open source contributions. This
is true for most of Apple. I have a lot of friends working in Apple.

They sent project Titan people to a battery conference with a fake company
name which they actually registered and made people believe it's a real
company. It has a Crunchbase profile and all that. They published zero papers
from their battery research. That's the Apple you should know.

------
TheAceOfHearts
I went to a reactjs meetup at Apple a few days ago. There they showed off
Revis, a react library for making charts and visualizations that looked really
interesting, with the selling point being that it enables you to create graphs
declaratively. They said they had plans of open sourcing it, although they
didn't give a due date.

Another thing they indirectly showed off was a reactjs playground which was
very similar to swift playgrounds. I say indirectly, because the person that
was presenting was showing revis using it. There's some public playground
components that are around (e.g. component-playground [0]), but it's the type
of thing where I think there's still room to experiment and innovate. Bret
Victor's Inventing on Principle video [1] comes to mind.

I don't know how big the web presence at Apple has been in the last few years,
but I'm hopeful that this is a sign that it's growing and that it'll push more
resources to the Safari team so it'll keep up better with other browser
vendors. Although they have a history of open source, I don't think they've
open sourced much JavaScript? From googling around all I could find was that
they were one of the biggest contributors to SproutCore [2], which looks
fairly dated by today's standards.

[0] [http://projects.formidablelabs.com/component-
playground/](http://projects.formidablelabs.com/component-playground/)

[1] [https://vimeo.com/36579366](https://vimeo.com/36579366)

[2] [http://sproutcore.com/](http://sproutcore.com/)

~~~
microcolonel
I work at a web shop, and we're convinced that Apple is deliberately failing
to make improvements to Safari (specifically on iOS). The theory is that they
are conspiring to lock in people who depend on the platform, but also prevent
them from delivering anything approaching the quality of native apps on iOS.

Though usually I try to avoid thinking of conspiracy; the more I work with
their platform, the more reasonable this theory sounds.

I have been solicited to work on WebKit for Apple, but given how isolated
Apple employees seem from the world, I don't think I could do it. I'm not
willing to sign away my personality or existence for cash-on-hand. I suspect
they're having trouble hiring people to work on WebKit, because although I
think I'm a pretty good developer, I'm not the top of the barrel when it comes
to WebKit developer candidates.

~~~
coldtea
> _I work at a web shop, and we 're convinced that Apple is deliberately
> failing to make improvements to Safari (specifically on iOS). The theory is
> that they are conspiring to lock in people who depend on the platform, but
> also prevent them from delivering anything approaching the quality of native
> apps on iOS._

Classic cooky conspiracy theory.

In fact the Android browser is in many ways worse than Mobile Safari.

So there goes the whole theory...

~~~
microcolonel
Most Android devices these days run Chrome.

------
mietek
_> OS X combines a proven UNIX foundation with the easy-to-use Mac interface
to bring multicore technology and 48-bit power to the mass market._

48-bit power?…

~~~
thrownaway2424
Perhaps that statement refers to the 48-bit x86-64 virtual memory address
space.

~~~
microcolonel
Maybe it refers to PAE and hasn't been updated since they dropped i686?

------
peterhadlaw
Do they seriously think they can pull the marketing lingo shroud over actual
developers?

~~~
frame_perfect
> Apple, the first major computer company to make Open Source development a
> key part of its software strategy

It's actually pretty factual. They open sourced Darwin/WebKit/LLVM/Clang, and
legitimized BSD and Unix as a consumer product via OS X... in 2001/2005/2005\.
The only "big" company that I can think of that made a move that big was
Mozilla, which arguably doesn't even compare to a company as huge as Apple.
Plus Mozilla open sourced itself out of pure desparation from pressure via
Internet Explorer (which, I might remind you, was one of the worst proprietary
pieces of shit to scorch this earth, by none other than Microsoft).

It's only been a recent thing where companies like Google/Microsoft have been
embracing open source. Companies like Gitlab/Docker weren't even concievable
back then.

~~~
seba_dos1
Well, they couldn't not open source WebKit, as at its core lies a fork of LGPL
licensed KHTML and KJS (that's why WebCore and JavaScriptCore are LGPL while
the rest of WebKit is BSD)

~~~
strange_quark
Does it really matter if they were forced to open source it or not? The point
is they poured a ton of money into Webkit and that did a lot of good for the
industry as a whole.

------
mrdrozdov
Waiting for Apple's TensorFlow alternative.

------
Joof
Open source development might be arguable with Darwin (although I think IBM
still has earlier major investments), but open source philosophy is certainly
not the case.

------
ajdlinux
Update: they've changed the wording on
[https://developer.apple.com/opensource/](https://developer.apple.com/opensource/)

"Open source software is at the heart of Apple platforms and developer tools,
and Apple continues to contribute and release significant quantities of open
source code."

------
mrdrozdov
This is more impressive than Goldman Sachs's open sourcing effort.
[https://github.com/goldmansachs](https://github.com/goldmansachs)

------
sajal83
> Apple, the first major computer company to make Open Source development a
> key part of its software strategy

Sounds true assuming Apple thinks of itself as "the only major computer
company"

------
microcolonel
Webkit was introduced by Apple like OpenOffice was introduced by Apache.

~~~
TazeTSchnitzel
WebKit was a fork of KHTML originally... but does that mean Apple didn't
introduce it?

~~~
microcolonel
I don't know, all I said is that much like Apache OpenOffice is a fork of
OpenOffice, WebKit is a fork of KHTML.

Not sure that's what most people mean when they say "introduce".

Like for example, if I were operating a public water supply: I could say that
I introduced the practice of chlorinating water, but obviously the practice
has been demonstrated with other water supplies. Have I introduced it, or just
adopted it?

It would be more accurate to say that Apple adopted KHTML as WebKit, then made
major contributions to it.

