-
-
Notifications
You must be signed in to change notification settings - Fork 17.7k
apple-sdk: add license to be in complaince #477742
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
To note: I am not a lawyer, please take my advice with a grain of salt. If you need advice please go look for a professionally trained lawyer. Under the agreement the apple-sdk is defined as apple software. Under 2.4 Copies:Which this clearly broke. But also at 2.6 No Other Permitted Uses:We might need to look into about the redistribution terms of this. |
|
As CI already points out, this breaks eval and will prevent hydra from building everything - all darwin users will have to rebuild the world every 2 weeks. |
Someone did point this out already over at matrix, however I am not sure if it's uncopyrightable/fair use to use API Stubs or Headers. There was a case discussed in matrix
There is conversations atm going on in the matrix starting here |
This is a major legal issue that could have been missed for a simple nix eval.
5e7ab33 to
d58aaec
Compare
| description = "Frameworks and libraries required for building packages on Darwin"; | ||
| homepage = "https://developer.apple.com"; | ||
| # NOTE: We only strip the SDK to only symbol lists & header files for interoperability all encumbered binary code is removed. | ||
| # Please see .... |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
See what?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's a TODO.
|
I still don't think it's a good idea to add this here, as none of the licenses we have in Nixpkgs really describe the situation perfectly. WIthout a solution that Hydra doesn't upload the output of |
|
I think |
Where is this from? We do not source the SDK from Xcode or the CLT. The SDK is not downloaded from any source that requires an Apple Developer Program membership or agreement to its terms. The package is sourced the software update catalogue and can be downloaded with The package itself does not come with a license. If one opens it in the Installer app, no license is presented. It contains mostly the same things that are included in the The remaining files are text-based stubs or Swift modules, which are generated upstream by tooling, and headers.. The headers have a mix of open source and other notices. What is the correct license to set on the SDK? I don’t know. When I added the package for the new SDK pattern last year, I followed historical practice in Nixpkgs by leaving it blank.
This PR isn’t using the right license agreement. I don’t think this is straightforward. There are questions about what we are allowed to do for interoperability purposes (and potentially how we can continue supporting Darwin in Nixpkgs). |
WARNING: I am not a lawyer, and this is not legal advice! I found a better license agreement here: https://www.apple.com/legal/sla/docs/xcode.pdf that seems to clear about the API's. I think I found potentially the wrong link, but this is very similar. Under 2.7 it says this: The And also under 2.5 it still says to still provide the notice: Under the definition under section 1 it defines apple-sdk as this: Quote: including but not limited to header files, APIs, libraries, simulators, and software |
Then don’t go ahead and play at it anyway. |
This was roughly done It's been resolved now. |
|
The arguments here are mostly recapitulating what was already discussed on Matrix without engaging with the substance of the points raised. There is a possible productive discussion to be had about the copyright of the macOS SDK and the limitations Hydra has around pushing builds to the cache, but I don’t think it’s going to happen on this PR. To repeat my general position for the record, though: if the package output was encumbered by the Xcode EULA, then it wouldn’t even be The potential creativity here is limited to API structure and symbol names, which are of course required for interoperability and embedded in every binary for the platform. I believe that all of these are likely uncopyrightable in the EU and, although the status of the copyrightability of APIs is ambiguous in the US, I think they would easily clear the Google v. Oracle bar for fair use; in any case, we go by EU rules for the cache in practice, given the Foundation’s jurisdiction and the fact that we ship software encumbered by software patents. See Directive 2009/24/EC and some commentary for background on the EU law regarding software copyrights. The main hesitation I would have around potential copyright is around documentation comments in Of course, it’s always possible we do not strip out everything we should, and we should fix any such cases, but that is true of various packages in the tree we strip out encumbered portions from. The current state of the PR doesn’t make sense given the placeholder text; I was asked to provide an official written statement to link to in the comment, but it’s not a priority for me and I don’t really have time for that, so this PR is unlikely to progress; I’m making the call to close this, as it’s a time sink for Darwin maintainers. To be very explicit, this is in my capacity as a Darwin team member (and, I suppose, a |
This pr adds the apple sdk license to be in compliance that has been missed.
See this comment for issues around why it needs to be added
I did a simple nix eval and found it missing:
Link to license: https://developer.apple.com/support/terms/apple-developer-program-license-agreement/
Things done
passthru.tests.nixpkgs-reviewon this PR. See nixpkgs-review usage../result/bin/.CC @NixOS/darwin-core
Add a 👍 reaction to pull requests you find important.