*AGPL 라이선스 의무사항에 대해 궁금하신분은 하기 포스팅을 참조해주세요
https://hontube.tistory.com/66?category=837969
오늘은 "AGPL-3.0 License가 상용 프로젝트에 사용될수있을까?"
를 주제로 포스팅 해보려고 합니다.
먼저 AGPL License가 탄생하게 된 배경은
기존에는 서버쪽에서 사용된 오픈소스는 서버자체가 판매되지 않는 이상
제 3자에게(사용자) '배포'되지 않는 대상이기 때문에
오픈소스의 의무사항에서 제외가 되었습니다.
하지만 요즘은 Cloud 서비스등이 발달하게 되면서
시대 흐름에 맞게 서버에서도 오픈소스 의무사항을 준수하도록 하는 라이선스가 필요하게 되었고
그에 따라 AGPL License가 탄생을 하게 되었습니다.
아직까지 많은 기업에서는 AGPL License의 사용을 꺼려하고 있는데요
그 이유는 해당 라이선스가 적용된 SW를 '수정'해서 네트워크를 통해 원격의 사용자와 상호 작용하는 경우
원격 사용자가 수정된 버전의 소스 코드를 다운 받을 수 있도록 네트워크 서버를 제공해야 한다
즉 네트워크 서버 코드를 모두 공개해야 하는 강력한 의무사항이 있기 때문에
상용 서비스를 하는 기업에서는 사용을 지양하고 있습니다.
AGPL 라이선스를 적용한 원저작자들의 의도는 크게 2가지로 분류된다고 생각합니다.
1. 독점/폐쇄 제품에서만 사용되는것이 아니라 모든 사람들을 위해 무료 소프트웨어로 유지 되고 발전하는것
2. 오픈소스의 기여보다 상용목적인 사람(기업)으로부터의 수익 창출
2번처럼 원저작자가 수익을 목적으로 AGPL이 적용된 오픈소스를 만들었다면
대부분 수정없이 해당 SW를 사용하기에는 불가능한 경우가 많고 결국 상업용으로 사용하기 위해서는 구매해야 합니다.
*2번 같은 경우 적극적으로 라이선스 위반 기업을 찾으려고 노력하는 경우가 많습니다.
따라서 AGPL or Commercial 인 오픈소스는 상용제품에서 사용하는것은 권장하지 않고
오늘은 1번인 경우 "AGPL은 상용제품에서 사용할수 있을까?" 에 대해서 이야기 해보려고 합니다.
AGPL-3.0 License를 상용 제품에 사용하기 위해 고려해야할 사항
1. AGPL SW 수정여부
- AGPL 오픈소스를 수정없이 binary형태, REST API로 통신하여 사용하는 경우에는 AGPL 오픈소스에 대한 저작권 고지와 해당 오픈소스에 대해서만 공개의무가 발생을 하게 됩니다. (즉, 자사 제품의 코드는 공개하지 않아도 됨.)
- 다만, AGPL 코드를 수정해서 사용하는 경우에는 변경된 사항들을 포함하여 공개해야함.
2. Main Applicaion 빌드에 AGPL SW가 포함되면 안됨
- AGPL 코드가 포함된 채로 빌드가 수행되는 경우라면 1번에서 예외처리가 되는 '통신'하여 사용하는 경우가 아니기 때문에 프로그램 코드 전체를 공개해야 하므로 반드시 통신하는 형태로 사용을 해야 합니다.
3. 버그 패치도 수정사항에 포함 됨
- AGPL SW를 사용할 경우 잠재적인 Risk중 하나는 사용하다가 버그가 발생할 경우 수정이 필요한데, 이때 버그를 잡기 위해 코드를 수정하게 되면 수정 된 모든 코드 또한 공개를 해야 합니다.
4. Configuration의 변경은 소스코드 수정으로 보지 않음
- Port Number나 admin password등의 변경을 위한 config 변경은 소스코드의 수정으로 보지 않습니다.
ex) NextCloud FAQ
해당 포스팅은 CC BY 4.0라이선스 하에 포스팅 합니다.
'오픈소스(Open Source)' 카테고리의 다른 글
AI가 코딩을 도와주는 신세계...Copilot과 이슈에 대해서 (0) | 2022.11.22 |
---|---|
GPL 계열 라이선스 vs 그 외 라이선스 별 충돌 정리 (0) | 2022.11.08 |
Copyleft 계열의 오픈소스 주요 의무사항 Checklist (0) | 2022.10.14 |
다수의 오픈소스 컨설팅 경험을 바탕으로 오픈소스(Open Source)에 대한 포스팅을 주기적으로 업로드 예정입니다. (0) | 2022.10.13 |
오픈소스 사용시 기업에서 발행하는 고지문(NOTICE)에 대해서 알아보자! (0) | 2022.09.30 |