가이드 · 03

라이선스가 없는 코드의 의미

라이선스 파일이 없는 공개 코드는 기본적으로 모든 권리가 저작권자에게 있습니다. GitHub 약관이 허락하는 범위, 쓰고 싶을 때의 방법, 내 저장소에 라이선스를 붙이는 법을 설명합니다.

최종 확인: 2026-09-23

공개 ≠ 허락

GitHub 에 공개된 저장소라도 LICENSE 파일이 없다면 그 코드는 오픈소스가 아닙니다. 저작권은 코드를 작성하는 순간 자동으로 생기며(베른 협약 가입국 대부분), 별도 허락이 없으면 저작권자만 복제·수정·배포·2차적 저작물 작성을 할 수 있습니다. GitHub 문서도 라이선스가 없으면 기본 저작권법이 적용되어 저작권자가 모든 권리를 보유하며, 다른 사람은 복제·배포·파생 저작물 작성을 할 수 없다고 안내합니다.

GitHub 약관이 허락하는 것

GitHub 서비스 약관(D.5 '다른 사용자에게 부여하는 라이선스')에 따르면, 공개 저장소에 콘텐츠를 올린 사람은 GitHub 사용자에게 GitHub 서비스 안에서 콘텐츠를 사용·표시·실행하고, 포크처럼 GitHub 기능이 허락하는 범위에서 복제하는 권리를 줍니다. 즉 다음은 가능합니다.

하지만 약관은 이를 넘어서는 권리, 예컨대 내 제품에 넣어 배포하거나 수정본을 다른 곳에 공개하는 것은 허락하지 않습니다.

무라이선스 코드를 쓰고 싶을 때

  1. 저작권자에게 요청: 이슈나 이메일로 라이선스를 추가해 달라고 부탁합니다. 많은 경우 단순히 잊어버린 것이라 흔쾌히 MIT 등을 붙여 줍니다.
  2. 서면 허락 받기: 라이선스 추가가 어렵다면 사용 범위를 적은 허락을 따로 받아 보관합니다.
  3. 대안 찾기: 같은 기능의 오픈소스 라이브러리를 찾습니다.
  4. 직접 구현: 코드를 보지 않고 명세나 동작만 참고해 새로 작성합니다(이른바 클린룸 구현). 원 코드를 옮겨 적으면 복제가 될 수 있으므로 주의합니다.
README 에 "마음대로 쓰세요"라고만 적힌 경우는 애매합니다. 의도는 분명해 보여도 범위(수정·재배포·상업 이용)가 불명확하므로, 표준 라이선스를 붙여 달라고 요청하는 것이 안전합니다.

흔히 보이는 애매한 경우

내 저장소에 라이선스를 붙이는 법

  1. 생성기에서 라이선스를 고르고 연도·저작권자를 입력해 LICENSE 파일을 받습니다.
  2. 저장소 최상위에 커밋합니다. GitHub 는 이 파일을 인식해 저장소 정보에 라이선스를 표시합니다.
  3. package.json·Cargo.toml·pyproject.toml 등의 license 필드에 SPDX 식별자를 적습니다(SPDX 가이드).
  4. 다른 사람의 코드가 섞여 있다면 그 부분의 라이선스와 고지를 따로 정리합니다(적용 실무).

일부러 라이선스를 붙이지 않는 경우

포트폴리오나 과제처럼 코드를 보여 주기만 하고 재사용은 원치 않는다면 라이선스를 붙이지 않는 것도 선택입니다. 그 경우 README 에 '모든 권리 보유(All rights reserved)'와 연락처를 적어 두면 오해가 줄어듭니다. 다만 공개 저장소인 이상 GitHub 약관이 허락하는 열람·포크는 막을 수 없습니다.

이 글은 일반 정보이며 법률 자문이 아닙니다. 중요한 결정은 전문가와 상의하세요.

참고 출처