오픈소스 라이선스 규정 준수
라이선스 개요
Snyk 웹 UI, Snyk CLI에서 코드를 테스트하거나 PR 검사(PR Checks)를 사용할 때마다 리포지토리의 취약점 및 라이선스 준수 여부가 스캔됩니다. 여기에는 모든 직접 및 간접 종속성이 포함됩니다. Snyk은 매니페스트 파일을 스캔하고 Snyk이 알고 있는 라이선스와 대조하여 라이선스 문제를 확인합니다.
기본 라이선스 정책
고객이 라이선스 준수를 더 빨리 시작할 수 있도록 Snyk은 기본 라이선스 정책을 만들었습니다. 기본 정책은 여러 유형의 애플리케이션(SaaS, 배포형 등)의 요구 사항을 충족하려는 기준선입니다. 이는 추가 라이선스 정책을 조정하기 위한 시작점으로 사용될 수 있습니다. 기본 정책은 특정 라이선스를 지지하거나 비판하지 않습니다.
기본적으로 Snyk은 다음과 같은 방식으로 라이선스 문제의 심각도를 결정합니다.
높은 심각도(High severity) - 상업용 소프트웨어에 확실히 문제를 일으키는 라이선스
중간 심각도(Medium severity) - 우려될 수 있는 조항이 포함되어 있어 검토가 필요한 라이선스
자세한 내용은 라이선스 정책 및 오픈소스 라이선스: 유형 및 비교를 참조하십시오.
Snyk의 라이선스 사용 방식
개발자의 온보딩을 용이하게 하기 위해, Snyk은 법무 팀에서 구체적으로 설명한 정책에 따라 팀이 이러한 기본값을 확인하고, 심각도를 업데이트하며, 라이선스 유형별 지침을 추가할 것을 권장합니다.
라이선스 정책이 업데이트된 후 Snyk이 라이선스 위반을 감지하면, 보안 취약점과 동일한 방식으로 Snyk 웹 UI, Snyk CLI 또는 PR 검사의 테스트 결과에 조직의 모든 사용자에게 표시되며, 여기에는 구성한 심각도 및 지침이 포함됩니다.
예시는 다음과 같습니다.

라이선스 정책 보기 및 관리
모든 프로젝트에 걸친 모든 라이선스의 인벤토리를 볼 수 있습니다. 자세한 내용은 라이선스 보기를 참조하십시오.
고객마다 라이선스 유형에 대한 요구 사항과 허용 수준이 다를 수 있습니다. Snyk은 회사의 특정 요구 사항에 맞는 정책을 만들거나 필요한 변경을 수행할 것을 권장합니다.
Snyk에서 추가한 새로운 라이선스는 Unknown 라이선스 유형 심각도를 상속합니다. 이 심각도가 None으로 설정되지 않은 경우, 새로 추가된 라이선스는 라이선스 준수 결과에 나타납니다.
잘못된 라이선스 유형이 할당된 라이선스를 발견하면 Snyk 지원팀에 문의할 수 있습니다. Snyk은 요청을 조사하고 필요한 경우 라이선스 유형을 업데이트합니다.
라이선스 업데이트
Snyk은 시스템 패키지 데이터 교환(SPDX) 사양의 필수 부분인 SPDX 라이선스 목록에 따라 라이선스 정의를 정기적으로 업데이트합니다.
다중 라이선스
일부 패키지의 경우 한 버전에 동시에 적용되는 두 개 이상의 라이선스가 포함되어 있습니다. Snyk은 이를 이중 라이선스(dual-licenses) 또는 다중 라이선스(multi-licenses)라고 부릅니다.
두 가지 유형의 이중 또는 다중 라이선스가 있습니다.
OR - Snyk이 패키지에서
OR로 표시된 두 개의 라이선스를 인식하면, 고객은 두 라이선스 중 하나를 준수할 수 있음을 의미합니다.

AND - 라이선스에 명시적으로
AND가 포함된 경우, 고객은 모든(이중 또는 다중) 라이선스를 준수해야 합니다.

두 경우 모두 Snyk은 모든 라이선스에 심각도가 있는 문제를 표시할 때 가장 높은 심각도를 가진 라이선스의 심각도를 표시합니다.
취약점 카드의 라이선스는 취약점 카드에 가장 높은 심각도가 표시되어 있더라도 가장 낮은 심각도의 라이선스부터 정렬됩니다.
스캔된 버전의 패키지에 있는 다중 라이선스 중 하나라도 severity:none으로 설정된 경우, 현재 동작은 라이선스 취약점이 표시되지 않는 것입니다.
지원되는 패키지 유형
Snyk은 버전이 Git 커밋 해시(예: [email protected])인 패키지에 대한 라이선스 문제 스캔을 지원하지 않습니다.
C/C++ (비관리형)
Cocoapods
Composer
Go
Maven
npm
NuGet
PyPi
RubyGems
라이선스 데이터 소스
경우에 따라 개발자가 소스 리포지토리(예: GitHub, GitLab)에서는 한 가지 라이선스 유형을 지정하고 패키지를 릴리스할 때(예: npm, pypi)는 다른 라이선스 유형을 지정할 수 있습니다. Snyk은 패키지 관리자의 라이선스 정의를 검사하여 라이선스가 릴리스된 패키지와 일치하는지 확인함으로써 라이선스 정보의 정확성을 보장합니다. 개발자가 패키지 관리자에 라이선스를 정의하지 않은 경우 none 또는 unknown 값이 발생할 수 있습니다.
Snyk이 라이선스 감지 프로세스를 개선함에 따라 이러한 동작은 변경될 수 있습니다.
Last updated