오픈 소스 라이선스 규정 준수

라이선스 개요

매번 코드를 Snyk 웹 UI, Snyk CLI 또는 PR Checks를 통해 테스트할 때, 레포지토리가 취약점과 라이선스 준수를 스캔됩니다. 이는 직접 및 간접적인 종속성을 모두 포함합니다. Snyk은 매니페스트 파일을 스캔하고 알려진 라이선스에 대한 라이선스 문제를 확인합니다.

기본 라이선스 정책

고객이 라이선스 준수를 빠르게 시작할 수 있도록 하기 위해 Snyk은 기본 라이선스 정책을 만들었습니다. 기본 정책은 여러 유형의 애플리케이션, SaaS, 분산 애플리케이션 등의 요구 사항을 충족하려는 기준점입니다. 이것은 추가 라이선스 정책을 보정하기 위한 시작점으로 사용될 수 있습니다. 기본 정책은 어떤 라이선스도 찬반하지 않습니다.

기본으로, Snyk은 라이선스 문제의 심각성을 다음과 같은 방식으로 결정합니다:

  • 높은 심각성 - 상업용 소프트웨어에 문제가 될 수 있는 라이선스

  • 중간 심각성 - 고려해야 할 조항이 있는 라이선스로 검토가 필요함

자세한 정보는 라이선스 정책오픈 소스 라이선스: 유형 및 비교를 참조하십시오.

Snyk이 라이선스 사용하는 방법

개발자들의 입문을 용이하게 하기 위해, Snyk은 팀이 이러한 기본값을 확인하고 심각도를 업데이트하고 법적 팀에서 구체적으로 제시한 정책에 따라 지침을 추가하도록 권장합니다.

라이선스 정책이 업데이트된 후, Snyk이 라이선스 위반이 감지하면 이는 사용자 모두에게 Snyk 웹 UI, Snyk CLI 또는 PR Checks의 테스트 결과에서, 보안 취약점과 같은 방식으로 표시되며 구성된 심각성 및 지침을 포함합니다.

예는 다음과 같습니다:

라이선스 카드 개요

라이선스 정책 보기 및 관리

모든 프로젝트에서 모든 라이선스의 인벤토리를 확인할 수 있습니다. 자세한 내용은 라이선스 보기를 참조하십시오.

다양한 고객은 다른 라이선스 유형에 대해 다른 요구 사항과 용인 수준을 가질 수 있습니다. Snyk은 귀사의 특정 요구 사항에 맞는 변경 사항이나 새로운 정책을 만들었는지 확인하시기를 권장합니다.

Snyk에 의해 추가된 새로운 라이선스는 알 수 없음 라이선스 유형 심각도를 상속받습니다. 이 심각도가 없음으로 설정되지 않은 경우, 새로 추가된 라이선스는 라이센스 준수 결과에 나타납니다.

잘못된 라이선스 유형을 할당받은 라이센스를 발견하면 Snyk 지원팀에 연락할 수 있습니다. Snyk이 요청을 조사하고 필요 시 라이선스 유형을 업데이트합니다.

다중 라이선스

일부 패키지의 버전에는 동시에 두 개 이상의 라이선스가 적용되는 경우가 있습니다. Snyk는 이를 이중 라이선스 또는 다중 라이선스로 지칭합니다.

두 가지 타입의 이중 또는 다중 라이선스가 있습니다:

  • OR - 만약 Snyk가 패키지에서 OR로 표시된 두 개의 라이선스를 인식하면, 고객은 두 라이선스 중 하나를 준수할 수 있다는 것을 의미합니다.

npm에서 OR 라이선스 예시
  • AND - 라이선스에 명시적으로 AND가 있는 경우, 고객은 모든 (이중 또는 다중) 라이선스를 준수해야 합니다.

npm에서 AND 라이선스 예시

이러한 경우 모두, Snyk은 문제를 표시할 때 가장 높은 심각도의 라이선스를 표시하며 모든 라이선스가 심각도를 가지고 있는 경우입니다.

지원되는 패키지 유형

Snyk은 버전에 git 커밋 해시가 포함된 패키지의 라이선스 문제를 스캔하지 않습니다. 예를 들어, [email protected]와 같은 경우입니다.

  • C/C++ (미관리)

  • Cocoapods

  • Composer

  • Go

  • Maven

  • npm

  • Nuget

  • Pypi

  • RubyGems

라이선스 데이터 소스

개발자가 소스 저장소(예: GitHub, GitLab)에서 하나의 라이선스 유형을 지정하고 패키지 릴리스 시 다른 라이선스를 지정하는 경우가 있습니다(예: npm, pypi). Snyk은 라이선스가 릴리스된 패키지와 일치하는지 확인하기 위해 패키지 매니저의 라이센스 정의를 조사하여 라이센스 정보의 정확성을 보장합니다. 개발자가 패키지 매니저에서 라이센스를 정의하지 않았다면, 이는 none 또는 unknown 값으로 나타날 수 있습니다.

이 동작은 Snyk이 라이선스 검색 프로세스를 개선하기 위해 변경될 수 있음에 유의하십시오.

Last updated