1.BSD 오픈 소스 프로토콜 (원본 BSD 라이센스, FreeBSD 라이센스, 원본 BSD 라이센스).
BSD 오픈 소스 프로토콜은 사용자에게 큰 자유도를 제공하는 프로토콜입니다. 기본적으로 사용자는 "원하는 대로" 하고 소스 코드를 자유롭게 사용 및 수정할 수 있으며 수정된 코드를 오픈 소스 또는 독점 소프트웨어로 재배포할 수 있습니다.
그러나 "원하는대로" 전제는 BSD 프로토콜을 사용하여 코드를 게시하거나 BSD 프로토콜 코드를 기반으로 자체 제품을 개발할 때 다음 세 가지 조건을 충족해야 합니다.
재배포하는 제품에 소스 코드가 포함된 경우 소스 코드에는 원본 코드의 BSD 프로토콜이 포함되어야 합니다.
바이너리 클래스 라이브러리/소프트웨어만 재배포하는 경우 클래스 라이브러리/소프트웨어의 문서 및 저작권 선언에 원본 코드의 BSD 프로토콜을 포함해야 합니다.
오픈 소스 코드의 작성자/조직의 이름과 오리지널 제품의 이름을 사용하여 마케팅할 수 없습니다.
BSD 코드는 코드 즐거움을 장려하지만 코드 작성자의 저작권을 존중해야 합니다. BSD 는 사용자가 코드를 수정 및 재배포할 수 있고 사용자가 BSD 코드에서 상용 소프트웨어 배포 및 판매를 사용하거나 개발할 수 있도록 하기 때문에 비즈니스 통합에 친숙한 프로토콜입니다. 많은 회사와 기업은 오픈 소스 제품을 선택할 때 BSD 프로토콜을 선호합니다. 이러한 타사 코드를 완전히 제어하고 필요한 경우 수정하거나 다시 개발할 수 있기 때문입니다.
2.Apache 라이센스 2.0(Apache 라이센스, 버전 2.0, Apache 라이센스, 버전 1. 1, Apache 라이센스, 버전/kloc-;
Apache Licence 는 유명한 비영리 오픈 소스 단체인 Apache 가 채택한 협정이다. BSD 와 마찬가지로 이 계약은 소스 작성자의 저작권을 누리고 존중하도록 권장하며, 코드를 수정하여 공개 소스 또는 상용 소프트웨어로 배포할 수 있도록 합니다. 충족되어야 할 조건도 BSD 와 유사합니다.
코드 사용자에게 아파치 라이센스 사본을 줘야 합니다.
코드를 수정하는 경우 수정된 파일에 설명되어 있어야 합니다.
확장 코드 (수정된 코드 및 소스 코드에서 파생된 코드) 에는 원래 작성자가 원본 코드에 지정한 계약, 상표, 특허 선언 등의 지침이 포함되어야 합니다.
재배포하는 제품에 알림 파일이 포함된 경우 알림 파일에 Apache 라이센스가 필요합니다. 알림에 자신의 라이센스를 추가할 수 있지만 Apache 라이센스에 대한 변경 사항으로 표시할 수는 없습니다.
아파치 라이센스도 상업적으로 우호적인 허가이다. 필요에 따라 코드를 수정하여 오픈 소스 또는 상용 제품으로 게시/판매할 수도 있습니다.
3.GNU 일반 공용 라이센스
우리가 잘 아는 리눅스는 GPL 을 채택했다. GPL 프로토콜은 BSD, Apache Licence 및 코드 재사용을 장려하는 기타 라이센스와는 매우 다릅니다. GPL 의 출발점은 코드의 오픈 소스/무료 사용 및 참조/수정/파생 코드의 오픈 소스/무료 사용이지만 수정 및 파생 코드는 폐쇄 소스 상용 소프트웨어로 게시 및 판매할 수 없습니다. 그래서 우리는 상업 회사의 Linux 와 개인, 조직, 상용 소프트웨어 회사가 Linux 에서 개발한 다양한 무료 소프트웨어를 포함하여 다양한 무료 Linux 를 사용할 수 있습니다.
GPL 프로토콜의 주요 내용은 하나의 소프트웨어에서 GPL 프로토콜 제품 ("사용" 은 클래스 라이브러리 참조, 수정된 코드 또는 파생 코드를 의미함) 을 사용할 때마다 오픈 소스와 무료 모두 GPL 프로토콜을 사용해야 한다는 것입니다. 이것은 소위 "전염성" 입니다. GPL 프로토콜 제품은 단일 제품으로 사용할 수 있으며 문제 없이 무료 혜택을 누릴 수 있습니다.
GPL 은 GPL 클래스 라이브러리를 사용하는 소프트웨어 제품에 GPL 프로토콜을 사용해야 하기 때문에 GPL 프로토콜을 사용하는 오픈 소스 코드, 상용 소프트웨어 또는 코드에 대한 기밀 요구 사항이 있는 부서에는 통합/채택을 클래스 라이브러리 및 2 차 개발의 기초로 사용할 수 없습니다.
재배포와 같은 기타 세부 사항은 BSD/Apache 와 유사한 GPL 프로토콜이 필요합니다.
4.LGPL(GNU 느슨한 일반 공용 라이센스)
LGPL 은 주로 클래스 라이브러리 사용을 위해 설계된 GPL 오픈 소스 프로토콜입니다. GPL 요구 사항과 달리 GPL 클래스 라이브러리를 사용/수정/파생하는 모든 소프트웨어는 GPL 프로토콜을 사용해야 합니다. LGPL 을 사용하면 상용 소프트웨어가 오픈 소스 상용 소프트웨어의 코드 없이 클래스 라이브러리를 통해 LGPL 클래스 라이브러리를 참조 (링크) 할 수 있습니다. 이를 통해 LGPL 프로토콜을 사용하는 오픈 소스 코드를 상용 소프트웨어에서 클래스 라이브러리로 참조하고 출판하고 판매할 수 있습니다.
그러나 LGPL 프로토콜의 코드를 수정하거나 파생하는 경우 수정 섹션과 관련된 모든 수정 코드, 추가 코드 및 파생 코드는 LGPL 프로토콜을 사용해야 합니다. 따라서 LGPL 프로토콜의 오픈 소스 코드는 상용 소프트웨어에서 타사 클래스 라이브러리로 참조하는 데 적합하지만 LGPL 프로토콜 코드를 기반으로 수정 및 파생을 통해 2 차 개발을 수행하려는 상용 소프트웨어에는 적합하지 않습니다.
GPL/LGPL 은 원작자의 지적 재산권을 보호하고 오픈 소스 코드를 사용하여 유사한 제품을 복제하고 개발하는 것을 방지합니다.
5. MIT
MIT 는 BSD 만큼 광범위한 라이센스 계약이며, 저자는 다른 제한 없이 저작권만 보유하려고 합니다. 즉, 바이너리 또는 소스 코드로 배포되는지 여부에 관계없이 원본 라이센스 계약의 선언을 배포에 포함시켜야 합니다.