오픈 라이선스는 저작물의 사용, 수정, 공유를 허용하는 제도입니다.
소프트웨어 개발에서는 특히 중요한데, 코드를 어떻게 사용하고 배포할 수 있는지를 명시해줍니다.
오늘은 이 오픈 라이선스에 대해서 알아보겠습니다.
오픈 라이선스의 종류
GPL은 가장 엄격한 카피레프트 라이선스입니다.
카피레프트는 저작권에 대응하는 개념으로, 자유롭게 수정, 사용하고 배포할 수 있는 권리를 부여하면서도 그 2차적 저작물도 동일한 자유를 보장하도록 강제하는 개념입니다.
이 라이선스는 수정된 코드도 반드시 GPL로 공개하여야 합니다.
GPL의 대표적인 예시로는 리눅스 커널이 있습니다.
MIT는 가장 자유로운 라이선스 중 하나입니다.
저작권 표시만 유지한다면 상업적 수정, 이용, 배포가 모두 자유롭게 가능합니다.
대표적인 예시로는 JQuery와 Node.js가 있습니다.
Apache License 2.0은 아파치 소프트웨어 재단에서 만든 오픈소스 라이선스입니다.
이 라이선스는 기업 친화적이면서도 특허권에 대한 명확한 규정을 포함하고 있습니다.
MIT와는 다르게 수정사항을 고지해야 하며 NOTICE 파일을 작성해야 합니다.
대표적인 소프트웨어로는 안드로이드가 있습니다.
BSD 또한 매우 자유로운 라이선스 중 하나지만 MIT와의 차이점이 있습니다.
BSD에서는 기존 저작자의 이름을 홍보에 사용하지 말라는 의무사항이 있습니다.
그리고 버전을 여러개 둠으로써 유연성을 제공합니다.
대표적인 소프트웨어로는 Nginx가 있습니다.
이렇게 오픈 라이선스의 기본적인 내용을 알아보았습니다.
개발자로서 오픈 라이선스를 이해하는 것은 매우 중요하다고 느꼈습니다.
특히 프로젝트를 시작할 때는 반드시 사용하는 라이브러리들의 라이선스를 확인하는 습관을 들이려고 노력하겠습니다.
글을 끝까지 봐주셔서 감사합니다.
틀린 내용이 있다면 댓글로 지적 부탁드립니다.
'개발지식' 카테고리의 다른 글
[프로그래밍 이론] 객체 지향 프로그래밍 (0) | 2024.10.25 |
---|---|
[JWT] 누구인지 확인하고 권한 부여하기 (0) | 2024.09.25 |
회원 API 설계하기 (0) | 2024.09.06 |
나도 설명하고 싶다! REST API (1) | 2024.08.28 |
웹 이해하기 (0) | 2024.08.20 |