허용·조건·제한 한눈에 보기
조건
- 저작권·라이선스 고지배포할 때 라이선스 사본과 저작권 표시를 함께 넣어야 한다.
- 변경 사항 표시원본을 고쳤다면 그 사실을 표시해야 한다.
- 소스 공개배포할 때 소스 코드를 제공해야 한다.
- 네트워크 이용도 배포로 간주네트워크로 이용하는 사용자에게도 소스를 받을 권리가 있다.
- 동일 라이선스수정본·파생물을 배포할 때 같은(또는 호환되는) 라이선스를 써야 한다.
제한
- 책임 제한손해에 대한 책임을 지지 않는다고 명시한다.
- 보증 없음어떤 보증도 하지 않는다고 명시한다.
권한·조건·제한 분류 출처: choosealicense.com (GitHub, MIT 라이선스) 데이터.
어떤 라이선스인가
AGPL-3.0 은 FSF 가 2007년 11월에 발표했습니다. 본문은 GPL-3.0 과 거의 같고, 13조 '원격 네트워크 상호작용'이 다릅니다. GPL 은 프로그램을 '배포'할 때만 소스 제공 의무가 생기므로, 수정한 GPL 소프트웨어를 서버에서만 돌리는 웹 서비스는 소스를 공개하지 않아도 됩니다. 이른바 'SaaS 허점'입니다. AGPL 은 이 부분을 메웁니다. Mastodon, Nextcloud 서버, Grafana(2021년 Apache-2.0 에서 전환)가 AGPL-3.0 을 씁니다.
13조가 요구하는 것
프로그램을 수정한 경우, 그 수정본과 컴퓨터 네트워크를 통해 원격으로 상호작용하는 모든 이용자에게 대응 소스를 받을 기회를 눈에 띄게 제공해야 합니다. 보통 서비스 화면에 '소스 코드' 링크를 두는 방식으로 충족합니다.
배포할 때 지켜야 할 것
GPL-3.0 의 의무(소스 제공, 고지 유지, 변경 표시, 동일 라이선스, 추가 제한 금지)가 모두 그대로 적용되고, 여기에 13조가 더해집니다.
자주 하는 오해
- "AGPL 소프트웨어를 서버에서 쓰기만 해도 내 서비스 전체를 공개해야 한다" — 13조는 수정한 프로그램을 네트워크로 제공할 때 그 프로그램의 소스를 요구합니다. 수정하지 않은 AGPL 데이터베이스를 별도 프로세스로 쓰는 것만으로 내 애플리케이션 전체에 의무가 생긴다고 보긴 어렵다는 해석이 일반적이지만, 결합 방식에 따라 판단이 달라질 수 있습니다.
- "AGPL 은 상업적 이용을 금지한다" — 금지하지 않습니다. 상업 서비스에서도 쓸 수 있고, 조건을 지키면 됩니다.
- "AGPL 은 오픈소스가 아니다" — OSI 승인 오픈소스 라이선스이며 FSF 가 인정하는 자유 소프트웨어 라이선스입니다. MongoDB 가 2018년에 AGPL 에서 SSPL 로 옮긴 사례 때문에 혼동이 있지만, SSPL 은 OSI 승인을 받지 못한 별개의 라이선스입니다.
- "GPL 코드와 섞을 수 없다" — GPL-3.0 과 AGPL-3.0 은 서로의 13조로 결합을 허용합니다. 결합본에서 AGPL 부분의 네트워크 조항은 유지됩니다.
적용 방법
원문을 LICENSE 에 그대로 두고, 각 파일에 AGPL 공식 고지문을 붙입니다. 웹 서비스라면 사용자 화면에서 소스 저장소로 가는 링크를 제공하는 기능을 코드에 넣어 두면, 수정본을 운영하는 사람도 13조를 지키기 쉬워집니다. SPDX 식별자는 AGPL-3.0-only 또는 AGPL-3.0-or-later 입니다.
이런 경우에 어울린다
주로 서버에서 돌아가는 소프트웨어(웹 애플리케이션, 협업 도구, 분석 플랫폼)를 공개하면서, 다른 회사가 수정본을 비공개 서비스로 운영하는 것을 막고 싶을 때 쓰입니다. 상용 라이선스와 함께 제공하는 듀얼 라이선스 모델에서도 자주 선택됩니다.
AGPL-3.0 코드를 다른 프로젝트에 넣을 수 있을까?
이 라이선스로 공개된 코드를 가져와 아래 라이선스의 프로젝트에 합쳐 배포할 때의 일반적인 판정입니다. 호환성 검사기에서 다른 조합 보기 →
| 넣으려는 프로젝트 | 판정 | 메모 |
|---|---|---|
| 비공개(상용) 소프트웨어 | 불가 | 합쳐서 배포하는 프로그램 전체가 같은 GNU 라이선스로 소스와 함께 공개돼야 하므로, 프로젝트 라이선스를 유지한 채로는 넣을 수 없습니다. |
| MIT | 불가 | 합쳐서 배포하는 프로그램 전체가 같은 GNU 라이선스로 소스와 함께 공개돼야 하므로, 프로젝트 라이선스를 유지한 채로는 넣을 수 없습니다. |
| Apache-2.0 | 불가 | 합쳐서 배포하는 프로그램 전체가 같은 GNU 라이선스로 소스와 함께 공개돼야 하므로, 프로젝트 라이선스를 유지한 채로는 넣을 수 없습니다. |
| MPL-2.0 | 불가 | 합쳐서 배포하는 프로그램 전체가 같은 GNU 라이선스로 소스와 함께 공개돼야 하므로, 프로젝트 라이선스를 유지한 채로는 넣을 수 없습니다. |
| LGPL-2.1 | 조건부 가능 | 결합본은 GPL-3.0 조건으로 배포해야 합니다. GPL-3.0 과 AGPL-3.0 은 각각의 13조로 결합을 허용합니다. 결합본에서 AGPL 부분의 네트워크 소스 제공 의무는 그대로 남습니다. |
| LGPL-3.0 | 조건부 가능 | 결합본은 GPL-3.0 조건으로 배포해야 합니다. GPL-3.0 과 AGPL-3.0 은 각각의 13조로 결합을 허용합니다. 결합본에서 AGPL 부분의 네트워크 소스 제공 의무는 그대로 남습니다. |
| GPL-2.0 | 불가 | 3.0 버전 코드는 GPL-2.0(only)의 조건과 양립하지 않아 넣을 수 없습니다. |
| GPL-3.0 | 조건부 가능 | GPL-3.0 과 AGPL-3.0 은 각각의 13조로 결합을 허용합니다. 결합본에서 AGPL 부분의 네트워크 소스 제공 의무는 그대로 남습니다. |
이 사이트의 내용은 일반 정보이며 법률 자문이 아닙니다. 실제 배포·계약·분쟁 판단은 변호사 등 전문가와 상의하세요.