GGWiki
새 문서
일반/위키

GNU 아페로 일반 공중 사용 허가서

공식 자료를 바탕으로 AI가 작성한 초안 · 출처 보기

편집 이의 제기 토론 수정 이력 토론에서 언급
GNU 아페로 일반 공중 사용 허가서 로고
GNU 아페로 일반 공중 사용 허가서 로고 · 이미지 출처 ↗

개요편집이의 제기

GNU 아페로 일반 공중 사용 허가서(GNU Affero General Public License, 이하 GNU AGPL)는 자유 소프트웨어 재단(Free Software Foundation, FSF)이 2007년 11월 19일 공개한 자유 카피레프트 라이선스다[1][2][3]. GNU 일반 공중 사용 허가서 버전 3(GPLv3)과 아페로 일반 공중 사용 허가서 버전 1(AGPLv1)을 기반으로 하며, 네트워크를 통해 소프트웨어와 상호작용하는 사용자에게도 수정된 소스 코드를 제공해야 한다는 조항을 추가한 것이 핵심 특징이다[2][3]. 최신 판은 3.0이며, 오픈 소스 이니셔티브(OSI)로부터 2008년 3월 오픈 소스 라이선스로 승인받았다[1][2][3].

역사편집이의 제기

배경과 AGPLv1의 탄생

2000년, 헨리 풀(Henry Poole)은 만드리바(Mandriva)에서 전자 학습 및 전자 서비스 비즈니스 모델을 개발하던 중 암스테르담에서 리처드 스톨만(Richard Stallman)을 만나 GPLv2가 웹 애플리케이션 제공자에게 네트워크를 통해 소프트웨어와 상호작용하는 사용자와 소스 코드를 공유할 의무를 부과하지 않는다는 문제를 논의했다[3]. 이후 몇 달간 스톨만과 풀은 이 문제의 해결 방안을 모색했다.

2001년 풀은 아페로 주식회사(Affero Inc.)를 설립하고 웹 서비스 사업을 시작했으며, 다른 조직이 아페로 코드를 이용해 파생 웹 서비스를 만들 때 소스 코드 공개를 강제할 라이선스가 필요해졌다[3]. 당시 풀은 자유 소프트웨어 재단의 브래들리 M. 쿤(Bradley M. Kuhn)과 에벤 모글렌(Eben Moglen)에게 GPLv2에서 이 문제를 해결할 새로운 라이선스에 대한 자문을 구했다.

2002년 2월 말경, 쿤은 '퀸(quine, 자신의 소스 코드를 출력하는 프로그램)' 개념에서 착안해 GPLv2에 2(d)조를 추가할 것을 제안했다. 이 조항은 파생 저작물이 '소스 다운로드' 기능을 유지하여 완전하고 대응하는 소스 코드를 제공하도록 요구하는 내용이었다[3]. 쿤은 GPLv2 2(c)조가 하류 배포자와 수정자에게 특정 기능 유지를 요구하는 선례가 있다고 주장했다. 모글렌과 쿤은 제안된 2(d)조의 초안을 작성해 풀에게 제공했고, 풀은 FSF로부터 GPLv2의 파생 저작물로 이 라이선스를 공개할 허가를 받았다.

2002년 3월, 아페로 주식회사는 오리지널 아페로 일반 공중 사용 허가서 버전 1(AGPLv1)을 아페로 프로젝트용으로 공개하고, 다른 SaaS(Software as a Service) 개발자들도 사용할 수 있게 했다[1][3].

GNU AGPLv3의 제정

FSF는 AGPLv1의 특수 조항을 GPLv3에 포함하는 것을 검토했으나, 결국 GPLv3와 거의 동일하면서 AGPLv1의 2(d)조와 목적과 효과가 유사한 조항을 담은 별도의 라이선스를 출판하기로 결정했다[3]. 이 새로운 라이선스는 'GNU 아페로 일반 공중 사용 허가서'라는 이름을 얻었으며, '아페로' 이름을 유지함으로써 AGPLv1과의 긴밀한 역사적 관계를 나타냈다[3]. GPL과의 패리티를 위해 버전 번호는 3으로 정해졌고, 현재 이 라이선스는 흔히 AGPLv3로 약칭된다.

