FOSSLight Source Scanner 는 SPDX format file 을 출력해 주지 않지만 FOSSLight Scanner 는 Source Scanner 의 분석 결과 파일을 이용하여 SPDX format file 을 출력해 준다.

다만 Source Scanner는 내부적으로 ScanCode와 SCANOSS 오픈소스 라이브러리를 이용하여 분석 결과를 매우 상세하게 출력해 준다.

그런데... SCANOSS 는 동작시 파일 갯수 제한이 걸려 있어서 몇번 테스트 하다보면 ScanCode 만 동작하게 된다.

그래서 ScanCode 의 동작 특성에 대해 다음과 같은 특징을 발견하게 되었다.

 

javascript library 내에 첫 문단에 라이선스 관련하여 주석으로 다음과 같은 문구를 입력해 놓았다.

 

//  NOTICE: OOOOOOO permits you to use, modify, and distribute this file 

//          in accordance with the terms of the license agreement accompanying it.

 

위 문구에는 라이선스 키워드가 없지만 ScanCode 는 위 문구를 통해서 adobe 의 "adobe-dng-sdk" 라이선스의 내용과 일정 이상 매칭이 된다고 알려주고

해당 문구를 통해 "adobe-dng-sdk" 라이선스가 고지된 것이라고 검출해 낸다. ( "licenseComments": "LicenseRef-adobe-dng-sdk" )

나는 이게 FOSSLight Scanner 가 알 수 없는 라이선스를 만났을때의 예외 동작인줄 알았다.

 

FOSSLight Source Scanner 는 여러 라이선스들의 문구들을 통해 소스 주석에 매칭되는 내용을 찾지 못하면 해당 라이브러리는 관련한 라이선스가 없다고 판단하고 목록에서 제외 시킨다.

그래서 결국 SPDX 문서에는 해당 파일의 라이선스 내용이 사라지게 되는데...

위와 같은 경우는 엉뚱한 라이선스가 적용되었다고 알려주게 되는 것이다. 

 

그래서 해당 문구의 앞과 뒤에 아주 강력한 내용의 다음과 같은 "apache-2.0" 라이선스 문구를 발췌해다가 삽입했다.

 

    /*

     Licensed to the Apache Software Foundation (ASF) under one

     or more contributor license agreements.  See the NOTICE file

     distributed with this work for additional information

     regarding copyright ownership.  The ASF licenses this file

     to you under the Apache License, Version 2.0 (the

     "License"); you may not use this file except in compliance

     with the License.  You may obtain a copy of the License at

    

         http://www.apache.org/licenses/LICENSE-2.0

    

     Unless required by applicable law or agreed to in writing,

     software distributed under the License is distributed on an

     "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY

     KIND, either express or implied.  See the License for the

     specific language governing permissions and limitations

     under the License.

    */

 

뒤쪽에 배치했을때 ScanCode 는 해당 라이브러리는 "apache-2.0" 라이선스만 적용된다고 결과를 내었다.

하지만 앞쪽에 배치하자 해당 라이브러리에 적용한 라이선스가 "apache-2.0,unknown-license-reference" 라고 나온다.

그리고 FOSSLight Scanner 에서는 위 정보를 이용하여 SPDX 내용을 작성할때 다음과 같이 출력한다.

 

        {

            "SPDXID": "SPDXRef-File10",

            "checksums": [

                {

                    "algorithm": "SHA1",

                    "checksumValue": "2be6981ecd35405f1537c5b0b447e4c48dd1b47c"

                }

            ],

            "copyrightText": "Copyright 2017 OOOOOOO Co., Ltd.",

            "fileName": "framework/System.js",

            "licenseComments": "LicenseRef-unknown-license-reference",

            "licenseInfoInFiles": [

                "Apache-2.0"

            ]

        }

 

licenseComments 란에 unknown-license 라고 나온다.

만일 "Apache-2.0"의 장문의 라이선스 문구를 입력하지 않았었다면 

 

        {

            "SPDXID": "SPDXRef-File10",

            "checksums": [

                {

                    "algorithm": "SHA1",

                    "checksumValue": "2be6981ecd35405f1537c5b0b447e4c48dd1b47c"

                }

            ],

            "copyrightText": "Copyright 2017 OOOOOOO Co., Ltd.",

            "fileName": "framework/System.js",

            "licenseComments": "LicenseRef-adobe-dng-sdk"

        }

 

"licenseInfoInFiles" 내용은 빠져있고  "licenseComments"에 "adobe-dng-sdk" 라이선스를 넣어 SPDX 문서를 출력했을 것이다.

 

 

 

 

 

 

번호 제목 글쓴이 날짜 조회 수
공지 [계속 추가중] SBOM 용어 정의 황제낙엽 2025.04.10 21564
공지 [계속 추가중] Keycloak 용어 및 설정 옵션 정의 황제낙엽 2024.02.02 20405
146 SPDX 2.3, 계속 써도 되나요? — 3.0으로 넘어갈 때를 판단하는 실무 기준 황제낙엽 2026.08.11 54
145 같은 OSS 지만 여러 버전을 등록해야 하는 경우 황제낙엽 2026.04.24 1972
144 [FOSSLight Dependency Scanner] Android Project 의 Dependency Scan 을 위한 Android SDK 설치와 설정 황제낙엽 2026.04.23 1843
143 FOSSLight Hub 의 REST API 이용 (v2) 황제낙엽 2026.03.19 2500
142 [FOSSLight/검토용] 개발그룹의 sbom-info.yaml 분석 및 피드백 절차 황제낙엽 2026.03.16 1982
141 [FOSSLight/관리용] Project Identification 진행에서 최종 SBOM SPDX 문서 추출 황제낙엽 2026.02.09 1916
140 [FOSSLight] 'Download Location' 컬럼 값에 'Different from DB' 라는 푸른색 메세지가 출력 file 황제낙엽 2026.02.06 3613
139 [FOSSLight] Project Identification 진행시의 신규 OSS 등록 처리 방법 황제낙엽 2026.02.06 3750
138 [FOSSLight Hub] License 정보를 직접 등록시 필요한 항목 목록 황제낙엽 2026.02.06 3579
137 [FOSSLight Hub] Open Source 정보를 직접 등록시 필요한 항목 목록 황제낙엽 2026.02.06 3352
136 [OSS] Microsoft.Web.WebView2 황제낙엽 2026.02.06 3352
135 [FOSSLight] fosslight 프로젝트의 'Pre-Review' > 'Open Source' 팝업창의 세 버튼에 대한 용도 황제낙엽 2026.02.06 3572
134 [FOSSLight/검토용] prechecker convert 결과 Hub 등록후 Identification 처리 file 황제낙엽 2026.02.05 3289
133 python venv 설치, fosslight source scanner , binary scanner 설치, 버전 확인 황제낙엽 2026.02.02 3507
132 SPDX 템플릿 다운로드 및 온라인 변환기 황제낙엽 2026.01.22 3870
131 SBOM(Software Bill of Materials) 및 소프트웨어 공급망 보안 관련 주요 정부 기관 및 단체 황제낙엽 2026.01.22 3605
130 [FOSSLight] online guide link 황제낙엽 2026.01.14 1844
129 identification 에서 출력하는 warning, error 메세지 황제낙엽 2025.12.29 1427
128 sbom-info.yaml 을 이용한 dependency scan excel 작성 file 황제낙엽 2025.12.29 3578
127 binary scan 결과물에 대해 취약점이 없는데 왜 SBOM에 넣어야 하나? 황제낙엽 2025.12.17 3484