AGPL-3.0 가이드

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

소스 코드 내 라이선스 문구

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. 소스 코드 제공 의무"에서 요구하는 범위와 동일하다.

라이선스 호환성

서로 요구하는 의무사항이 상충되는 오픈소스 라이선스는 하나의 프로그램에 동시에 존재해서는 안된다. 다음은 AGPL-3.0과 충돌하는 라이선스 목록이다. AGPL-3.0 프로그램 내에 다음 라이선스 하의 오픈소스를 포함해서는 안된다. (참고 : https://www.gnu.org/licenses/license-list.html#GPLIncompatibleLicenses)

  • Apache-1.1
  • BSD-4-Clause
  • FTL
  • IJG
  • OpenSSL
  • Python-2.0
  • zlib-acknowledgement
  • XFree86-1.1

참고 : https://www.osadl.org/fileadmin/checklists/unreflicenses/AGPL-3.0-only.txt



최종 수정 2023년 8일 29월: Modify AGPL-3.0 : dead link, typo fix (b84b212f)