GNU AGPLv3의 최종판은 2007년 11월 19일 FSF에 의해 공개되었다[3][4]. 2008년 3월, 펀암볼(Funambol)사의 CEO 파브리치오 카포비안코(Fabrizio Capobianco)가 오픈 소스 라이선스로 고려해 달라고 제출한 후 OSI가 승인했다[2][3].

AGPLv1에서 GNU AGPLv3로의 업그레이드 경로

아페로 주식회사는 2007년 11월 아페로 일반 공중 사용 허가서 버전 2(AGPLv2)를 공개했다[3]. 이는 'AGPLv1 또는 아페로 주식회사가 출판한 이후 버전' 하에 라이선스된 소프트웨어의 수령인이 해당 소프트웨어나 파생 저작물을 GNU AGPLv3 또는 이후 버전 하에 배포할 수 있게 해주는 과도기적 라이선스였다[3].

기능과 사용법 개요편집이의 제기

네트워크 서버 소프트웨어를 위한 카피레프트

GNU AGPL은 소프트웨어 및 기타 저작물을 위한 자유 카피레프트 라이선스로, 특히 네트워크 서버 소프트웨어의 경우 커뮤니티와의 협력을 보장하도록 특별히 설계되었다[4]. 기존 GPL은 수정된 버전을 만들어 네트워크 서버에서 대중에게 접근하게 할 때 소스 코드를 공개하지 않아도 되는 'SaaS 허점'이 존재했다[4]. GNU AGPL은 네트워크 서버 운영자가 그곳에서 실행 중인 수정된 버전의 소스 코드를 해당 서버 사용자에게 제공하도록 요구함으로써, 공개적으로 접근 가능한 서버에서 수정된 버전을 공개적으로 사용할 경우 대중이 수정된 버전의 소스 코드에 접근할 수 있게 한다[4].

주요 조항과 작동 원리

라이선스 본문은 '전달(convey)'과 '전파(propagate)'를 구분하며, 컴퓨터 네트워크를 통한 단순 사용자 상호작용(복사본 이전 없음)은 '전달'로 보지 않는다[4]. 그러나 13조 '원격 네트워크 상호작용; GNU 일반 공중 사용 허가서와의 결합'에서 "프로그램의 수정된 버전을 실행하고, 컴퓨터 네트워크를 통해 그로부터 사용자와 상호작용하는 경우, 해당 사용자에게 수정된 버전의 대응하는 소스 코드를 제공할 기회를 두드러지게 제공해야 한다"고 명시한다[4]. 이는 표준 인터페이스를 통해 네트워크상에서 무료로 제공하는 방식으로 이루어진다.

GPLv3와의 호환성

AGPLv1의 추가 요구사항(2(d)조)은 FSF 판단에 따라 GPLv2와 호환되지 않았다[3]. 그러나 GPLv3와 GNU AGPLv3는 각 라이선스의 13조에 상호 호환성을 달성하는 조항을 두고 있다[3]. 이 조항들은 한 라이선스 하의 코드를 다른 라이선스 하의 코드와 링크하여 형성된 저작물을 '전달'하는 것을 명시적으로 허용한다. 다만 각 라이선스의 조건 하에서 재라이선싱하는 것은 허용하지 않으며, 양 라이선스의 카피레프트가 완화되어 그러한 결합물의 배포를 허용하는 방식이다[3].

라이선스 적용 방법

