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에서 확인할 수 있습니다.

알려지지 않은 또는 리드 등급 소프트웨어 승인받기

블루 오크 카운슬의 라이선스 목록에 없거나 목록에서 리드 등급으로 표시된 타사 소프트웨어를 사용해야 할 때는 소프트웨어를 설치하기 전에 사용 사례가 법적으로 승인되어야 합니다. 관련 내용은 핸드북에서 확인할 수 있습니다.

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

  1. 새로운 법적 이슈를 생성하세요. 가능한 많은 세부 정보를 포함해야 합니다:
    • 소프트웨어가 사용하는 라이선스는 무엇인가요?
    • 어떻게 어디에 사용될 것인가요?
    • 업스트림 프로젝트를 사용하는지 또는 벤더링하거나 포크할 것인가요?
    • 관련 링크가 있나요?
  2. 사용 사례가 법적으로 승인된 후, GitLab 프로젝트에서 해당 소프트웨어를 허용 목록에 추가하세요. License Finder 명령어를 참조하세요.
  3. 소프트웨어가 Omnibus에서 인식되는지 확인하세요. omnibus-gitlab 프로젝트에 대해 새로운 MR을 생성하세요. 변경 내용 예는 이 MR를 참조하세요. 다음 파일을 편집해야 합니다:
    • lib/gitlab/license/analyzer.rb
    • support/dependency_decisions.yml

암호화 키

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

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

추가 정보

라이선스에 대한 자세한 내용은 오픈 소스 페이지를 참조하세요.