GitLab 라이선스 및 호환성
GitLab Community Edition (CE)는 MIT 라이선스 조건에 따라 라이선스가 부여됩니다. GitLab Enterprise Edition (EE)는 “GitLab Enterprise Edition (EE) 라이선스“에 따라 라이선스가 부여되며, 여기에는 더 많은 제한이 있습니다.
자동화된 테스팅
사용 중인 라이브러리가 라이선스 조건을 준수하도록 하기 위해 새로운 젬이 추가될 때마다 호환되는 라이선스를 확인해야 합니다. 이 프로세스를 자동화하기 위해 Pivotal의 License Finder 젬을 사용합니다. 새로운 커밋이 푸시될 때마다 실행되어 번들 내의 모든 젬 및 노드 모듈이 GitLab Community Edition 또는 GitLab Enterprise Edition의 라이선스와 충돌하지 않는 라이선스를 사용하는지 확인합니다.
그러나 자동화된 테스팅에는 몇 가지 제한 사항이 있습니다. Bundler, npm 또는 Yarn을 통해 포함되지 않은 CSS, JavaScript 또는 Ruby 라이브러리(예: ‘vendor’ 디렉토리에 수동으로 복사된 라이브러리)는 수동으로 독립적으로 확인해야 합니다. 이러한 라이브러리를 사용할 때 주의해야 하며, 자동화된 테스트에서 이러한 라이브러리의 문제가 발견되지 않습니다.
일부 젬은 자신들의 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
위의 모든 사항에 “이유” 및 “내 이름”을 포함하여 decisions.yml
파일이 종속성이 언제, 왜, 누구에 의해 승인되었는지 추적할 수 있도록 해야 합니다.
더 자세한 정보는 License Finder README에서 이 젬과 해당 명령어가 작동하는 방법에 대한 정보를 확인할 수 있습니다.
알 수 없는 또는 리드 등급 라이선스 소프트웨어 승인
블루 오크 컨슬의 라이선스 목록에 없거나 목록에서 리드 등급으로 표시된 타사 소프트웨어를 사용해야 하는 경우, 소프트웨어를 설치하기 전에 해당 사용 사례를 법적으로 승인해야 합니다. 이에 대한 자세한 내용은 핸드북에서 확인할 수 있습니다.
법적 승인을 받으려면 다음 단계를 따르세요:
- 새 법적 이슈를 생성합니다. 가능한 한 많은 세부 정보를 포함해야 합니다:
- 소프트웨어가 사용하는 라이선스는 무엇입니까?
- 어디에서 어떻게 사용됩니까?
- 벤더링되거나 포크된 경우 또는 우리가 상위 프로젝트를 사용할 경우
- 관련 링크
- 사용이 법적으로 승인되면 GitLab 프로젝트에서 소프트웨어를 화이트리스트에 추가합니다. 위의 License Finder 명령어를 참조하세요.
- 소프트웨어가 Omnibus에서도 인식되도록 합니다.
omnibus-gitlab
프로젝트에 대한 새 MR을 작성하세요. 변경 사항이 어떻게 보여야 하는지에 대한 예제로 이 MR를 참조하세요. 다음 파일을 편집해야 합니다.lib/gitlab/license/analyzer.rb
support/dependency_decisions.yml
암호화 키
Customers Portal 또는 License App의 로컬 개발 또는 스테이징 환경에서 라이선스가 생성된 경우, 올바른 복호화 키를 사용하려면 GITLAB_LICENSE_MODE
라는 환경 변수를 test
값으로 설정해야 합니다.
해당 프로젝트는 기본적으로 테스트 라이선스 암호화 키를 사용하도록 설정되어 있습니다.
추가 정보
라이선스에 대한 자세한 정보는 오픈 소스 페이지를 참조하세요.