... rather a particularly interesting venue to discuss. The idea that Linux kernel development can be used to argue emergent behaviour one way or another strikes me as odd, given the sample base of one project used in the keynote. My freedom is freer than yours is not a discussion for auditoriums, it's one for pubs. ;)
Apple actually doesn't hate the GPL, they ship quite a bit of the code in Mac OS X under it, and provide the source code for it, just not in the kernel. So the remainder of talk from there seems to be based on a mistaken premise.
Factors like who might benefit from inclusion of some code certainly matter, otherwise some 'stable kernel driver API' would have emerged by through economical interest among proprietary kernel module suppliers in that particular area of the kernel, etc.
Posted Oct 13, 2008 8:15 UTC (Mon) by khim (subscriber, #9252)
[Link]
If you think about it then you'll understand principal difference
between kernel and userspace tools. GCC, CUPS, even WebKit are not really
vital for the lock-down schemes. They all can be limited by kernel. Kernel,
on the other hand, controls everythig in the computer: without support from
the kernel side you can not really limit freedom of user. All such tries
can be effectively bypassed by appropriate kernel module. Because kernel
controls any access to hardware it can emulate said hardware. As long as
kernel is free the whole system is effectively free, if kernel is non-free
the whole system is effectively closed! Creator of kernel (even free
kernel) can cripple said kernel (like Apple does), but it's not very
convenient to do with GPL kernel.
Of course choice of kernel was not really up to Apple: they bought Mac
OS X kernel and when the said kernel was in design stage linux was not an
option: that's was done in 1985! Linus was a teenager back then and still
had few years to learn before he'll try to create it's own "clone" of
minix...
But today this problem is acute (linux usage is widespread) - and
companies invented few "creative"
ways to solve it:
1. TiVoization - freeze the free software and make it non-free this way.
2. Phone industry way - separate "don't tamper with" parts and put them in
separate hardware box.
3a. Microsoft
way and
3b. IBM's way - put freedom-restricting libraries in a box
and connect this box directly to the user program.
So far only Phone industry way and IBM's approach work (first one - in
huge number of smartphones around the world, the second one - in PS3).
Tivoization (implemented by iPhone and/or PSP) and Microsoft's way of
control do not work very well: if you put big and complex system in the
"forezen state" sooner or later some bugs in it can be used to unfreeze the
system, but as iPhone shows that the approach Apple favors is still classic
"freeze everything" one...
Apple does not hate GPL... Apple hates freedom...
Posted Oct 13, 2008 10:23 UTC (Mon) by robilad (guest, #27163)
[Link]
Well, not really - the Darwin kernel is Open Source, etc. and is heavily used by the Hackintosh community, for example. Apple keeps publishing the xnu sources along with the rest (including all the other APSL licensed components in the system) for each OS update.
The non-free parts of Mac OS X are way up the software stack, where Apple's got a unique selling point. The kernel isn't, really - it would be entirely possible for Apple to do the same thing on top of Linux (like Google does right now for Android, where pretty much everything on top of the GPLd Linux kernel is kept proprietary & locked down), if they cared about hacking on the Linux kernel.
Apple doesn't, though, as it's much easier for them to hack on a kernel they have control over - less communication & negotiation overhead.