Is it legal to decompile Apple Open Source components?

Hi, I have a strange legal question. I wanted to write a blogpost / record a screencast about macOS opensource components. I was going to decompile those opensource components and I am not sure if it would be legal.

MacOS software license explicitly forbids any OS decompilation, but also mentions that Open Source Component licenses override that limitation. MacOS components like xnu or dyld are licensed under Apple Public Software License, which is open-source license without any restriction for decompilation. Is it legal to decompile macOS executables, whose source code is already available at opensource.apple.com?

Software License Agreement For macOS Big Sur states that:

N. No Reverse Engineering. You may not (…) decompile, reverse engineer, disassemble (…) the Apple Software (…) (except as and only to the extent any foregoing restriction is prohibited by applicable law or by licensing terms governing use of Open-Sourced Components that may be included with the Apple Software).

Apple Public Software License in turn states that:

1.7 "Original Code" means (…) (b) the object code compiled from such Source Code and originally made available by Apple under this License.

and then:

2.1 (…) You may use, reproduce, display, perform, internally distribute within Your organization, and Externally Deploy verbatim, unmodified copies of the Original Code, for commercial or non-commercial purposes

Answered by Claude31 in 684212022

If you illustrate behaviour by showing interactions, you do not decompile, you simply execute. So there should not be decompilation legal issue.

Take care to fully follow open software rules (you may have to publish the relevant parts of your code in open source).

I would also advise to be very clear when you submit to Appstore, by explaining the situation in the comments to reviewer.

That's not a legal opinion, take care, just some thoughts. Have you signed a licence agreement for those specific open source software ? What does it say ? Is it open source (then why do you need to decompile?) or open libraries? In the latter case, it is probably illegal to decompile.

Thank you for your suggestions!

’Is it open source (then why do you need to decompile?)’

The point is to show all the interactions live. So instead or reading the open source code, I rather want to use debugger to show how the compiled open source library works in runtime.

Accepted Answer

If you illustrate behaviour by showing interactions, you do not decompile, you simply execute. So there should not be decompilation legal issue.

Take care to fully follow open software rules (you may have to publish the relevant parts of your code in open source).

I would also advise to be very clear when you submit to Appstore, by explaining the situation in the comments to reviewer.

Is it legal to decompile Apple Open Source components?
 
 
Q