diff --git a/docs/sbom/AXHUB_MCP_Tool_Service_SBOM_CycloneDX1.5.json b/docs/sbom/AXHUB_MCP_Tool_Service_SBOM_CycloneDX1.5.json index 172949e..38a4e8d 100644 --- a/docs/sbom/AXHUB_MCP_Tool_Service_SBOM_CycloneDX1.5.json +++ b/docs/sbom/AXHUB_MCP_Tool_Service_SBOM_CycloneDX1.5.json @@ -548,34 +548,32 @@ }, { "type": "platform", - "bom-ref": "pkg:generic/jdk@21", + "bom-ref": "pkg:generic/jdk@21.0.5", "name": "jdk", - "version": "21", - "publisher": "미지정 (toolchain languageVersion=21)", + "version": "21.0.5", + "publisher": "Eclipse Adoptium (Temurin)", "description": "언어/실행 환경 — Java 21 toolchain", "scope": "optional", - "purl": "pkg:generic/jdk@21", + "purl": "pkg:generic/jdk@21.0.5", "licenses": [ { - "license": { - "name": "벤더별 상이 (GPL-2.0-with-classpath-exception 등)" - } + "expression": "GPL-2.0-only WITH Classpath-exception-2.0" } ], "externalReferences": [ { "type": "website", - "url": "https://openjdk.org/projects/jdk/21/" + "url": "https://adoptium.net/temurin/releases/?version=21" } ], "properties": [ { "name": "axhub:dependencyPath", - "value": "build.gradle java.toolchain" + "value": "build.gradle java.toolchain (vendor=ADOPTIUM)" }, { "name": "axhub:note", - "value": "벤더가 고정돼 있지 않아 라이선스는 실제 배포판 확정 후 기재" + "value": "표준가이드의 openjdk21u-jdk_x64_windows_hotspot_21.0.5 기준. Classpath Exception이 있어 이 JDK로 실행하는 애플리케이션에는 소스 공개 의무가 없다" } ] }, @@ -697,7 +695,7 @@ "dependsOn": [] }, { - "ref": "pkg:generic/jdk@21", + "ref": "pkg:generic/jdk@21.0.5", "dependsOn": [] }, { diff --git a/docs/sbom/AXHUB_MCP_Tool_Service_SBOM_CycloneDX1.5.xlsx b/docs/sbom/AXHUB_MCP_Tool_Service_SBOM_CycloneDX1.5.xlsx index 0b7d7a6..2a2c283 100644 Binary files a/docs/sbom/AXHUB_MCP_Tool_Service_SBOM_CycloneDX1.5.xlsx and b/docs/sbom/AXHUB_MCP_Tool_Service_SBOM_CycloneDX1.5.xlsx differ diff --git a/docs/sbom/README.md b/docs/sbom/README.md index ba1cf46..f95bf09 100644 --- a/docs/sbom/README.md +++ b/docs/sbom/README.md @@ -22,9 +22,14 @@ MCP Server와 Tool Service는 같은 기술 스택과 같은 MCP SDK를 쓰므 | 빌드 환경 (scope: optional) | 2 | JDK 21, Gradle 8.14.3 | | 합계 | 14 | | -라이선스는 Apache-2.0 9건, MIT 3건, MIT-0 1건, 미확정 1건(JDK)이다. copyleft는 0건이라 소스 -공개 의무가 없다. JDK는 toolchain이 `languageVersion = 21`만 고정하고 벤더를 지정하지 않으므로, -실제 배포판이 정해지면 라이선스를 확정해 기재한다. +라이선스는 Apache-2.0 9건, MIT 3건, MIT-0 1건, GPL-2.0 with Classpath Exception 1건(JDK)이다. +라이브러리 12건은 모두 permissive이고, copyleft는 JDK 하나뿐이다. JDK는 Classpath Exception이 +있어 이 JDK로 실행하는 애플리케이션에 소스 공개 의무가 생기지 않는다. + +JDK 배포판은 표준가이드가 정한 Eclipse Temurin +(`openjdk21u-jdk_x64_windows_hotspot_21.0.5`)이며, `build.gradle`의 toolchain에 +`vendor = JvmVendorSpec.ADOPTIUM`으로 고정해 다른 배포판으로 빌드되지 않게 했다. 실행 컨테이너도 +같은 계열인 `eclipse-temurin:21-jre`를 쓴다. ## 제외 항목