Re: Apple's position on NKEs (was "Re: Basic Question: Internet Content Filter")
Re: Apple's position on NKEs (was "Re: Basic Question: Internet Content Filter")
- Subject: Re: Apple's position on NKEs (was "Re: Basic Question: Internet Content Filter")
- From: Quinn <email@hidden>
- Date: Wed, 14 Jan 2004 14:56:20 +0000
At 11:30 +0100 14/1/04, Stephane Sudre wrote:
Strange. My recollection is a bit different in that NKEs were
OFFICIALLY SUPPORTED (Documentation, Sample Code, support). And
suddenly they were not anymore.
<puts on official DTS hat>
It all boils down to your interpretation of the word "supported".
NKEs are supported by DTS. We regularly answer questions from NKE
developers. However, there is no release-to-release binary
compatibility guarantee, which is very unusual for a supported API.
This paradoxical situation arose because, on the one hand, Apple
recognises that certain products require the use of NKE technology
but, on the other hand, the BSD portions of the Mac OS X kernel do
not provide a platform for binary compatibility. VFS plug-ins have
exactly the same problem, as explained in the following Q&A.
<
http://developer.apple.com/qa/qa2001/qa1242.html>
Ultimately (that is, in a future major release of Mac OS X) we intend
to resolve this paradox by providing an NKE KPI. Developers who
adopt this KPI will be sufficiently isolated from the BSD kernel
internals that Apple will be able to update the kernel without
breaking them. It's kinda like Carbon for NKEs (-;
Until the NKE KPI becomes available, any NKE developers will be faced
with regular binary compatibility problems. Usually this occurs
after a major releases of the OS, however, that's not always the
case. There have been minor OS releases that break NKEs and there
have been major releases that don't.
This is just one of the reasons that we recommend that you not use
the current NKE system. Other reasons include poor documentation,
limited sample code, and a general recommendation to stay out of the
kernel. However, you have to balance these points against the
benefits of developing an NKE, such as the ability to do certain
things that are not possible (or ugly to do) via other means.
Ultimately it's a business choice on your part. You have to trade
off the problems with binary compatibility against the feature set of
your product.
With regards to the NKE documentation, it was pulled from the
official documentation suite because it was out-of-date and it won't
be updated until the NKE KPI is released. If anyone wants a copy
(and you can't find it lying around on an old developer CD), let me
know and I'll email you one.
<takes off official DTS hat>
S+E
--
Quinn "The Eskimo!" <
http://www.apple.com/developer/>
Apple Developer Technical Support * Networking, Communications, Hardware
_______________________________________________
macnetworkprog mailing list | email@hidden
Help/Unsubscribe/Archives:
http://www.lists.apple.com/mailman/listinfo/macnetworkprog
Do not post admin requests to the list. They will be ignored.