본문 바로가기

콩's WORK

Github 오픈소스 라이선스 완벽 정리

반응형
Github 오픈소스 라이선스 완벽 정리: MIT부터 GPL까지 나에게 맞는 선택은?

개발자라면 꼭 알아야 할 Github 오픈소스 라이선스 종류와 특징

GitHub에는 정말 셀 수 없이 많은 오픈소스 프로젝트가 올라와 있습니다. 개발자들의 헌신 덕분에 기술 생태계가 풍성해지고 있죠. 하지만 상용 소프트웨어를 개발하거나 프로젝트를 외부에 공개할 때 라이선스 규정을 제대로 지키지 않으면 법적 분쟁에 휘말릴 수 있어 주의가 필요합니다.

오픈소스 라이선스는 크게 허용적(Permissive) 성격독점 반대(Copyleft) 성격으로 나뉩니다. 주요 라이선스들을 카테고리별로 분석해 드릴게요.

1. 허용적 라이선스 (Permissive License)

이 범주의 라이선스는 "이 소프트웨어를 마음대로 사용해도 좋지만, 원작자가 누구인지는 밝혀라"라는 철학을 가지고 있습니다. 기업들이 가장 선호하는 라이선스 형태입니다.

  • MIT License: 가장 대중적이고 제약이 적습니다. 저작권 고지만 유지한다면 상업적 이용, 수정, 배포가 자유롭고 2차 저작물을 유료로 판매해도 문제없습니다.
  • Apache License 2.0: MIT와 유사하지만, '특허권'에 대한 규정이 구체적입니다. 기여자로부터 해당 소프트웨어에 포함된 특허 기술을 사용할 권리를 부여받는다는 내용이 명시되어 있어 기업 간 협업 프로젝트에서 선호됩니다.
  • BSD License: MIT와 거의 비슷하지만, 3-Clause의 경우 원작자의 이름을 홍보용으로 사용하지 말라는 조항이 추가되어 있습니다.

2. 카피레프트 라이선스 (Copyleft License)

"자유는 전파되어야 한다"는 철학을 바탕으로 합니다. 이 라이선스가 적용된 코드를 사용해 새로운 소프트웨어를 만들면, 그 결과물도 동일한 오픈소스 라이선스로 공개해야 하는 경우가 많습니다.

  • GNU GPL (v2/v3): 가장 엄격한 라이선스 중 하나입니다. GPL 코드를 일부라도 사용하거나 수정해서 배포한다면, 해당 소프트웨어 전체의 소스코드를 공개해야 합니다.
  • GNU LGPL: 주로 라이브러리에 적용되며, 소프트웨어를 수정하지 않고 단순히 '연결(Linking)'해서 사용하기만 한다면 소스코드를 공개할 의무가 없습니다.
  • GNU AGPL: 네트워크 서비스(SaaS)를 겨냥했습니다. 소스코드를 직접 배포하지 않고 서버에서만 실행하더라도 사용자가 해당 서비스를 이용한다면 소스코드를 공개해야 합니다.

3. 라이선스별 주요 특징 비교

항목 MIT Apache 2.0 GPL v3 LGPL v3
소스코드 공개 없음 없음 있음 (전체) 수정 시에만
상업적 이용 가능 가능 가능 (공개조건) 가능
특허권 보호 미명시 명시됨 명시됨 명시됨
독점 SW 결합 가능 가능 불가능 가능 (링크 시)

요약 및 분석: 어떤 의미를 가지는가?

기업의 입장: 보통 소스코드를 숨기고 제품을 판매해야 하므로 MIT나 Apache 2.0을 선호합니다. 특히 특허 분쟁 위험을 줄이기 위해 Apache를 채택하는 경우가 많습니다.

커뮤니티의 입장: GPL 계열은 기술이 특정 기업에 의해 독점되는 것을 막고, 누구나 그 혜택을 계속 누릴 수 있도록 보장합니다. 리눅스 커널이 대표적이죠.

개발자의 선택:

  • 내 코드가 최대한 널리 쓰이길 원한다면: MIT
  • 기업용 라이브러리로 안전하게 쓰이길 원한다면: Apache 2.0
  • 내 코드를 가져다 쓴 사람도 소스를 공개하길 원한다면: GPL

GitHub 프로젝트의 LICENSE 파일을 확인하는 것은 단순히 형식을 넘어, 개발자의 철학을 확인하는 과정입니다.

반응형

⚠️ 광고 차단 프로그램 감지

애드블록, 유니콘 등 광고 차단 확장 프로그램을 해제하거나
화이트리스트에 추가해주세요.