Open Source
오픈소스와 저작권
누구나 글, 그림, 소스 코드와 같은 창작물을 만들면 그 창작물에 대해 저작권을 갖게 됩니다. 공개된 소스 코드인 오픈소스에도 저작권이 있습니다.
공개되어 있는 소스 코드는 모두 사용할 수 있을까요
법에서는 창작물의 저자는 다른 사람이 그 창작물로 할 수 있는 일의 범위를 정할 수 있는 권리를 갖고 있다고 가정합니다. 그래서 일반적으로 저작권자의 허락 없이는 창작물에 대한 사용, 복사, 배포, 수정이 불가능합니다.
오픈소스에서는 저작권자가 소스 코드의 사용 범위와 사용자의 의무 사항을 라이선스에 명시해 둡니다. 공개되어 있는 소스 코드지만 여전히 저작권이 존재하기 때문에 라이선스를 확인하지 않고 사용하면 저작권을 침해할 가능성이 있습니다. 오픈소스를 사용할 때는 반드시 라이선스를 확인하고 의무 조항을 준수해야 합니다.
오픈소스는 '무료'일까요
오픈소스에 관해 많이 하는 질문이 "오픈소스는 무료입니까?"입니다. 실제로 비용이 들지 않는다는 점은 오픈소스의 매력 중 하나입니다. 그러나 '무료'가 오픈소스의 전부는 아닙니다.
오픈소스 프로젝트의 대부분은 누구나 목적에 관계없이 소스 코드를 사용하고, 수정하고, 공유하는 것을 허용하기 때문에 프로젝트가 무료로 제공되는 경우가 많습니다.
하지만 '무료'는 오픈소스를 정의하는 용어가 아닙니다. 저작권자가 라이선스에 명시한 무료 사용 조건과 의무 사항을 지키는 경우에만 무료로 사용할 수 있습니다. 오픈소스 프로젝트 중에는 예외로 유료로 사용할 수 있게 하는 듀얼 라이선스를 적용하거나 무료 라이선스 버전에는 기능을 제한하는 등의 방법으로 과금하는 프로젝트도 있습니다.
오픈소스를 사용할 때 주의할 점
오픈소스를 사용할 때는 오픈소스의 출처와 저작권, 라이선스 정보를 남겨 두어야 합니다.
저작권과 라이선스 주석을 유지해야 합니다
많은 오픈소스는 소스 코드의 시작 부분에 저작권과 라이선스 정보를 주석으로 명시해 둡니다. 그리고 대부분의 오픈소스가 저작권과 라이선스 정보 표기를 의무 조항으로 두고 있습니다.
하지만 오픈소스를 사용할 때 무심코 이 주석을 지우는 경우가 있습니다. 만약 이후 자신의 프로젝트를 오픈소스로 공개할 때를 대비해서라도 프로젝트에 사용한 오픈소스의 출처를 밝히고 저작권과 라이선스 정보를 유지해야 합니다. 소스 코드 유지 보수 및 관리를 위해서도 출처를 남겨 두는 습관은 중요합니다.
다음은 네이버의 오픈소스 프로젝트 중에 하나인 Pinpoint의 소스 코드에 있는 주석입니다. Pinpoint가 사용한 오픈소스인 jQuery UI의 Datepicker 위젯에 있는 저작권 및 라이선스 정보를 주석에서 삭제하지 않고 그대로 두었습니다.
주요 오픈소스 라이선스 특징 비교
다음은 주요 오픈소스 라이선스의 무료 이용 여부, 배포 허용 여부, 소스 코드 공개 의무 등을 비교한 내용입니다.
무료 이용가능배포 허용가능소스 코드취득 가능소스 코드수정 가능2차적 저작물재공개 의무독점 SW와결합 가능
MIT License | O | O | O | O | X | O |
BSD 2-Clause BSD 3-Clause |
O | O | O | O | X | O |
Apache License 2.0 | O | O | O | O | X | O |
GPLv2 GPLv3 |
O | O | O | O | O | X |
LGPLv2 | O | O | O | O | O | O |
MPL | O | O | O | O | O | O |
---
https://naver.github.io/OpenSourceGuide/book/UsingOss/the-legal-side-of-opensource.html#copyright
'IT > CS' 카테고리의 다른 글
[CS] GB와 GiB: 기가바이트와 기비바이트의 차이점 (0) | 2024.11.15 |
---|---|
[CS] SW 시각화 도구 - UML 다이어그램, 플로우 차트, 마인드 맵 (0) | 2024.06.14 |
[Network] Signaling, Signalling, Signaling System 신호 방식, 시그널링, 신호 기술, 호 제어 신호, 호 신호 (1) | 2024.02.06 |
[CS] IDE(통합개발환경)란? (0) | 2024.01.12 |
[CS] 브레인스토밍(Brainstorming) 이란? (1) | 2024.01.03 |