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에 알려주려면:

license_finder licenses add my_unknown_dependency MIT

위 모든 명령에는 언제, 왜, 누가 의존성을 승인했는지를 decisions.yml 파일이 추적할 수 있도록 하는 --why "이유"--who "내 이름"을 포함해야 합니다.

이 젬과 해당 명령의 더 자세한 정보는 License Finder README에서 확인할 수 있습니다.

알 수 없는 또는 리드 등급 소프트웨어의 승인

우리는 Blue Oak Council의 라이선스 디렉터리에 없거나 디렉터리에서 리드 등급으로 표시된 타사 소프트웨어를 사용해야 할 때가 있습니다. 이 경우 소프트웨어를 설치하기 전에 사용 사례가 법적으로 승인되어야 합니다. 자세한 내용은 핸드북에서 확인할 수 있습니다.

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

  1. 법적 이슈를 생성하세요. 가능한 많은 세부 정보를 포함해야 합니다:
    • 소프트웨어의 라이선스는 무엇입니까?
    • 어떻게 사용되고 어디에서 사용됩니까?
    • 상위 프로젝트를 사용할건지, 판매할건지, 또는 상위 프로젝트를 사용합니까?
    • 관련 링크가 있습니까?
  2. 사용 사례가 법적으로 승인되면 GitLab 프로젝트에 이 소프트웨어를 허용 디렉터리에 추가하세요. License Finder commands를 참조하세요.
  3. 소프트웨어가 Omnibus에서도 인식되도록 확인하세요. omnibus-gitlab 프로젝트에 대해 새 MR을 생성하세요. 변경 내용은 이 MR를 참조하세요. 다음 파일을 편집해야 합니다:
    • lib/gitlab/license/analyzer.rb
    • support/dependency_decisions.yml

암호화 키

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

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

추가 정보

라이선싱에 대한 자세한 정보는 오픈 소스 페이지를 참조하세요.