공식 사이트는 개발자가 자신의 소프트웨어에 GNU AGPL을 적용하는 방법을 안내한다[4]. 각 소스 파일의 시작 부분에 저작권 표시와 라이선스 고지, 보증 부인 문구를 넣고, 프로그램의 대화형 인터페이스가 '적절한 법적 고지(Appropriate Legal Notices)'를 표시하도록 구성해야 한다[4]. 라이선스 전문과 여러 형식(플레인 텍스트, DocBook, LaTeX, 독립형 HTML, Texinfo, Markdown, ODF, RTF 등)으로 제공되는 라이선스 텍스트, 프로젝트에 사용할 수 있는 로고도 배포한다[4].

생태계·커뮤니티편집이의 제기

자유 소프트웨어 재단의 권장

자유 소프트웨어 재단은 일반적으로 네트워크상에서 수행되는 모든 소프트웨어에 대해 GNU AGPLv3을 고려할 것을 권장하고 있다[2]. 이는 네트워크 서비스로 제공되는 소프트웨어의 자유를 지키기 위한 전략적 선택이다.

주요 채택 사례와 흐름

2007년 11월 21일 공개된 '스텟(Stet)'은 GNU AGPL 하에 배포된 최초의 소프트웨어 시스템으로 알려졌으며, 자사의 라이선스 생산에 주로 사용된 유일한 프로그램으로 기록된다[3].

플라스크(Flask) 개발자 아르민 로나허(Armin Ronacher)는 2013년 GNU AGPL이 '스타트업 커뮤니티에서 특히 끔찍한 성공(terrible success)'을 거두어 '이중 상업 라이선싱의 수단(vehicle for dual commercial licensing)'이 되었다고 평하며, 험허브(HumHub), 몽고DB(MongoDB), 오두(Odoo), 리싱크DB(RethinkDB), 시켄(Shinken), 슬라이서(Slic3r), 슈가CRM(SugarCRM), 우르플(WURFL) 등을 예로 들었다[3].

몽고DB는 2018년 말 AGPL을 포기하고 '서버 사이드 퍼블릭 라이선스(Server Side Public License, SSPL)'로 재라이선싱했다[3]. SSPL은 라이선스된 소프트웨어를 제3자가 접근 가능한 서비스로 제공하는 경우, 서비스를 용이하게 하는 데 사용된 모든 소프트웨어의 전체 소스 코드(관리 소프트웨어, 사용자 인터페이스, API, 자동화, 모니터링, 백업, 스토리지, 호스팅 소프트웨어 등 일체)를 동일 라이선스 하에 제공하도록 요구한다[3]. OSI 승인이 이루어지지 않아 인증 신청이 철회되었으며, 데비안(Debian)과 페도라 프로젝트(Fedora Project)는 이 라이선스가 클라우드 컴퓨팅 제공업체를 차별하려는 의도를 가졌다며 금지했다[3].

현재도 AGPLv3 하에 소프트웨어가 지속적으로 배포되고 있다[3]. 대표적으로 페디버스(fediverse) 관련 서버 및 클라이언트(마스토돈 Mastodon, 픽셀페드 Pixelfed, 피어튜브 PeerTube 등), 오피스 스위트 온리오피스(OnlyOffice), R 프로그래밍 언어용 R스튜디오 IDE(RStudio IDE), 시스템 모니터링 플랫폼 그라파나(Grafana), 문헌/서지 관리 시스템 조테로(Zotero) 등이 있다[3].

분산형 채팅 및 협업 소프트웨어 엘리먼트(Element)는 아파치 2.0에서 AGPLv3와 GPLv3 듀얼 라이선스로 재라이선싱되었으며, 엘리먼트 커머셜(Element Commercial)이라는 별도의 독점 라이선스도 제공한다[3].

평가편집이의 제기

'이중 라이선싱 수단'으로서의 평가

아르민 로나허의 2013년 언급처럼, GNU AGPL은 스타트업 등 상업적 주체에게 '이중 라이선싱(dual licensing)' 전략의 수단으로 널리 활용되었다[3]. AGPL의 강력한 카피레프트(네트워크 상호작용 시 소스 공개 의무)가 상용 라이선스 구매를 유도하는 레버리지로 작동한다는 분석이다.

