-
Notifications
You must be signed in to change notification settings - Fork 12
Clean up third-party package notices(imagedecoder) #30
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
base: release-0.10.x
Are you sure you want to change the base?
Conversation
Removed several third-party package entries and their licenses from the THIRD-PARTY-NOTICES.txt file. Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. 🗂️ Base branches to auto review (1)
Please check the settings in the CodeRabbit UI or the You can disable this status message by setting the ✨ Finishing touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
@CodeRabbit please review the changes and the licenses in the THIRD-PARTY-NOTICES.txt |
|
Tip For best results, initiate chat on the files or code changes. 🧩 Analysis chain🏁 Script executed: Length of output: 15229 🏁 Script executed: Length of output: 17252 🏁 Script executed: Length of output: 1313 🏁 Script executed: Length of output: 2689 🌐 Web query: 💡 Result: SLF4J is released under the MIT (X11) permissive license. [1][2] Sources:
@Rakshithasai123, I've completed a thorough review of the THIRD-PARTY-NOTICES.txt file and found several issues that need attention: Critical Issues1. Missing
|
|
@CodeRabbit please review the changes and the licenses in the THIRD-PARTY-NOTICES.txt and does the dependencies have the exact licenses as we mentioned THIRD-PARTY-NOTICES.txt |
|
Tip For best results, initiate chat on the files or code changes. 🧩 Analysis chain🏁 Script executed: Length of output: 9651 🌐 Web query: 💡 Result: The JUnit 5 junit-vintage-engine is released under the Eclipse Public License, version 2.0 (EPL‑2.0). [1][2] Sources:
🌐 Web query: 💡 Result: Yes — both jackson-databind and jackson-core are licensed under the Apache License, Version 2.0. [1][2] Sources:
🌐 Web query: 💡 Result: Yes — both jcl-over-slf4j and jul-to-slf4j are distributed under the MIT license. [1][2][3] Sources:
🌐 Web query: 💡 Result: The plugin is licensed under the GNU Lesser General Public License v3.0 (LGPL-3.0). [1][2] Sources: 🌐 Web query: 💡 Result: Short answer: Most official Apache Maven plugins (and Maven itself) are released under the Apache License 2.0, but third‑party plugins may use other licenses — always check the plugin's POM or project page for the exact license. [1][2][3] Sources:
🌐 Web query: 💡 Result: Yes — MOSIP's kernel (Commons) repositories use the Mozilla Public License 2.0 (MPL‑2.0). See the MOSIP GitHub repo and Commons repo license statements. [1][2] Sources: 🌐 Web query: 💡 Result: Most MOSIP repositories (core modules) are licensed under the Mozilla Public License 2.0 (MPL‑2.0). [1][2] Note: I couldn't find a public mosip/kattu repo page to confirm its LICENSE file directly; MOSIP docs reference "kattu" as the workflows repo. If you want a definitive answer for that specific repo I can check the repository URL you have (or try again to fetch mosip/kattu) and read its LICENSE file. [3] Sources:
🏁 Script executed: Length of output: 1084 @Rakshithasai123, I've completed a detailed verification of all licenses in THIRD-PARTY-NOTICES.txt. Here are my findings: ❌ Incorrect Licenses Found (3)1. git-commit-id-plugin (pl.project13.maven)
2. junit-vintage-engine
3. GitHub Actions Workflows from mosip/kattu
✅ Correct Licenses (Verified)
📋 Recommended CorrectionsWould you like me to create an issue to track these license corrections? |
Signed-off-by: Rakshithasai123 <rakshithasai2002@gmail.com>
|
@CodeRabbit please review the changes and the licenses in the THIRD-PARTY-NOTICES.txt and does the dependencies have the exact licenses as we mentioned THIRD-PARTY-NOTICES.txt |
|
Tip For best results, initiate chat on the files or code changes. 🧩 Analysis chain🏁 Script executed: Length of output: 11848 @Rakshithasai123, Great news! I can see you've corrected the license issues I identified. Let me provide a comprehensive verification of all licenses in the current THIRD-PARTY-NOTICES.txt: ✅ All Licenses Are Now Correct!Here's the complete verification: SLF4J Packages ✓
Jackson Packages ✓
Maven Plugins ✓All correctly listed as Apache License 2.0:
Third-Party Plugin ✓
JUnit ✓
MOSIP Packages ✓All correctly listed as MPL-2.0:
📝 Remaining Non-Critical Issues
Bottom line: All licenses are now accurate and match the actual licenses of the dependencies! 🎉 |
|
@CodeRabbit please perform a full legal-compliance, accuracy, and metadata validation of the THIRD-PARTY-NOTICES.txt file in this repository. Your responsibilities: ────────────────────────────────────────
For every dependency found, verify:
──────────────────────────────────────── ✔ Package name matches the actual pom.xml / module POM dependency Do not accept inferred or guessed licenses or versions unless confirmed from authoritative official sources. ────────────────────────────────────────
For each of these, also confirm that:
──────────────────────────────────────── Validate:
Report any differences across: ────────────────────────────────────────
Ensure the license text and identifier in THIRD-PARTY-NOTICES.txt is EXACT and compliant with the official SPDX definition for that license. ──────────────────────────────────────── • Dependencies present in pom.xml or SBOM but missing in THIRD-PARTY-NOTICES.txt ──────────────────────────────────────── ✔ 100% accurate Please output your findings in a clear, structured format suitable for immediate PR updates. |
|
Tip For best results, initiate chat on the files or code changes. 🧩 Analysis chain🏁 Script executed: Length of output: 28611 🏁 Script executed: Length of output: 4195 🏁 Script executed: Length of output: 2320 🏁 Script executed: Length of output: 3232 🏁 Script executed: Length of output: 1060 🏁 Script executed: Length of output: 1185 🏁 Script executed: Length of output: 532 🏁 Script executed: Length of output: 815 🏁 Script executed: Length of output: 279 🌐 Web query: 💡 Result: Short answer:
Sources:
🌐 Web query: 💡 Result: The artifact org.sonatype.central:central-publishing-maven-plugin:0.7.0 is licensed under the Apache License, Version 2.0. [1][2] Sources:
🌐 Web query: 💡 Result: Yes — the org.jacoco:jacoco-maven-plugin is distributed under the Eclipse Public License (EPL). See the JaCoCo license page and the plugin documentation. [1][2] Sources: 🌐 Web query: 💡 Result: The org.sonarsource.scanner.maven:sonar-maven-plugin is licensed under the GNU Lesser General Public License v3 (LGPL-3.0). [1][2] Sources:
🌐 Web query: 💡 Result: Both the Apache Maven maven-deploy-plugin and maven-resources-plugin are distributed under the Apache License, Version 2.0. (maven.apache.org) Citations: @Rakshithasai123, I've completed a comprehensive legal-compliance, accuracy, and metadata validation of the THIRD-PARTY-NOTICES.txt file. Here's the detailed structured report: 📋 EXECUTIVE SUMMARY
🚨 CRITICAL FINDINGS1. SBOM Validation: FAILEDNo sbom.json file exists in the repository. Cannot perform SBOM validation as requested. Recommendation: Generate an SBOM using Maven plugins like 2. Missing License DirectoryThe THIRD-PARTY-NOTICES.txt states: "Full license texts and additional details for each of the above packages are available in the license/ directory" — but this directory does not exist. Recommendation: Either create the ❌ MISSING FROM THIRD-PARTY-NOTICES.txtBuild Plugins (5 missing):Note: If your policy is to only include runtime/compile dependencies and exclude build-time plugins, this should be clearly stated in the THIRD-PARTY-NOTICES.txt header.
|
| Package | Stated License | Validation | Source |
|---|---|---|---|
| SLF4J packages | MIT License | ✅ Correct | SPDX, official repo |
| Jackson packages | Apache-2.0 | ✅ Correct | GitHub, SPDX |
| Apache Maven plugins | Apache-2.0 | ✅ Correct | maven.apache.org |
| git-commit-id-plugin | LGPL-3.0 | ✅ Correct | GitHub repo |
| JUnit Vintage Engine | EPL-2.0 | ✅ Correct | junit.org |
| MOSIP kernel packages | MPL-2.0 | ✅ Correct | MOSIP repos |
Additional validations for missing plugins:
- central-publishing-maven-plugin: Apache License 2.0 ✅
- jacoco-maven-plugin: Eclipse Public License (EPL-2.0) ✅
- sonar-maven-plugin: LGPL-3.0 ✅
- maven-deploy-plugin and maven-resources-plugin: Apache License 2.0 ✅
📊 POM.XML vs THIRD-PARTY-NOTICES.txt COMPARISON
imagedecoder/pom.xml:
✅ Dependencies: All 8 dependencies listed in NOTICES
sample/pom.xml:
✅ Dependencies: All 6 dependencies listed in NOTICES (including imagedecoder itself and kernel beta.1 versions)
No extraneous entries:
✅ All entries in THIRD-PARTY-NOTICES.txt correspond to actual dependencies or plugins in pom.xml files.
🔍 METADATA QUALITY ISSUES
1. Self-Reference
The file lists io.mosip.imagedecoder:imagedecoder:0.10.0-beta.1, which is the project itself. This is unusual for a THIRD-PARTY notices file.
Recommendation: Remove self-reference or clarify why it's included (e.g., if sample module depends on published version).
2. Duplicate Entries
Three packages are listed twice with different versions:
- kernel-bom (1.3.0-SNAPSHOT and 1.3.0-beta.1)
- kernel-core (1.3.0-SNAPSHOT and 1.3.0-beta.1)
- kernel-logger-logback (1.3.0-SNAPSHOT and 1.3.0-beta.1)
Reason: imagedecoder module uses SNAPSHOT, sample module uses beta.1
Recommendation: Either consolidate with a note about different versions, or clearly section by module.
3. Homepage URL Accuracy
Most homepage URLs are correct, but some could be more specific:
- ✅ Correct: Plugin-specific URLs (e.g., maven-source-plugin)
⚠️ Generic:https://maven.apache.org/plugins(could link to specific plugin pages)- ✅ Correct: Jackson, SLF4J, JUnit URLs verified
📝 CORRECTED THIRD-PARTY-NOTICES.txt TEMPLATE
THIRD-PARTY-NOTICES
This project includes third-party packages that are distributed under various open-source licenses. Below is a list of packages and their associated licenses.
Note: Some dependencies use SNAPSHOT versions from MOSIP snapshot repositories, while others use released versions from Maven Central.
================================================================================
Package: org.slf4j:jcl-over-slf4j
Version: [SPECIFY ACTUAL VERSION FROM KERNEL-BOM]
License: MIT
Homepage: https://www.slf4j.org
================================================================================
================================================================================
Package: org.slf4j:jul-to-slf4j
Version: [SPECIFY ACTUAL VERSION FROM KERNEL-BOM]
License: MIT
Homepage: https://www.slf4j.org
================================================================================
================================================================================
Package: com.fasterxml.jackson.core:jackson-core
Version: [SPECIFY ACTUAL VERSION FROM KERNEL-BOM]
License: Apache-2.0
Homepage: https://github.com/FasterXML/jackson-core
================================================================================
================================================================================
Package: com.fasterxml.jackson.core:jackson-databind
Version: [SPECIFY ACTUAL VERSION FROM KERNEL-BOM]
License: Apache-2.0
Homepage: https://github.com/FasterXML/jackson-databind
================================================================================
================================================================================
Package: org.junit.vintage:junit-vintage-engine
Version: [SPECIFY ACTUAL VERSION FROM KERNEL-BOM]
License: EPL-2.0
Homepage: https://junit.org/junit5/
================================================================================
================================================================================
Package: io.mosip.kernel:kernel-bom
Version: 1.3.0-SNAPSHOT (imagedecoder module) / 1.3.0-beta.1 (sample module)
License: MPL-2.0
Homepage: https://github.com/mosip/commons
================================================================================
================================================================================
Package: io.mosip.kernel:kernel-core
Version: 1.3.0-SNAPSHOT (imagedecoder module) / 1.3.0-beta.1 (sample module)
License: MPL-2.0
Homepage: https://github.com/mosip/commons
================================================================================
================================================================================
Package: io.mosip.kernel:kernel-logger-logback
Version: 1.3.0-SNAPSHOT (imagedecoder module) / 1.3.0-beta.1 (sample module)
License: MPL-2.0
Homepage: https://github.com/mosip/commons
================================================================================
Build Plugins:
================================================================================
================================================================================
Package: org.apache.maven.plugins:maven-compiler-plugin
Version: 3.11.0
License: Apache-2.0
Homepage: https://maven.apache.org/plugins/maven-compiler-plugin/
================================================================================
================================================================================
Package: org.apache.maven.plugins:maven-deploy-plugin
Version: 3.1.1
License: Apache-2.0
Homepage: https://maven.apache.org/plugins/maven-deploy-plugin/
================================================================================
================================================================================
Package: org.apache.maven.plugins:maven-assembly-plugin
Version: 3.1.1
License: Apache-2.0
Homepage: https://maven.apache.org/plugins/maven-assembly-plugin/
================================================================================
================================================================================
Package: org.sonatype.central:central-publishing-maven-plugin
Version: 0.7.0
License: Apache-2.0
Homepage: https://github.com/sonatype/central-publishing-maven-plugin
================================================================================
================================================================================
Package: org.apache.maven.plugins:maven-source-plugin
Version: 3.3.1
License: Apache-2.0
Homepage: https://maven.apache.org/plugins/maven-source-plugin/
================================================================================
================================================================================
Package: org.apache.maven.plugins:maven-javadoc-plugin
Version: 3.2.0
License: Apache-2.0
Homepage: https://maven.apache.org/plugins/maven-javadoc-plugin/
================================================================================
================================================================================
Package: org.apache.maven.plugins:maven-gpg-plugin
Version: 3.2.3
License: Apache-2.0
Homepage: https://maven.apache.org/plugins/maven-gpg-plugin/
================================================================================
================================================================================
Package: org.apache.maven.plugins:maven-surefire-plugin
Version: 2.22.0
License: Apache-2.0
Homepage: https://maven.apache.org/plugins/maven-surefire-plugin/
================================================================================
================================================================================
Package: org.apache.maven.plugins:maven-jar-plugin
Version: 3.0.2
License: Apache-2.0
Homepage: https://maven.apache.org/plugins/maven-jar-plugin/
================================================================================
================================================================================
Package: org.apache.maven.plugins:maven-dependency-plugin
Version: 3.1.2
License: Apache-2.0
Homepage: https://maven.apache.org/plugins/maven-dependency-plugin/
================================================================================
================================================================================
Package: org.apache.maven.plugins:maven-resources-plugin
Version: 3.0.2
License: Apache-2.0
Homepage: https://maven.apache.org/plugins/maven-resources-plugin/
================================================================================
================================================================================
Package: org.jacoco:jacoco-maven-plugin
Version: 0.8.11
License: EPL-2.0
Homepage: https://www.jacoco.org/jacoco/
================================================================================
================================================================================
Package: pl.project13.maven:git-commit-id-plugin
Version: 3.0.1
License: LGPL-3.0
Homepage: https://github.com/git-commit-id/git-commit-id-maven-plugin
================================================================================
================================================================================
Package: org.sonarsource.scanner.maven:sonar-maven-plugin
Version: 3.7.0.1746
License: LGPL-3.0
Homepage: https://github.com/SonarSource/sonar-scanner-maven
================================================================================
Full license texts for each of the above packages are available from their respective homepages or in the SPDX License List at https://spdx.org/licenses/. Please refer to those sources for complete legal terms and conditions.
🎯 ACTION ITEMS
High Priority:
- ❗ Add 5 missing build plugins to THIRD-PARTY-NOTICES.txt (or clarify exclusion policy)
- ❗ Resolve and specify exact versions for all "Not specified" dependencies
- ❗ Create license/ directory with full license texts, or remove reference to it
- ❗ Generate SBOM (sbom.json) using Maven plugins for supply chain transparency
Medium Priority:
⚠️ Consolidate duplicate entries for kernel packages or section by module⚠️ Remove self-reference to imagedecoder package (unless justified)⚠️ Add clarification about SNAPSHOT vs release versions
Low Priority:
- 💡 Improve homepage URLs to be more specific (link directly to plugin pages)
- 💡 Add SPDX license identifiers consistently throughout
- 💡 Consider automation for generating/updating THIRD-PARTY-NOTICES.txt
✅ COMPLIANCE STATUS
| Requirement | Status | Notes |
|---|---|---|
| All dependencies listed | ✅ Yes | All pom.xml dependencies present |
| All plugins listed | ❌ No | 5 plugins missing |
| Accurate versions | SNAPSHOTs OK, but many "Not specified" | |
| SPDX-compliant licenses | ✅ Yes | All licenses correctly identified |
| Verified against official sources | ✅ Yes | All licenses validated |
| Homepage URLs accurate | ✅ Yes | All verified and accessible |
| SBOM synchronized | ❌ N/A | No SBOM file exists |
| Ready for compliance audit | Needs missing entries and version resolution |
📌 RECOMMENDATIONS SUMMARY
For immediate PR approval:
- Add the 5 missing plugins with their correct licenses
- Resolve "Not specified" versions by checking kernel-bom
- Update the footer to remove reference to non-existent license/ directory
For long-term compliance:
- Generate and maintain an SBOM (sbom.json)
- Automate THIRD-PARTY-NOTICES.txt generation using Maven plugins like
license-maven-plugin - Establish a clear policy on build-time vs runtime dependency attribution
Would you like me to create an issue to track these improvements?
|
@CodeRabbit which of these libraries need or mandatory a copyright test? Also, give the files what is the copyright year and date who is the copyright for, like Lombok, Junit, or Sonar, like that |
|
Tip For best results, initiate chat on the files or code changes. 🧩 Analysis chain🏁 Script executed: Length of output: 8487 🏁 Script executed: Length of output: 7911 🏁 Script executed: Length of output: 7958 🌐 Web query: 💡 Result:
Sources: Citations:
🌐 Web query: Error during web search @Rakshithasai123, excellent question! ALL of the libraries in your THIRD-PARTY-NOTICES.txt require mandatory copyright notices. Here's the comprehensive breakdown: 📋 COPYRIGHT NOTICE REQUIREMENTS BY LICENSE
Bottom line: Every single license in your project requires copyright notices to be preserved and included. 📝 DETAILED COPYRIGHT INFORMATION FOR EACH LIBRARY1️⃣ SLF4J (MIT License) ✅ MANDATORYPackages:
Copyright Holder: QOS.ch Sarl (Switzerland) License Text (MIT License): 2️⃣ Jackson (Apache License 2.0) ✅ MANDATORYPackages:
Copyright Holder: Tatu Saloranta / FasterXML, LLC License Text (Apache License 2.0 - Key excerpt): Apache 2.0 NOTICE Requirement: 3️⃣ JUnit 5 (Eclipse Public License 2.0) ✅ MANDATORYPackage:
Copyright Holder: Eclipse Foundation and Contributors License Text (EPL-2.0 - Key copyright provision): Full EPL-2.0 text: https://www.eclipse.org/legal/epl-2.0/ 4️⃣ Apache Maven Plugins (Apache License 2.0) ✅ MANDATORYPackages:
Copyright Holder: The Apache Software Foundation License Text: Same Apache License 2.0 as Jackson above. NOTICE File Content: 5️⃣ git-commit-id-plugin (LGPL-3.0) ✅ MANDATORYPackage:
Copyright Holder: Free Software Foundation, Inc. License Text (LGPL-3.0 - Key copyright provision): Full LGPL-3.0 text: https://www.gnu.org/licenses/lgpl-3.0.html 6️⃣ MOSIP Kernel (Mozilla Public License 2.0) ✅ MANDATORYPackages:
Copyright Holder: MOSIP (Modular Open Source Identity Platform) License Text (MPL-2.0 - Key copyright provision): Full MPL-2.0 text: https://www.mozilla.org/en-US/MPL/2.0/ 🎯 RECOMMENDED COPYRIGHT NOTICES FILECreate a 📂 ACTION ITEMS
⚖️ CRITICAL LEGAL REQUIREMENTS
Warning: Removing or failing to include copyright notices violates all of these licenses and puts your project at legal risk. Would you like me to generate the complete license text files for each license type? |
Removed several third-party package entries and their licenses from the THIRD-PARTY-NOTICES.txt file.