Skip to content

[AINode] Add third-party attributions to binary package - #18620

Merged
HTHou merged 2 commits into
apache:masterfrom
CRZbulabula:yongzao/ainode-third-party-attributions
Sep 11, 2026
Merged

[AINode] Add third-party attributions to binary package#18620
HTHou merged 2 commits into
apache:masterfrom
CRZbulabula:yongzao/ainode-third-party-attributions

Conversation

@CRZbulabula

Copy link
Copy Markdown
Contributor

Description

This is a follow-up to #18611. That PR adds the full MOMENT MIT text to the source release root LICENSE; this PR covers the AINode binary packaging path and the related pre-existing attribution gaps found during review.

  • bundle the full GLIDE and MOMENT MIT license texts in AINode binary packages
  • use an AINode-specific NOTICE in both the module and distribution assemblies
  • carry the Chronos Amazon NOTICE into source and AINode binary distributions, and restore the upstream copyright/SPDX headers in the adapted Chronos2 sources
  • retain the upstream copyrights for the adapted GLIDE, MOMENT, and uni2ts code
  • add the full GLIDE MIT text to the source-release LICENSE

The AINode-specific assembly metadata keeps these attributions out of unrelated IoTDB binary artifacts. The separate DiT/FinalLayer provenance work is intentionally not included here.

Verification

  • black --check . and isort --check-only --profile black . in iotdb-core/ainode
  • mvn apache-rat:check -DskipTests
  • mvn -P with-ainode -pl iotdb-core/ainode apache-rat:check -DskipTests
  • XML validation with xmllint
  • Python syntax validation with compileall
  • exercised both AINode assembly descriptors with a fixture payload; the module ZIP and final ainode-bin ZIP contained the AINode-specific NOTICE, licenses/LICENSE-GLIDE, and licenses/LICENSE-MOMENT, with byte-identical packaged contents

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

Several adapted uni2ts source files still omit the upstream attribution restored only in norm.py.

Once you've addressed the issues Copilot identified, you can request another Copilot review.

Pull request overview

Adds third-party attribution metadata to AINode source and binary distributions.

Changes:

  • Adds GLIDE and MOMENT license files and an AINode-specific NOTICE.
  • Updates both AINode assembly paths to package attribution files.
  • Restores upstream attribution headers for adapted model code.
File summaries
File Description
pom.xml Excludes packaged attribution files from RAT checks.
NOTICE Adds Chronos attribution.
LICENSE Adds GLIDE license and upstream copyrights.
iotdb-core/ainode/src/assembly/resources/NOTICE-binary Defines AINode-specific notices.
iotdb-core/ainode/src/assembly/resources/licenses/LICENSE-MOMENT Adds MOMENT MIT license.
iotdb-core/ainode/src/assembly/resources/licenses/LICENSE-GLIDE Adds GLIDE MIT license.
iotdb-core/ainode/iotdb/ainode/core/model/sundial/flow_loss.py Adds GLIDE attribution.
iotdb-core/ainode/iotdb/ainode/core/model/moment/pipeline_moment.py Adds MOMENT copyright.
iotdb-core/ainode/iotdb/ainode/core/model/moment/modeling_moment.py Adds MOMENT copyright.
iotdb-core/ainode/iotdb/ainode/core/model/moment/configuration_moment.py Adds MOMENT copyright.
iotdb-core/ainode/iotdb/ainode/core/model/moirai2/module/norm.py Adds uni2ts attribution.
iotdb-core/ainode/iotdb/ainode/core/model/chronos2/utils.py Restores Chronos header.
iotdb-core/ainode/iotdb/ainode/core/model/chronos2/pipeline_chronos2.py Restores Chronos header.
iotdb-core/ainode/iotdb/ainode/core/model/chronos2/model.py Restores Chronos header.
iotdb-core/ainode/iotdb/ainode/core/model/chronos2/layers.py Restores Chronos header.
iotdb-core/ainode/iotdb/ainode/core/model/chronos2/dataset.py Restores Chronos header.
iotdb-core/ainode/iotdb/ainode/core/model/chronos2/config.py Restores Chronos header.
iotdb-core/ainode/iotdb/ainode/core/model/chronos2/chronos_bolt.py Restores Chronos header.
iotdb-core/ainode/iotdb/ainode/core/model/chronos2/base.py Restores Chronos header.
iotdb-core/ainode/iotdb/ainode/core/model/chronos2/__init__.py Restores Chronos header.
iotdb-core/ainode/ainode.xml Packages AINode notices and licenses.
distribution/src/assembly/ainode.xml Selects AINode-specific common files.
distribution/src/assembly/ainode-common-files.xml Defines final AINode attribution payload.
Review details
  • Files reviewed: 23/23 changed files
  • Comments generated: 1
  • Review effort level: Balanced

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread iotdb-core/ainode/iotdb/ainode/core/model/moirai2/module/norm.py

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟢 Approval recommended

The attribution and assembly changes are complete, consistent, and isolated to AINode packaging.

Review details
  • Files reviewed: 38/38 changed files
  • Comments generated: 0 new
  • Review effort level: Balanced

@HTHou
HTHou merged commit ab6f8a2 into apache:master Sep 11, 2026
55 of 57 checks passed
@CRZbulabula
CRZbulabula deleted the yongzao/ainode-third-party-attributions branch September 11, 2026 01:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants