오픈소스 라이선스 선택 가이드: 사이드 프로젝트와 상용 제품에서 MIT·Apache·GPL을 가르는 기준

오픈소스라이선스MITApacheGPL법적리스크사이드프로젝트

저장소를 만들 때 LICENSE 파일 하나가 나중에 큰 차이를 만든다. 특히 사이드 프로젝트를 공개하거나, 상용 제품에 오픈소스를 넣을 때 “MIT면 됐지”로 끝내기 쉬운데, GPL 계열특허 조항이 있는 라이선스는 선택의 결과가 달라진다.

이 글은 법률 자문을 대체하지 않는다. 대신 팀이 라이선스를 고를 때 같은 질문을 던지게 하고, MIT / Apache-2.0 / GPL 계열을 가르는 실무 기준을 정리했다. 세부 계약·규제 산업이면 반드시 전문가 검토가 필요하다.


먼저 세 가지를 정한다

  1. 누가 쓰게 할 것인가: 개인 학습용, 비상업, 상업적 서비스 포함.
  2. 수정·재배포를 허용할 것인가: 포크, 포크 후 비공개 유지, 클로즈드 소스 제품에 포함.
  3. 특허·브랜드·책임을 어떻게 볼 것인가: 특허 소송 리스크, 상표, 보증 부인 문구.

MIT License

특징: 짧고 널리 쓰인다. 거의 모든 용도로 사용·복제·수정·배포·판매가 가능하고, 라이선스·저작권 고지만 유지하면 된다.

잘 맞는 경우:

  • 라이브러리·CLI·예제 코드를 최대한 많은 사람이 제약 없이 쓰게 하고 싶을 때.
  • “조건이 단순해서 읽기 쉽다”는 것도 팀 입장에서 플러스다.

주의: 특허에 대한 명시적 허용 문구가 없다. (다른 라이선스와 비교할 때 논의 포인트가 될 수 있다.)


Apache License 2.0

특징: MIT와 비슷하게 관대한 사용을 허용하면서, 특허에 대한 보조적 조항(기여에 대한 특허 허용, 특허 소송 시 라이선스 종료 등)이 들어 있다. 또한 NOTICE 파일로 저작권·기여 고지를 모을 수 있다.

잘 맞는 경우:

  • 기업이 기여·배포를活발히 하고, 특허 이슈를 명시적으로 다루고 싶을 때.
  • ASF(Apache Software Foundation) 생태계와 정책을 맞추기 쉽다.

주의: MIT보다 파일·고지 의무가 조금 더 있다. “NOTICE 유지”를 CI나 템플릿으로 습관화하는 것이 좋다.


GPL (GNU General Public License) 계열

핵심: 카피레프트(Copyleft). 수정물을 배포할 때 같은 라이선스 조건으로 소스 공개해야 하는 요구가 따라온다. 버전에 따라 ** Affero GPL (AGPL)** 은 네트워크로 서비스하는 경우까지 소스 공개 의무가 확대될 수 있어, SaaS 백엔드에 넣을 때 특히 신중해야 한다.

잘 맞는 경우:

  • 자유 소프트웨어 철학에 맞게, 파생물도 공개되길 원할 때.
  • 사용자가 소스를 받을 권리를 강하게 보장하고 싶을 때.

주의:

  • 사내 독점 제품에 GPL 코드를 정적 링크 수준으로 섞으면 전체 공개 요구로 이어질 수 있다는 인식이 널리 퍼져 있다. (결합 방식·배포 형태에 따라 달라지므로 경계 사례는 법률 검토.)
  • AGPL은 “서버만 돌리고 소스 안 준다”가 통하지 않을 수 있다.

사이드 프로젝트에 추천하는 기본 경향

목표흔한 선택
최대한 단순·널리 쓰이게MIT
기업·기여자 많아질 수 있음Apache-2.0
파생물도 공개 생태계로 묶고 싶음GPL (그리고 그 의미를 팀이 이해한 상태에서)

실무 팁: README에 한 줄이라도 “법적 고지: 이 문서는 법률 자문이 아니다” 수준의 각오를 적어 두면, 나중에 오해를 줄이는 데 도움이 된다.


상용 제품에 오픈소스를 “넣을 때” 체크

  1. 배포 여부: 사내용만인지, 고객에게 바이너리를 주는지.
  2. 결합 방식: 동적 로딩, 별도 프로세스, 네트워크 경계 등.
  3. 라이선스 호환: 여러 라이선스가 섞인 경우 가장 제한적인 조건이 병목이 될 수 있다.
  4. 자동 스캔: license-checker, FOSSA, Snyk 등으로 의존성 트리를 주기적으로 본다.

정리

  • MIT: 단순하고 관대. 사이드 프로젝트·라이브러리에 가장 무난한 경우가 많다.
  • Apache-2.0: MIT에 가깝되 특허·NOTICE 측면을 더 명시하고 싶을 때.
  • GPL 계열: 카피레프트를 이해하고 선택해야 한다. AGPL은 서비스 형태까지 고려해야 한다.

라이선스는 코드의 운명회사의 배포 방식을 묶는다. 저장소 만들 때 LICENSE 한 번 더 보는 시간이, 나중에 마이그레이션·법무 검토 비용을 줄인다.


참고로 읽을 것 (공식 문서)

궁금한 점이 있으신가요?

협업·의뢰는 아래로, 가벼운 소통은 인스타그램 @bluefox._.hi도 환영이에요.