GitLab 라이센스 및 호환성

GitLab 커뮤니티 에디션 (CE)은 MIT 라이센스의 조건에 따라 라이센스가 부여됩니다. GitLab 엔터프라이즈 에디션 (EE)은 “GitLab 엔터프라이즈 에디션(EE) 라이센스“에 따라 라이센스가 부여되며, 여기에는 더 많은 제한이 있습니다.

자동화된 테스트

우리가 사용하는 라이브러리에 대한 라이센스 조건을 준수하기 위해, 새로운 gem이 추가될 때마다 호환 가능한 라이센스를 확인해야 합니다. 이 프로세스를 자동화하기 위해, 우리는 Pivotal의 License Finder gem을 사용합니다. 새로운 커밋이 푸시될 때마다 실행되며, 번들 내의 모든 gem 및 노드 모듈이 GitLab 커뮤니티 에디션 또는 GitLab 엔터프라이즈 에디션의 라이센스와 충돌하지 않는 라이센스를 사용하고 있는지 확인합니다.

그러나 자동화된 테스트에는 몇 가지 제한이 있습니다. Bundler, npm 또는 Yarn을 통해 포함되지 않은 CSS, JavaScript 또는 Ruby 라이브러리(예를 들어, vendor 디렉토리에 수동으로 복사된 라이브러리)는 수동으로 독립적으로 확인해야 합니다. 이러한 라이브러리를 사용할 때는 주의가 필요하며, 자동화된 테스트가 이로부터의 문제성 라이센스를 포착하지 않습니다.

일부 gem은 gemspec 파일에 라이센스 정보를 포함하지 않을 수 있으며, 일부 노드 모듈은 package.json 파일에 라이센스 정보를 포함하지 않을 수 있습니다. 이는 License Finder에 의해 감지되지 않으며, 수동으로 확인해야 합니다.

License Finder 명령어

라이센스 감지를 관리하기 위해 License Finder가 제공하는 몇 가지 기본 명령어가 있습니다.

검사가 통과하고 있는지 확인하거나, 검사를 실패하게 하는 종속성을 보려면:

bundle exec license_finder

새로운 라이센스를 허용 목록에 추가하려면:

license_finder permitted_licenses add MIT

새로운 라이센스를 금지 목록에 추가하려면:

license_finder restricted_licenses add Unlicense

자동 검출되지 않는 종속성의 라이센스를 License Finder에 알려주려면:

license_finder licenses add my_unknown_dependency MIT

위의 모든 경우에서 --why "Reason"--who "My Name"을 포함하여 decisions.yml 파일이 종속성을 승인할 때, 이유 및 승인한 사람을 추적할 수 있도록 합니다.

gem 및 명령어 작동 방식에 대한 더 자세한 정보는 License Finder README에서 확인할 수 있습니다.

알 수 없거나 Lead 라이센스 소프트웨어 승인 받기

우리는 때때로 Blue Oak Council 라이센스 목록에 포함되지 않거나 목록에서 Lead 등급으로 표시된 제3자 소프트웨어를 사용해야 합니다. 이 경우, 소프트웨어를 설치하기 전에 사용 사례가 법적 승인을 받아야 합니다. 이에 대한 자세한 내용은 핸드북에서 확인할 수 있습니다.

법적 승인을 받으려면 다음 단계를 따르세요:

  1. 새로운 법적 문제를 생성합니다. 가능한 많은 세부 정보를 포함해야 합니다:
    • 소프트웨어가 사용하는 라이센스는 무엇인가요?
    • 어떻게 그리고 어디에서 사용될 것인가요?
    • 소프트웨어가 벤더링되거나 포크되나요, 아니면 업스트림 프로젝트를 사용할 것인가요?
    • 관련 링크.
  2. 사용이 법적 승인을 받은 후, GitLab 프로젝트에서 소프트웨어를 허용 목록에 추가합니다.

    위의 License Finder 명령어를 참조하세요.

  3. 소프트웨어가 Omnibus에서도 인식되는지 확인해야 합니다. omnibus-gitlab 프로젝트에 대한 새로운 MR을 생성하십시오. 변경 사항이 어떤 모습이어야 하는지에 대한 예시는 이 MR을 참조하세요. 다음 파일을 수정해야 합니다:
    • lib/gitlab/license/analyzer.rb
    • support/dependency_decisions.yml

암호화 키

고객 포털 또는 라이센스 앱을 위해 귀하의 라이센스가 로컬 개발 또는 스테이징 환경에서 생성된 경우, 올바른 복호화 키를 사용하기 위해 test 값이 있는 환경 변수 GITLAB_LICENSE_MODE를 설정해야 합니다.

해당 프로젝트는 기본적으로 테스트 라이센스 암호화 키를 사용하도록 설정되어 있습니다.

추가 정보

라이센스에 대한 추가 정보는 오픈 소스 페이지를 참조하세요.