glibc uses "sanitized" headers made available by the kernel maintainers for integration into C libraries. Bionic, however, puts the original "raw" kernel headers through a scrubber script and repurposes them.
Also, if my analysis is "dead wrong", how come that neither Eben Moglen when asked by ZDNet nor Brad Kuhn in his blog post nor LWN in the above article say affirmatively that Bionic isn't copyright-infringing?
Posted Mar 21, 2011 6:12 UTC (Mon) by jmm82 (guest, #59425)
[Link]
This article disproved your article with a reference to the same Linus thread you misquoted out of reference. I will post it here in case you missed it.
On Fri, 5 Dec 2003, Kendall Bennett wrote:
>
> Right, and by extension of the same argument you cannot use kernel
> headers to create non-GPL'ed binaries that run IN USER SPACE!
This was indeed one of the worries that people had a long time ago, and is
one (but only one) of the reasons for the addition of the clarification to
the COPYING file for the kernel.
So I agree with you from a technical standpoint, and I claim that the
clarification in COPYING about user space usage through normal system
calls covers that special case.
But at the same time I do want to say that I discourage use of the kernel
header files for user programs for _other_ reasons (ie for the last 8
years or so, the suggestion has been to have a separate copy of the header
files for the user space library). But that's due to technical issues
(since I think the language of the COPYING file takes care of all
copyright issues): trying to avoid version dependencies.
Has Bionic stepped over the GPL line?
Posted Mar 21, 2011 6:43 UTC (Mon) by viro (subscriber, #7872)
[Link]
"Provided" headers mentioned by Florian are generated by a script - specifically, scripts/install_headers.pl. Which is to say, "remove sections under ifdef __KERNEL__, disable #warning in linux/types.h, strip annotations and some qualifiers, remove including of compiler.h".
AFAICS, they've done that unifdef - __KERNEL__-only sections are removed. If anything, they are stripping it harder than install_headers.pl does.
They might want to throw "known to be useless for userland" headers, excluded by make headers_install. Because any userland code that changes behaviour from exclusion of those headers is severely broken and they want to catch that anyway.
IOW, if all that stench amounts to "they are not using the headers provided by kernel for libcs", they can trivially switch to feeding results of make headers_install to their script, thus excluding the same files and reducing namespace pollution. At which point it's down to "they updated their libc, be very afraid!" Pathetic.
Has Bionic stepped over the GPL line?
Posted Mar 21, 2011 14:55 UTC (Mon) by vonbrand (subscriber, #4458)
[Link]
Surely the kernel headers sanitized for glibc's use are enough for bionic's similarly limited needs? Do you know for sure Google didn't start with said "cleaned for libc" headers?