먼저, 오픈 소스 라이센스 GPL, BSD, MIT, Mozilla, Apache 및 LGPL 의 차이점과 같은 다양한 프로토콜을 상당히 직관적이고 명확한 관심자의 도식으로 나눕니다.
License.jpeg
다음은 위의 계약에 대한 간략한 소개입니다.
BSD 오픈 소스 프로토콜
BSD 오픈 소스 프로토콜은 사용자에게 큰 자유도를 제공하는 프로토콜입니다. 기본적으로 사용자는 "원하는 대로" 하고 소스 코드를 자유롭게 사용 및 수정할 수 있으며 수정된 코드를 오픈 소스 또는 독점 소프트웨어로 재배포할 수 있습니다.
그러나 "원하는대로" 전제는 BSD 프로토콜을 사용하여 코드를 게시하거나 BSD 프로토콜 코드를 기반으로 자체 제품을 개발할 때 다음 세 가지 조건을 충족해야 합니다.
재배포하는 제품에 소스 코드가 포함된 경우 소스 코드에는 원본 코드의 BSD 프로토콜이 포함되어야 합니다.
바이너리 클래스 라이브러리/소프트웨어만 재배포하는 경우 클래스 라이브러리/소프트웨어의 문서 및 저작권 선언에 원본 코드의 BSD 프로토콜을 포함해야 합니다.
오픈 소스 코드의 작성자/조직의 이름과 오리지널 제품의 이름을 사용하여 마케팅할 수 없습니다.
BSD 코드는 코드 즐거움을 장려하지만 코드 작성자의 저작권을 존중해야 합니다. BSD 는 사용자가 코드를 수정 및 재배포할 수 있고 사용자가 BSD 코드에서 상용 소프트웨어 배포 및 판매를 사용하거나 개발할 수 있도록 하기 때문에 비즈니스 통합에 친숙한 프로토콜입니다. 많은 회사와 기업은 오픈 소스 제품을 선택할 때 BSD 프로토콜을 선호합니다. 이러한 타사 코드를 완전히 제어하고 필요한 경우 수정하거나 다시 개발할 수 있기 때문입니다.
아파치 라이센스 2.0
Apache Licence 는 유명한 비영리 오픈 소스 단체인 Apache 가 채택한 협정이다. BSD 와 마찬가지로 이 계약은 소스 작성자의 저작권을 누리고 존중하도록 권장하며, 코드를 수정하여 공개 소스 또는 상용 소프트웨어로 배포할 수 있도록 합니다. 충족되어야 할 조건도 BSD 와 유사합니다.
코드 사용자에게 아파치 라이센스 사본을 줘야 합니다.
코드를 수정하는 경우 수정된 파일에 설명되어 있어야 합니다.
확장 코드 (수정된 코드 및 소스 코드에서 파생된 코드) 에는 원래 작성자가 원본 코드에 지정한 계약, 상표, 특허 선언 등의 지침이 포함되어야 합니다.
재배포하는 제품에 알림 파일이 포함된 경우 알림 파일에 Apache 라이센스가 필요합니다. 알림에 자신의 라이센스를 추가할 수 있지만 Apache 라이센스에 대한 변경 사항으로 표시할 수는 없습니다.
아파치 라이센스도 상업적으로 우호적인 허가이다. 필요에 따라 코드를 수정하여 오픈 소스 또는 상용 제품으로 게시/판매할 수도 있습니다.
(gramsperlitre 와 동일) 그램/리터
우리가 잘 아는 리눅스는 GPL 을 채택했다. GPL 프로토콜은 BSD, Apache Licence 및 코드 재사용을 장려하는 기타 라이센스와는 매우 다릅니다. GPL 의 출발점은 코드의 오픈 소스/무료 사용 및 참조/수정/파생 코드의 오픈 소스/무료 사용이지만 수정 및 파생 코드는 폐쇄 소스 상용 소프트웨어로 게시 및 판매할 수 없습니다. 그래서 우리는 상업 회사의 Linux 와 개인, 조직, 상용 소프트웨어 회사가 Linux 에서 개발한 다양한 무료 소프트웨어를 포함하여 다양한 무료 Linux 를 사용할 수 있습니다.
GPL 프로토콜의 주요 내용은 하나의 소프트웨어에서 GPL 프로토콜 제품 ("사용" 은 클래스 라이브러리 참조, 수정된 코드 또는 파생 코드를 의미함) 을 사용할 때마다 오픈 소스와 무료 모두 GPL 프로토콜을 사용해야 한다는 것입니다. 이것은 소위 "전염성" 입니다. GPL 프로토콜 제품은 단일 제품으로 사용할 수 있으며 문제 없이 무료 혜택을 누릴 수 있습니다.
GPL 은 GPL 클래스 라이브러리를 사용하는 소프트웨어 제품에 GPL 프로토콜을 사용해야 하기 때문에 GPL 프로토콜을 사용하는 오픈 소스 코드, 상용 소프트웨어 또는 코드에 대한 기밀 요구 사항이 있는 부서에는 통합/채택을 클래스 라이브러리 및 2 차 개발의 기초로 사용할 수 없습니다.
재배포와 같은 기타 세부 사항은 BSD/Apache 와 유사한 GPL 프로토콜이 필요합니다.
LGPL
LGPL 은 주로 클래스 라이브러리 사용을 위해 설계된 GPL 오픈 소스 프로토콜입니다. GPL 요구 사항과 달리 GPL 클래스 라이브러리를 사용/수정/파생하는 모든 소프트웨어는 GPL 프로토콜을 사용해야 합니다. LGPL 을 사용하면 상용 소프트웨어가 오픈 소스 상용 소프트웨어의 코드 없이 클래스 라이브러리를 통해 LGPL 클래스 라이브러리를 참조 (링크) 할 수 있습니다. 이를 통해 LGPL 프로토콜을 사용하는 오픈 소스 코드를 클래스 라이브러리로 상용 소프트웨어에서 참조, 배포 및 판매할 수 있습니다.
그러나 LGPL 프로토콜의 코드를 수정하거나 파생하는 경우 수정 섹션과 관련된 모든 수정 코드, 추가 코드 및 파생 코드는 LGPL 프로토콜을 사용해야 합니다. 따라서 LGPL 프로토콜의 오픈 소스 코드는 상용 소프트웨어에서 타사 클래스 라이브러리로 참조하는 데 적합하지만 LGPL 프로토콜 코드를 기반으로 수정 및 파생을 통해 2 차 개발을 수행하려는 상용 소프트웨어에는 적합하지 않습니다.
GPL/LGPL 은 원작자의 지적 재산권을 보호하고 오픈 소스 코드를 사용하여 유사한 제품을 복제하고 개발하는 것을 방지합니다.
매사추세츠 공과대학 (massa Chu-setts institute of technology)
MIT 는 BSD 만큼 광범위한 라이센스 계약이며, 저자는 다른 제한 없이 저작권만 보유하려고 합니다. 즉, 바이너리 또는 소스 코드로 배포되는지 여부에 관계없이 원본 라이센스 계약의 선언을 배포에 포함시켜야 합니다.
MasterofPatentLaw 특허법 석사
MPL 은 Mozilla Public License 의 약어로 1998 로 시작하는 넷스케이프 Mozilla 팀이 오픈 소스 소프트웨어 프로젝트를 위해 설계한 소프트웨어 라이센스입니다. MPL 라이센스가 나타나는 가장 중요한 이유는 GPL 라이센스가 소스 코드에 대한 개발자의 요구와 소스 코드 사용에서 얻은 이익의 균형을 잘 맞추지 못한다는 것입니다. 유명한 GPL 라이센스 및 BSD 라이센스에 비해 MPL 은 OSIA 가 인정한 오픈 소스 소프트웨어 라이센스이기 때문에 권리와 의무의 여러 측면에서 동일합니다. 그러나 MPL 에 비해 몇 가지 중요한 차이점이 있습니다.
◆ MPL 이 MPL license 에서 발표한 소스 코드를 수정해야 하는 것은 MPL 라이센스의 허가를 다시 받아야 다른 사람들이 MPL 의 조항에 따라 소스 코드를 받을 수 있도록 하는 것이다. (알버트 아인슈타인, Northern Exposure (미국 TV 드라마), Northern Exposure 그러나 MPL 라이센스에서' 배포' 는' 소스 코드에 의해 배포된 파일' 로 정의됩니다. 즉, MPL 을 통해 기업은 기존 소스 코드를 기반으로 인터페이스를 추가할 수 있습니다. 인터페이스 프로그램의 소스 코드가 MPL 라이센스로 외부라이센싱되는 것 외에도 소스 코드 라이브러리의 소스 코드는 MPL 라이센스 없이 외부라이센싱을 강제할 수 있습니다. 이것들은 모두 다른 사람의 소스 코드를 사용하여 자신의 상용 소프트웨어 개발에 격차를 남겼다.
◆MPL 라이센스 제 3 조 제 7 항은 정식 사용자가 MPL 라이센스를 통해 얻은 소스 코드를 다른 유형의 자체 코드와 혼합하여 자체 소프트웨어 프로그램을 얻을 수 있도록 합니다.
◆ 소프트웨어 특허에 대한 태도에 대해 MPL license 는 GPL license 처럼 소프트웨어 특허에 대한 반대를 분명히 밝히지 않았지만, 소스 코드 공급자가 이미 특허로 보호되는 소스 코드를 제공할 수 없도록 명시적으로 요구하고 있습니다 (특허권자가 아닌 경우 서면으로 이러한 소스 코드를 대중에게 무료로 허가하는 경우). 오픈 소스 라이센스로 허가한 후 이러한 소스 코드와 관련된 특허를 신청할 수 없습니다.
◆ 소스 코드의 정의
MPL (버전 1. 1) 라이센스에서 소스 코드는 다음과 같이 정의됩니다. "소스 코드는 모든 모듈의 모든 소스 프로그램과 관련 인터페이스의 정의, 실행 가능한 저작물의 설치 및 컴파일을 제어하는' 원본
MPL 라이센스 제 3 조는 소스 코드 수정을 설명하는 특별한 규정이 있습니다. 즉, 모든 재발행자에게 소스 코드 프로그램 수정 시기와 방법을 설명하는 특별한 파일이 있어야 합니다.