저작권을 이용해 자유를 지키는 방법
카피레프트(copyleft)는 저작권(copyright)을 비튼 말입니다. 1980년대 리처드 스톨먼과 자유 소프트웨어 재단(FSF)이 GNU 프로젝트를 위해 만든 개념으로, 저작권법을 이용해 소프트웨어의 자유가 사라지지 않게 하는 장치입니다. 저작권자는 누구에게나 사용·수정·배포를 허락하되, 한 가지 조건을 겁니다. '이 코드를 바탕으로 만든 것을 배포할 때는 받는 사람에게도 같은 자유를 줘야 한다.'
허용형 라이선스(MIT·BSD·Apache)는 이 조건이 없습니다. 그래서 누군가 허용형 코드를 고쳐 비공개 제품으로 팔아도 됩니다. 카피레프트는 이런 흐름을 막아, 개선된 버전도 계속 공개 상태로 남게 합니다. 이 성질 때문에 카피레프트 라이선스를 '상호주의(reciprocal) 라이선스'라고도 부릅니다.
의무는 '배포'할 때 생긴다
카피레프트의 조건은 코드를 다른 사람에게 넘겨줄 때 발동합니다. GPL-3.0 은 이를 'convey(전달)'라고 부릅니다.
- 회사 안에서만 쓰는 도구를 GPL 코드로 만들고 외부에 배포하지 않는다면 소스 공개 의무는 생기지 않습니다.
- 앱을 고객에게 설치 파일로 나눠 주거나, 기기에 넣어 판매하면 배포에 해당합니다.
- 서버에서만 돌리고 사용자는 웹으로 접속하는 경우, GPL 에서는 배포가 아닙니다. 이를 메우는 것이 AGPL 입니다.
범위에 따른 세 갈래
강한 카피레프트
GPL-2.0·GPL-3.0 이 대표입니다. GPL 코드와 결합해 하나의 프로그램으로 배포하는 전체가 GPL 조건을 따라야 합니다. 정적 링크든 동적 링크든 하나의 프로그램을 이룬다면 결합으로 보는 것이 FSF 의 입장입니다.
약한 카피레프트
의무의 범위를 좁힌 라이선스입니다.
- LGPL: 라이브러리 단위. 라이브러리 자체의 수정분만 공개하면 되고, 이를 사용하는 프로그램은 조건(재링크 가능 등)을 지키면 비공개로 둘 수 있습니다.
- MPL-2.0: 파일 단위. MPL 이 적용된 파일을 고치면 그 파일만 공개합니다.
- EPL-2.0: 모듈 단위. EPL 코드와 수정분은 공개하되 별도 모듈은 다른 라이선스를 쓸 수 있습니다.
네트워크 카피레프트
AGPL-3.0 은 수정한 프로그램을 네트워크로 제공하는 것만으로도 이용자에게 소스를 제공할 의무를 둡니다. 웹 서비스 시대에 GPL 의 공백을 메우려고 만들어졌습니다.
| 라이선스 | 공개 범위 | 서버 운영만 할 때 |
|---|---|---|
| GPL-2.0 / GPL-3.0 | 결합한 프로그램 전체 | 의무 없음 |
| LGPL-2.1 / LGPL-3.0 | 라이브러리와 그 수정분 | 의무 없음 |
| MPL-2.0 | 수정한 MPL 파일 | 의무 없음 |
| EPL-2.0 | EPL 코드와 수정분(모듈) | 의무 없음 |
| AGPL-3.0 | 결합한 프로그램 전체 | 수정본이면 소스 제공 |
흔한 오해
- "카피레프트는 상업적 이용을 막는다" — 막지 않습니다. GPL 소프트웨어를 팔아도 되고, 유료 지원·호스팅으로 수익을 내는 회사도 많습니다. 막는 것은 받은 사람의 자유를 빼앗는 것입니다.
- "GPL 코드를 한 줄이라도 보면 내 코드가 GPL 이 된다" — 라이선스는 저작물의 복제·수정·배포를 다룹니다. 코드를 보고 아이디어를 얻는 것 자체는 저작권의 대상이 아닙니다. 다만 사실상 옮겨 적은 수준이면 복제로 볼 수 있습니다.
- "위반하면 내 코드가 자동으로 GPL 이 된다" — 라이선스 위반의 결과는 보통 권리 상실과 저작권 침해 책임입니다. 내 코드가 강제로 공개되는 것이 아니라, 조건을 지키거나 배포를 중단하는 선택을 하게 됩니다.
- "카피레프트 코드는 허용형 프로젝트에 절대 못 쓴다" — 합쳐서 배포하면 결합본이 카피레프트 조건을 따르게 된다는 뜻입니다. 별도 프로그램으로 분리하거나 약한 카피레프트 라이브러리를 조건에 맞게 링크하는 방법은 있습니다. 호환성 기초를 참고하세요.
카피레프트를 고를지 판단하는 질문
- 내 코드를 고친 결과가 비공개 제품에 들어가도 괜찮은가?
- 라이브러리로 널리 채택되는 것이 더 중요한가, 개선이 돌아오는 것이 더 중요한가?
- 주 사용 형태가 설치형인가, 서버에서 도는 서비스인가?
세 질문의 답에 따라 선택 마법사가 후보를 좁혀 줍니다. 더 자세한 비교는 허용형 vs 카피레프트에 있습니다.
이 글은 일반 정보이며 법률 자문이 아닙니다. 중요한 결정은 전문가와 상의하세요.
참고 출처
- GNU — What is Copyleft? — https://www.gnu.org/licenses/copyleft.html
- GNU 라이선스 FAQ — https://www.gnu.org/licenses/gpl-faq.html
- GNU GPL v3.0 원문 — https://www.gnu.org/licenses/gpl-3.0.html