AGPL-3.0 가이드

Free Software Foundation은 2007년 AGPL-3.0을 공개하였습니다. AGPL-3.0은 GPL-3.0에 네트워크로 상호 작용하는 소프트웨어의 소스 코드도 공개해야 한다는 조항을 추가한 라이선스입니다.

SPDX Identifier: AGPL-3.0-only 또는 AGPL-3.0-or-later

소스 코드 내 라이선스 문구

AGPL-3.0 라이선스 하의 오픈소스는 일반적으로 소스 코드 상단에 다음과 같은 문구가 있습니다.

Copyright (C) <year> <name of author>
 
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as
published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.
 
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
 
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.

사용 사례별 의무사항

Case 1. 소스 형태로 재배포

AGPL-3.0 라이선스 하의 오픈소스를 소스 형태로 재배포 시 다음 사항을 준수합니다.

1-1 고지 의무

  • 저작권 고지 제공
  • 보증 부인 제공
  • 라이선스 사본 제공

즉, 소스 코드 내 명시된 저작권/라이선스 정보를 그대로 유지한 상태로 재배포합니다.

Case 2. 바이너리 형태로 재배포

AGPL-3.0 라이선스 하의 오픈소스를 빌드하여 바이너리 형태로만 재배포 시 다음 사항을 준수합니다.

2-1 고지 의무

  • 저작권 고지 제공
  • 보증 부인 제공
  • 라이선스 사본 제공

이상의 내용을 포함하는 오픈소스 고지문을 생성하여 바이너리 재배포 시 동봉합니다.

2-2 소스 코드 제공 의무

바이너리에 해당하는 소스 코드를 제공합니다. 이때 다음 사항을 준수합니다.

  1. AGPL-3.0은 파생저작물에 대해서도 AGPL-3.0을 적용하여 소스 코드를 공개할 것을 요구합니다. 아래 내용을 참고하여 AGPL-3.0 하의 오픈소스와 파생저작물의 소스 코드를 공개합니다.
  1. 바이너리 사용자가 공개된 소스 코드로 동일한 바이너리를 만들 수 있는 빌드 환경을 제공합니다. 여기에는 다음 사항이 포함됩니다.
    • Tool chain 정보
    • 빌드 스크립트
    • 빌드 방법 (README)

소스 코드 대신 서면 약정서(Written Offer)를 제공할 수 있습니다. 여기에는 다음 진술이 포함되어야 합니다.

  1. 서면 약정서는 제품 판매 후 3년간 유효합니다.
  2. 누구에게나 제공합니다.
  3. 비용 청구를 하지 않습니다. (소스 전달을 위해 발생하는 비용 제외)

2-3 설치 정보 제공 의무

바이너리를 User Product와 배포한다면 설치 정보(Installation Information)를 제공합니다.

  • User Product : 전자 기기와 같은 Embedded Device
  • 설치 정보(Installation Information) : 사용자가 소스 코드를 빌드하여 다시 제품에 설치하기 위해 필요한 모든 정보 및 방법

Case 3. 원격 네트워크 상호 작용

AGPL-3.0 하의 오픈소스를 (1) 수정하고, (2) 수정한 버전이 네트워크를 통해 원격의 사용자와 상호 작용하는 경우:

  • 원격 사용자가 수정된 버전의 소스 코드를 다운 받을 수 있도록 네트워크 서버를 제공해야 합니다.
  • 여기서의 소스 코드는 위의 “2-2. 소스 코드 제공 의무"에서 요구하는 범위와 동일합니다.

GPL-3.0과의 차이점

AGPL-3.0은 GPL-3.0에 네트워크 사용 조항을 추가한 라이선스입니다.

  • GPL-3.0: 바이너리 배포 시에만 소스 코드 공개 의무
  • AGPL-3.0: 바이너리 배포 + 네트워크를 통한 서비스 제공 시에도 소스 코드 공개 의무

이는 SaaS나 클라우드 서비스로 소프트웨어를 제공하면서 GPL의 소스 코드 공개 의무를 회피하는 것을 방지하기 위한 조항입니다.

라이선스 호환성

주요 라이선스와의 호환성

결합 대상 라이선스호환 여부비고
MIT호환전체 프로젝트가 AGPL-3.0이 됨
Apache-2.0호환전체 프로젝트가 AGPL-3.0이 됨
GPL-3.0호환전체 프로젝트가 AGPL-3.0이 됨
LGPL-3.0호환LGPL 부분은 LGPL 유지 가능
Proprietary비호환상용 소프트웨어/SaaS에 사용 불가

참고 자료


최종 수정 2026.03.19: fix: AGPL summary (ffde7240)