둘째, 당신이 묻는 주된 질문은 _ _ license _ =' gplv3' 인 것 같습니다. GPL V3 는 오픈 소스 프로토콜입니다. 사실 GPL 프로토콜 제 3 판입니다. 여기에 표기되어 있는 것도 이 코드의 프로토콜 유형입니다. 만약 후손이 사용한다면, 이 코드도 GPL V3 프로토콜을 준수해야 한다. 이 협의에 관한 세부 사항은 바이두가 링크를 보낼 수 없기 때문에, 나는 인터넷 글을 베꼈다.
지난 10 년 동안 소프트웨어 개발 관행에서 가장 놀라운 변화 중 하나는' 복합' 소프트웨어 시스템 구축, 즉 자체 제작, 오픈 소스 및 타사 구성 요소의 조합으로 개발 팀이 선진적이고 포괄적인 솔루션을 신속하게 제공할 수 있도록 하는 것입니다. 그러나 오픈 소스 및 타사 구성 요소의 비표준 사용은 위험을 증가시킵니다. 이 방법은 지적 재산권을 침해하고, 알 수 없는 프랜차이즈 의무를 창출하고, 유지 보수 비용을 늘리고, 확인되지 않은 보안 취약점을 도입할 가능성이 높다.
이 문서에서는 복합 소프트웨어 시스템 구축으로 인한 복잡성 문제에 대한 배경을 소개하고, GPLv3 (General Public License) 의 최신 버전이 여러 주요 영역에서 개발 거버넌스에 어떤 영향을 미치는지 설명하겠습니다.
배경
오픈 소스 소프트웨어는 개발자가 처음부터 새 소프트웨어를 작성하는 대신 기존 코드를 재사용하여 특정 요구 사항을 충족할 수 있도록 하는 우수한 리소스입니다. 또 다른 이점은 사용자와 개발자의 요구를 충족시킬 수 있는 오픈 소스 구성 요소가 계속 존재할 것이며, 시간이 지남에 따라 많은 다른 사람들이 기존 코드를 지속적으로 검토하고 개선할 것이라는 점입니다. 점점 개발된 소프트웨어는 더 적은 bug 로 진화하고, 더 유용하고, 더 튼튼해질 것이다.
오픈 소스 코드는 많은 오픈 소스 프로젝트에서 개발되었습니다. 내가 이 문장 을 쓸 때 180000 개 이상의 독립된 오픈 소스 프로젝트 (모든 것이 활발한 것은 아니지만) 가 매일 더 많은 오픈 소스 프로젝트가 생겨났다. 정의에 따르면 오픈 소스 코드는 * * * 이므로 오픈 소스 프로젝트는 일반적으로 공개적으로 액세스할 수 있는 웹에 저장됩니다 (원래 코드는 * * * 테이프 및 게시판 시스템을 통해 공유되지만 책과 같은 다른 소스에서 사용할 수 있는 경우도 있음). 많은 웹 사이트에는 오픈 소스 프로젝트가 있습니다. 우리 회사, 흑오리 소프트웨어는 이미 3,000 개 이상의 다운로드 사이트를 확인했는데, 그중에는 4 억 8 천 5 백만 개가 넘는 오픈 소스 파일이 포함되어 있다.
2006 년 6 월 5438+ 10 월 이후 오픈 소스 소프트웨어 라이센싱 분야에서 가장 큰 논란은 GNU GPL (General Public License) V3 을 중심으로 하는 것입니다. 199 1 출시 GPLv2 는 규제 공개 소스 코드에서 가장 유명하고 널리 사용되는 라이센스 중 하나입니다. Linux 커널과 기타 널리 사용되는 오픈 소스 프로젝트에 사용됩니다. 전 세계적으로 GPLv2 는 수천 개의 기업과 애플리케이션 개발 팀에 영향을 미치고 있으며, GPL 사양의 코드를 해당 제품의 일부로 간주합니다. GPL 의 기본 권리와 이익은 누구나 라이센스 규정을 사용, 수정 및 재배포할 수 있는 코드입니다. 동의 1) 모든 배포 사본에는 라이센스 사본이 포함되어 있으며 2) 파생 제품의 모든 소스 코드는 무료로 제공됩니다.
버전 3 GPL 응용 프로그램 범위를 확장하는 방법은 무엇입니까?
몇 달 동안 제정된 GNU GPLV3 (Global Public License 버전 3) 은 2007 년 6 월 29 일 FSF 자유 소프트웨어 재단에서 공식 발표했습니다. GPLv3 의 용어는 GPLv2 와 비슷하지만 GPL 의 적용 범위를 확대하고 특허 및 디지털 저작권 관리 분야까지 확대했습니다. GPLv3 에는 소프트웨어 개발에 영향을 미치는 네 가지 주요 분야 (상호 이익, 디지털 저작권 관리, 특허 및 라이센스 호환성) 가 포함되어 있습니다. 다음은 이러한 용어에 대한 간략한 개요입니다.
상호 이익 (파생 상품)
GPLv2 와 마찬가지로 GPLv3 은 상호 라이센스입니다. 즉, 응용 프로그램에 GPL 규정 코드가 추가되거나 "GPL 규정 코드 기반 제품" 이 사용되고 결과 응용 프로그램이 배포에 사용되는 경우 GPL 아래에 배포해야 합니다. GPL 자체는 모든 배포 사본에 소스 코드와 GPL 라이센스 사본이 포함되어야 한다고 규정하고 있습니다. 수년 동안 소프트웨어의 전제하에' 기반 제품' 또는' 파생 제품' 이라는 용어의 의미에 대해 상당한 논란이 있었다. 예를 들어, 자유 소프트웨어 재단은 동적 링크 파일도 파생 제품을 생산할 수 있다고 생각합니다. 따라서 그들의 세계관에서는 자신의 독점 코드를 GPL 이나 다른 * * * 라이브러리에서 감독하는. DLL 파일에 링크하더라도 소스 코드를 공개해야 합니다. 이러한 해석은 개발 조직이 GPL 라이센스를 사용하는 코드를 개발 프로세스의 일부로 사용하는 것에 대해 신중을 기할 수 있게 해 줍니다.
GPLv3 은 파생품 구성 문제의 투명성을 증가시켰다. 예를 들어, GPLv3 에 따르면 GPL 관리 라이브러리를 사용하기 위해 "특별히 설계" 된 프로그램은 전체 제품의 일부로 간주되고 전체 애플리케이션은 GPL 에 의해 관리됩니다. 그러나 GPL 라이브러리를 다른 라이브러리로 완전히 교체할 수 있는 경우 (즉, 응용 프로그램이 GPL 라이브러리를 사용하도록 특별히 설계되지 않은 경우) 라이브러리는 전체 제품의 일부가 아니며 라이센스에 의해 제한되지 않습니다.
디지털 저작권 관리 (임베디드 장치)
디지털 저작권 관리 (DRM) 는 소비자 장치 게시자가 사용자가 장치에 변조된 코드를 배포하는 것을 막을 수 있는 기술적 방법을 설명합니다. FSF 는 최소한 GPLv3 관련 코드에 대해 DRM 의 의미를 정의하려고 합니다. 이를 위해 GPLv3 에는 다음과 같은 내용이 포함되어 있습니다. 첫째, 라이센스는 GPLv3 자체를 DRM 의 일부로 사용하지 못하도록 합니다. 둘째, FSF 는 모든 사용자가 소비자 장치에 설치된 GPLv3 코드를 수정하고 수정된 코드 버전을 장치에 다시 로드할 수 있도록 조항을 추가했습니다. GPLv3 에서 소스 코드를 제공할 의무뿐 아니라, 사용권자는 해당 장치에 수정된 코드를 다시 로드하는 데 필요한 모든 설치 정보를 제공해야 합니다. 몇 가지 고유 한 제한 사항이 있지만 GPLv3 의 DRM 조항은 소비자 장비 제조업체 및 출판사에게 자연스럽게 도움이 될 것입니다. GPLv3 코드를 사용하면 적절한 의무를 이행하여 느슨한 정책을 얻을 수 있기 때문입니다.
특허 (재배포 코드)
새 라이센스는 개발된 코드에 적용되는 특허 의무 지침을 제공합니다. GPLv3 에는 광범위한 명시적 특허 라이센스가 포함되어 있습니다. 간단히 말해서, 개발자가 GPL 코드를 수정하여 재배포하는 경우 개발자는 전체 응용 프로그램에 적용될 수 있는 모든 특허에 특허 라이센스를 자동으로 부여합니다. 모든 파생 상품은 이 특허 라이센스의 혜택을 받습니다. 이런 식으로, FSF 는 사용자가 수정된 GPL 규제 코드에 대해 광범위한 특허를 가지고 있는지 확인하려고 합니다. GPLv3 에는 "특허 보호" 조항도 포함되어 있습니다. 즉, GPL 코드 사용자가 해당 코드를 기반으로 특허 선언을 하면 해당 GPL 에 대한 GPL 라이센스를 잃게 됩니다.
라이센스 호환성 (여러 라이센스 문제)
GPL 버전 3 은 버전 2 를 대체하지 않습니다. 이들은 공존하므로 오픈 소스 프로젝트는 모든 라이센스 버전에서 코드를 배포할 수 있습니다. GPLv2 에 있는 대부분의 코드는 사용자가 GPLv3 으로 변환할 수 있습니다 (GPLv2 에서 일반적으로 허용되는 규칙입니다). 그러나, 몇몇 프로젝트들, 가장 두드러진 것은 Linux 커널이 이러한 권리가 포함된 허가된 버전에 발표되지 않았다는 것이다. 이 프로젝트들은 GPLv3 에 그들의 프로젝트를 발표할 계획이 없다.
GPLv3 의 기타 라이센스 호환성 조항도 신중해야 합니다. 새로운 라이센스는 개발자가 해당 코드가 다른 오픈 소스 라이센스와 호환되도록 라이센스에 지정된 추가 조항을 추가할 수 있는 권리를 제공합니다. 개발자는 이 권리를 신청해 왔으며, 예를 들어 자신의 GPLv3 버전에 필요한 조항을 추가하여 인기 있는 Apache 라이센스로 제어되는 코드를 GPL 에 작성된 코드와 결합할 수 있습니다. 조직에서 GPLv3 코드를 게시하면 이러한 추가 조건을 이해해야 합니다.
마지막으로 GPLv3 에는 개발자가 GPLv3 코드와 Affero 라이센스가 적용되는 코드를 결합할 수 있는 언어가 포함되어 있습니다. Affero 라이센스는 개발자가 GPL 에서 발견한 "취약점" 을 제거합니다. 즉, 응용 프로그램이 웹 기반 검색 엔진 (예: 웹 기반 검색 엔진 등) 인 경우 ), GPL 은 개발자가 소스 코드로 인한 "취약점" 을 게시하도록 요구합니다. 이 조건은 GPLv3 본문에 존재하지 않지만 개발자는 GPLv3 코드와 Affero 코드를 결합할 수 있으며 Affero 조항은 전체 제품에 적용됩니다.
결론
이기종 코드를 수집하고 재사용하는 애플리케이션 개발 팀의 경우 GPLv3 라이센스의 복잡성은 코드 구성 요소 관리 및 감독의 필요성을 설명합니다. GPL 의 최근 변화에 따라 애플리케이션 개발자, 관리자 및 법률 컨설턴트는 이러한 변화의 영향을 연구하고 GPLv3 기반 코드를 프로젝트에 가장 잘 포함시키는 방법을 결정해야 합니다.