6

Apple releases their XNU kernel source code for macOS with each minor release of the Operating System covered under the APSL Version 2 at their open source website. The license terms can be found here.

While it would appear that apple has released the full source code for their kernel, the power management subroutines from the production kernel are missing entirely from the source tree. There are references made in the production kernel to an xcpm directory in the source tree which would include code for a family of xcpm_* subroutines used for power management, however, no source directory or source code for these routines exist in the open source version of the kernel which apple releases.

Additionally, a family of subroutines dealing with HWP, or intel hardware controlled performance states, exist in the production kernel but are absent in the publicly released source tree.

According to the Open-Source license with which this code has been released, this does not appear to be legal. It is in direct violation of sections 2.2 (c) and section 2.3:

  • As per section 2.2 part c, if modifications to covered code are deployed to users or made publicly available, source code must be made available to either the users of the program or to the general public. This is not done with the macOS kernel sources.

  • As per section 2.3, if covered code is deployed externally deployed in executable form only, as it is in macOS, a notice must be distributed with the executable which states that the source code of the program is available with instructions of how to obtain said code. No such notice can be found within macOS.

So my question, then, is how is it that Apple can do this without any action being taken against them? Why is the license the code is distributed under not being enforced?

This should additionally apply to any of the publicly available Apple code available under this license which is used in iOS as well as macOS. For instance, the source code for the ARM port of the XNU kernel should additionally be available, no?

  • 1
    Presumably Apple owns the copyright and so can release it under whatever terms they want. They are not bound by the terms of the open source license on their own code. – Tavian Barnes Aug 1 '17 at 3:35
5

(I have no knowledge about the software in question; this answer is solely based on reading the APSL as a legal layperson. I’m also ignoring the aspect that the author of the software could have the full copyright, in which case the author wouldn’t have to follow the license to begin with.)

The sections 2.2 and 2.3 are about Covered Code, which is defined under section 1.3:

"Covered Code" means the Original Code, Modifications, the combination of Original Code and any Modifications, and/or any respective portions thereof.

In section 1.5, Larger Work is defined:

"Larger Work" means a work which combines Covered Code or portions thereof with code not governed by the terms of this License.

And section 4 makes clear (bold emphasis mine):

Larger Works. You may create a Larger Work by combining Covered Code with other code not governed by the terms of this License and distribute the Larger Work as a single product. In each such instance, You must make sure the requirements of this License are fulfilled for the Covered Code or any portion thereof.

So it seems to be possible to have a program where only parts of it are licensed under the APSL, no matter how these parts technically interact with other parts.

The FSF seems to confirm this:

It is not a true copyleft, because it allows linking with other files which may be entirely proprietary.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.