오픈소스 소프트웨어(Open Source Software, OSS)는 소스코드가 공개되어 누구나 자유롭게 사용할 수 있는 오픈소스 라이선스를 만족하는 소프트웨어를 말한다.
오픈소스는 무료가 아닌 소스코드의 자유로운 사용을 의미하며, 모든 오픈소스 소프트웨어는 저작권자만 해당 소프트웨어에 대한 독점 사용권리를 갖고 있다.
최근 몇 년간 수많은 기업에서 오픈소스를 활용하고 있으며, 이는 비용 절감, 기술 확보, 인재 확보 등 다양한 이점이 있다.
오픈소스 사용 비중이 높아짐에 따라 이에 대한 관리의 중요성도 높아지고 있으며, 오픈소스를 사용할 때는 저작권, 라이선스 규정 등을 반드시 준수해야만 한다.
오픈소스 라이선스의 주요 의무사항은 오픈소스를 사용하면 해당 오픈소스의 출처와 원저작자를 밝혀야 한다.
그리고 GPL 라이선스 같은 경우는 해당 오픈소스를 사용할 때 사용한 앱의 모든 코드를 공개해야 하는 의무사항을 가지고 있기 때문에 특히 주의해야 한다.
이러한 의무사항은 배포(Distribution)가 이루어질 때 적용되며, 여기서 배포는 코드 또는 바이너리를 다른 사람에게 제공할 때를 말한다. 예로 앱 스토어 배포, 3rd party 제공, 코드 공개 등이 배포에 해당된다.
개인적으로 사용하거나 회사 내부에서만 사용할 때는 배포에 해당되지 않는다.
오픈소스 라이선스는 다음과 같이 분류할 수 있다.
Permissive 라이선스
- 고지 의무를 지키면 자유롭게 사용 가능
- 저작권, 라이선스명, 라이선스 사본 고지 외 다른 의무사항 없음
- Apache, BSD, MIT 등
Copyleft 라이선스
- 자유롭게 사용할 수 있고 Permissive 계열 라이선스에 추가하여 일반적으로 수정코드에 대한 소스코드 공개 의무가 있음
- LGPL, LGPL, GPL, AGPL, EPL, MPL 등
최근에는 AGPL, SSPL 등 인프라 네트워크 관련 라이선스도 나오고 있으니 각별히 주의해야 한다.
이는 소스코드 사용은 가능하지만 상용 목적으로 사용을 제한하기 때문에 특히 더 신경을 써야한다.
References
- https://www.olis.or.kr/images/egovframework/olisImage/common/OpensourceSW_License_Guide.pdf
- https://sktelecom.github.io/guide/
- https://www.olis.or.kr/license/licenseGuide.do
- https://tech.kakao.com/2021/02/22/olive-platform/