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
위의 모든 작업에 --why "이유"
및 --who "내 이름"
을 포함하여, decisions.yml
파일이 종속성을 승인한 시기, 이유 및 승인자를 추적할 수 있도록 해야 합니다.
보다 자세한 정보는 License Finder README에서 확인할 수 있습니다.
알려지지 않은 또는 리드 등급 소프트웨어 승인받기
블루 오크 카운슬의 라이선스 목록에 없거나 목록에서 리드 등급으로 표시된 타사 소프트웨어를 사용해야 할 때는 소프트웨어를 설치하기 전에 사용 사례가 법적으로 승인되어야 합니다. 관련 내용은 핸드북에서 확인할 수 있습니다.
법적 승인을 받으려면 다음 단계를 따르세요:
- 새로운 법적 이슈를 생성하세요. 가능한 많은 세부 정보를 포함해야 합니다:
- 소프트웨어가 사용하는 라이선스는 무엇인가요?
- 어떻게 어디에 사용될 것인가요?
- 업스트림 프로젝트를 사용하는지 또는 벤더링하거나 포크할 것인가요?
- 관련 링크가 있나요?
- 사용 사례가 법적으로 승인된 후, GitLab 프로젝트에서 해당 소프트웨어를 허용 목록에 추가하세요. License Finder 명령어를 참조하세요.
- 소프트웨어가 Omnibus에서 인식되는지 확인하세요.
omnibus-gitlab
프로젝트에 대해 새로운 MR을 생성하세요. 변경 내용 예는 이 MR를 참조하세요. 다음 파일을 편집해야 합니다:lib/gitlab/license/analyzer.rb
support/dependency_decisions.yml
암호화 키
고객 포털 또는 라이선스 앱의 로컬 개발 또는 스테이징 환경에서 라이선스가 생성된 경우, 올바른 복호화 키를 사용하려면 GITLAB_LICENSE_MODE
라는 환경 변수를 test
값으로 설정해야 합니다.
해당 프로젝트는 기본적으로 테스트 라이선스 암호화 키를 사용하도록 설정되어 있습니다.
추가 정보
라이선스에 대한 자세한 내용은 오픈 소스 페이지를 참조하세요.