GitLab 라이선스 및 호환성
GitLab Community Edition (CE)은 MIT 라이선스 조건에 따라 라이선스가 부여됩니다. GitLab Enterprise Edition (EE)은 “The GitLab Enterprise Edition (EE) license“에 따라 라이선스가 부여되며 더 많은 제한이 있습니다.
자동화된 테스트
우리가 사용하는 라이브러리의 라이선스 조건을 준수하려면 새로운 젬들이 추가될 때마다 호환되는 라이선스를 확인해야 합니다. 이 프로세스를 자동화하기 위해 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에서 확인할 수 있습니다.
알 수 없거나 리드 등급이 부여된 소프트웨어의 승인
저희는 때로는 Blue Oak Council 라이선스 디렉터리에 포함되지 않은 소프트웨어를 사용해야 할 때가 있습니다. 또는 해당 디렉터리에서 리드 등급이 부여된 소프트웨어를 사용해야 할 때도 있습니다. 이 경우 소프트웨어를 설치하기 전에 사용 사례가 법적으로 승인되어야 합니다. 이에 대한 자세한 내용은 핸드북에서 확인할 수 있습니다.
법적 승인을 받으려면 다음 단계를 따르십시오:
- 새 법적 이슈를 생성합니다. 가능한 많은 세부 정보를 포함해야 합니다.
- 소프트웨어가 사용하는 라이선스는 무엇인가요?
- 어떻게 어디에서 사용되나요?
- 벤더링되었거나 포크되었거나, 상류 프로젝트를 사용할 예정인가요?
- 관련 링크가 있나요?
- 사용 사례가 법적으로 승인되면 해당 소프트웨어를 GitLab 프로젝트에서 허용 디렉터리에 추가합니다. License Finder 명령어를 참조하세요.
- 소프트웨어가 Omnibus에서도 인식되는지 확인하세요.
omnibus-gitlab
프로젝트에 대한 새 MR을 생성하세요. 변경 내용에 대한 예시는 이 MR를 참조하세요. 다음 파일을 편집해야 합니다:lib/gitlab/license/analyzer.rb
support/dependency_decisions.yml
암호화 키
고객 포털 또는 라이선스 앱을 위해 로컬 개발 또는 스테이징 환경에서 라이선스를 생성한 경우, 올바른 복호화 키를 사용하도록 값을 test
로 설정한 GITLAB_LICENSE_MODE
환경 변수를 설정해야 합니다.
해당 프로젝트는 기본적으로 테스트 라이선스 암호화 키를 사용하도록 설정되어 있습니다.
추가 정보
라이선스에 대한 자세한 정보는 오픈 소스 페이지를 참조하세요.