
이러한 GPL은 소프트웨어의 품질을 높히고, 오픈소스 커뮤니티를 키우는 데 중요한 역할을 했습니다. 누구나 소스 코드를 볼 수 있으니, 어떤 사람이 소프트웨어를 개선하고자 하면 바로 적용이 가능하고, 소프트웨어가 마음에 안 들면 기존의 설계도를 기반으로 아예 새로 만들 수도 있게 된 것이지요. 버그 리포트를 할 때에도 소스 코드가 있으면 큰 도움이 됩니다.
그런데, GPL의 핵심인 '강제력'이 적용되지 않는 분야가 하나 있습니다. 바로 '서비스로서 작동하는 소프트웨어', 즉 '서버'입니다. GPL로 배포된 어떤 서버 소프트웨어를 개작하여, 자신만의 새로운 서버 소프트웨어를 만들었습니다. 이때, 자신만의 서버 소프트웨어도 GPL을 적용받게 됩니다. 하지만, 자신만의 서버 소프트웨어를 이용하는 사람, 즉 '사용자'는 자기 자신밖에 없습니다. 따라서 '사용자에게 소스 코드를 공개해야 하는' GPL에 따르면, 자기 자신한테만 공개하면 됩니다. 소스 코드 공개를 피해갈 수 있게 되는 것이지요.
이러한 편법(?)은, 대부분의 경우 소스 코드의 공개를 통해 소프트웨어 품질의 향상을 꾀하는 GPL의 본래 목적과 상반됩니다. 그래서, 서버 소프트웨어라 하더라도 인터넷이나 네트워크를 통해 소스 코드를 공개해야 함을 명시한 AGPL이 만들어진 것입니다.
FSF는 AGPL이 '웹 서비스를 위한 최초의 카피레프트(Copyleft) 라이선스'라고 밝히며, 관련 분야에서의 사용을 권장하고 있습니다.
AGPL은 GPL v3와는 호환되므로, GPL로 작성된 소프트웨어와 AGPL로 작성된 소프트웨어는 서로 소스 코드를 가져다 쓸 수 있습니다. 단, GPL v2와는 호환되지 않으므로 주의하여야 합니다.
GNU Affero General Public License
Free Software Foundation Releases GNU Affero General Public License Version 3
AGPL Frequently Asked Questions
Posted by 랜덤여신

