반응형
LGPL(Lesser General Public License)
LGPL (Lesser General Public License)은 GNU General Public License (GPL)의 한 종류로, 오픈 소스 소프트웨어의 배포와 수정을 규제하는 데 사용되는 라이선스입니다. LGPL-3.0은 LGPL의 최신 버전 중 하나이다
LGPL 특징
소프트웨어 수정의 자유 | 사용자는 LGPL-3.0 소프트웨어를 수정하고 자신의 프로그램에 통합할 수 있습니다. |
파생작품 배포 | 수정한 소스 코드를 수정된 형태로 다시 배포할 때 해당 소스 코드도 LGPL-3.0으로 라이선스해야 합니다. |
라이브러리 및 동적 링크 허용 | LGPL-3.0 소프트웨어를 사용하는 응용 프로그램이나 라이브러리를 동적으로 링크할 수 있습니다. |
상용 및 오픈 소스 프로젝트 사용 가능 | LGPL-3.0 소프트웨어는 상용 및 오픈 소스 프로젝트에서 모두 사용할 수 있습니다. |
변경사항 공개 의무 | 수정한 소스 코드의 일부나 전체를 공개해야 하는 의무가 있습니다. 단, 이는 변경된 라이브러리 부분에 해당합니다. |
제한적인 정적 링크 허용 | LGPL-3.0은 일부 특별한 경우에 한해 정적 링크로 연결된 소프트웨어도 LGPL로 라이선스할 수 있는 조건을 제공합니다. |
임베디드 시스템에서의 사용 용이 | LGPL-3.0은 임베디드 시스템이나 특정 제한된 환경에서도 사용이 용이하도록 설계되었습니다. |
LGPL 제한점
공유 라이브러리의 수정 공개 의무 | 수정한 LGPL-3.0 소스 코드를 공유 라이브러리로 사용하고 해당 라이브러리를 공개적으로 제공할 경우, 수정한 소스 코드를 공개해야 합니다. |
프로프리어터리 모듈 제한 | LGPL-3.0으로 라이선스된 라이브러리를 사용하는 경우, 상업적인 프로프리어터리(종전의 상업 소프트웨어) 모듈을 이 라이브러리와 함께 제공하는 것이 제한됩니다. |
파일이 아닌 인터페이스의 공개 의무 | 수정한 소스 코드의 변경사항 중 일부가 바이너리 인터페이스일 경우, 해당 변경사항을 공개해야 합니다. |
반응형
LGPL 제한점 관련 설명 과 예시
소프트웨어 수정의 자유 | 사용자는 LGPL-3.0 소프트웨어를 수정하고 자신의 프로그램에 통합할 수 있습니다. | 사용자가 오픈 소스 라이브러리를 다운로드하고 수정하여 자체 프로젝트에 통합하는 경우. |
파생작품 배포 | 수정한 소스 코드를 수정된 형태로 다시 배포할 때 해당 소스 코드도 LGPL-3.0으로 라이선스해야 합니다. | 수정한 라이브러리를 제3자에게 공개 배포할 때, 해당 수정된 소스 코드도 LGPL-3.0으로 라이선스. |
라이브러리 및 동적 링크 허용 | LGPL-3.0 소프트웨어를 사용하는 응용 프로그램이나 라이브러리를 동적으로 링크할 수 있습니다. | 응용 프로그램이 동적으로 LGPL-3.0으로 라이선스된 라이브러리를 사용하는 경우. |
상용 및 오픈 소스 프로젝트 사용 가능 | LGPL-3.0 소프트웨어는 상용 및 오픈 소스 프로젝트에서 모두 사용할 수 있습니다. | 상용 애플리케이션 또는 오픈 소스 프로젝트에서 LGPL-3.0 라이브러리 사용. |
변경사항 공개 의무 | 수정한 소스 코드의 일부나 전체를 공개해야 하는 의무가 있습니다. | 수정한 라이브러리의 일부 소스 코드를 공개하거나, 전체 소스 코드를 공개해야 함. |
제한적인 정적 링크 허용 | LGPL-3.0은 일부 특별한 경우에 한해 정적 링크로 연결된 소프트웨어도 LGPL로 라이선스할 수 있는 조건을 제공합니다. | 정적 링크로 연결된 프로프리어터리 소프트웨어를 제공할 경우, 해당 수정된 소스 코드를 공개해야 함. |
임베디드 시스템에서의 사용 용이 | LGPL-3.0은 임베디드 시스템이나 특정 제한된 환경에서도 사용이 용이하도록 설계되었습니다. | LGPL-3.0로 라이선스된 라이브러리를 통합하여 임베디드 시스템에 적용하는 경우. |
예시 설명: 가정: 개발자 Alice는 LGPL-3.0으로 라이선스된 "LibX"라는 라이브러리를 사용하여 자신의 프로젝트를 개발 중이고, Bob은 Alice가 개발한 프로젝트를 사용하려고 합니다.
- 소프트웨어 수정의 자유:
- 상황: Alice가 LibX를 다운로드하고 수정하여 자신의 프로젝트에 통합.
- 결과: Alice는 LibX를 수정하고 자체 프로젝트에 통합할 수 있습니다.
- 파생작품 배포:
- 상황: Alice가 자신의 프로젝트를 Bob에게 배포.
- 결과: Alice는 자신의 프로젝트를 배포할 때 LibX의 수정된 소스 코드도 LGPL-3.0으로 라이선스해야 합니다.
- 라이브러리 및 동적 링크 허용:
- 상황: Alice의 응용 프로그램이 LibX를 동적으로 링크.
- 결과: Alice의 응용 프로그램은 동적으로 LGPL-3.0으로 라이선스된 LibX를 사용할 수 있습니다.
- 변경사항 공개 의무:
- 상황: Alice가 LibX의 일부 소스 코드를 수정.
- 결과: Alice는 수정한 일부 소스 코드를 공개해야 하며, LibX의 전체 소스 코드를 공개할 필요는 없습니다.
- 제한적인 정적 링크 허용:
- 상황: Alice가 LibX를 정적으로 링크하여 상용 소프트웨어에 포함.
- 결과: Alice는 특별한 조건을 충족하면 정적으로 링크된 프로프리어
반응형
'코딩취미 > 프로그램 지식' 카테고리의 다른 글
xml, json, yaml 의 특징과 사용방법 (0) | 2024.01.17 |
---|---|
NOP (No Operation) 의 동작 개념과 실행 시간 (0) | 2024.01.11 |
트렁크(trunk)/브랜치(branch)/태그(tag) 프로젝트 흐름 (0) | 2024.01.10 |
[ARM]Cortex-M3 Peripherals map : SysTick Timer 설정 방법 (0) | 2024.01.06 |
프로그래밍 코딩에 적합한 폰트 추천 : C++,C#,python (0) | 2024.01.05 |