클라우드·SaaS 환경에서의 실효성 논쟁

몽고DB의 SSPL 전환 사례는 AGPLv3가 클라우드 서비스 제공자(예: AWS 등)의 관리형 서비스 제공을 막기에 충분하지 않다는 인식을 보여준다[3]. SSPL은 AGPL의 '해당 프로그램의 소스 코드' 범위를 '서비스 제공에 쓰인 모든 소프트웨어 스택 전체'로 확장한 것으로, OSI 비승인과 주요 배포판 금지라는 결과를 낳았으나, AGPL의 한계를 보완하려는 시도로 읽힌다.

페디버스 및 최신 서버 소프트웨어에서의 표준적 선택

마스토돈, 픽셀페드, 피어튜브 등 분산형 소셜 네트워크(페디버스) 핵심 소프트웨어가 AGPLv3를 채택한 점은, 네트워크 서비스 형태의 자유 소프트웨어에서 AGPL이 사실상 표준 라이선스로 자리 잡았음을 시사한다[3]. 그라파나, 조테로, 온리오피스, R스튜디오 등 다양한 영역의 서버·클라이언트 소프트웨어에서도 지속적으로 채택되고 있다.

GPLv3와의 상호 호환성 확보

GPLv3와 GNU AGPLv3가 13조에서 서로의 코드를 링크한 결합 저작물 배포를 허용한 것은, 두 라이선스 생태계의 단절을 막고 코드 재사용을 촉진하는 실질적 조치로 평가된다[3]. 다만 재라이선싱은 허용하지 않으므로 각 라이선스의 카피레프트 정체성은 유지된다.

관련 라이선스편집이의 제기

* 일반GNU 일반 공중 사용 허가서 (GPLv3): GNU AGPLv3의 기반이 된 라이선스. 13조에서 상호 호환성 조항을 공유한다.

* 일반GNU 약소 일반 공중 사용 허가서 (LGPL): 같이 보기 항목에 포함된 관련 라이선스[2].

* 일반GNU 자유 문서 사용 허가서 (FDL): 같이 보기 항목에 포함된 관련 라이선스[2].

* 아페로 일반 공중 사용 허가서 버전 1 (AGPLv1): GNU AGPLv3의 직접적 전신. 2002년 아페로 주식회사 출판.

* 아페로 일반 공중 사용 허가서 버전 2 (AGPLv2): AGPLv1에서 GNU AGPLv3로의 업그레이드를 위한 과도기적 라이선스.

* 서버 사이드 퍼블릭 라이선스 (SSPL): 몽고DB가 AGPL에서 파생해 만든 라이선스. OSI 비승인.

* 일반BSD 허가서: GGWiki 문서 목록에 포함된 타 라이선스.

외부 링크편집이의 제기

* 공식 웹사이트: GNU Affero General Public License - GNU Project - Free Software Foundation[4]

* 라이선스 전문(버전 3, 2007년 11월 19일)[4]

* FAQ, 사용 가이드, 번역본, 다양한 포맷 제공[4]

* 위반 사례 신고 가이드[4]

이 문서는 GGWiki AI가 공개 자료(아래 출처)를 조사해 새로 쓴 초안입니다. 틀린 내용은 편집하거나 이의 제기로 알려 주세요.

출처

4개
1Wikidata ↗https://www.wikidata.org/wiki/Q1131681
2위키백과 (한국어) · GNU 아페로 일반 공중 사용 허가서 ↗https://ko.wikipedia.org/wiki/GNU_%EC%95%84%ED%8E%98%EB%A1%9C_%EC%9D%BC%EB%B0%98_%EA%B3%B5%EC%A4%91_%EC%82%AC%EC%9A%A9_%ED%97%88%EA%B0%80%EC%84%9C
3위키백과 (영어) · GNU Affero General Public License ↗https://en.wikipedia.org/wiki/GNU_Affero_General_Public_License
4공식 사이트 ↗https://www.gnu.org/licenses/agpl-3.0.html