데비안 배포판에 설치된 패키지의 라이센스 목록을 자동으로 얻으려고 합니다. /usr/share/doc/
여러 질문에 대한 답변에 설명된 대로 저작권 파일을 스캔하여 이 작업을 수행했습니다 .이것그리고이것.
그런데 패키지에 별도로 설치되는 여러 바이너리가 포함되어 있지만 동일한 저작권 파일을 공유하는 상황을 어떻게 처리해야 할지 모르겠습니다. 이 경우 저작권 파일에는 다른 내용이 포함되어 있습니다.파일 섹션그러나 장치에 어떤 파일이 설치되어 있는지, 어떤 패키지가 해당 파일을 설치하는지 명확하지 않습니다.
예를 들어 libmodbus의 예가 있습니다.
데비안 추적기에 따르면, libmodbus는 두 개의 바이너리를 포함하는 패키지입니다: libmodbus5
및 libmodbus-dev
. 설치 했다면 libmodbus5
내용은 /usr/share/doc/libmodbus5/copyright
다음과 같습니다.
Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: libmodbus
Upstream-Contact: Stéphane Raimbault <[email protected]>
Source: http://www.libmodbus.org/
Files: *
Copyright:
2008-2014 Stéphane Raimbault <[email protected]
License: LGPL-2.1+
Files: debian/*
Copyright:
2008-2011 Stéphane Raimbault <[email protected]>
2011-2014 Ivo De Decker <[email protected]>
License: LGPL-2.1+
Files: tests/*
Copyright:
2008-2014 Stéphane Raimbault <[email protected]>
License: GPL-3+
License: LGPL-2.1+
This library is free software; you can redistribute it and/or modify it
under the terms of the GNU Lesser General Public License as published by the
Free Software Foundation; either version 2.1 of the License, or (at your
option) any later version.
.
This library is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
for more details.
.
You should have received a copy of the GNU Lesser General Public License
along with this library; if not, write to the Free Software Foundation,
Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
.
On Debian systems, the complete text of the GNU General Public License
can be found in /usr/share/common-licenses/LGPL-2.1
License: GPL-3+
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
.
This package is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
.
On Debian systems, the complete text of the GNU General Public License
version 3 can be found in "/usr/share/common-licenses/GPL-3".
즉, 기본 라이센스는 이지만 LGPL-2.1+
테스트 폴더에 있는 파일의 라이센스는 입니다 GPL-3+
. 그러나 해당 파일이 설치되어 있는지, 따라서 라이센스가 내 설치에 적용되는지는 확실하지 않습니다.
이러한 파일이 내 장치에 설치되어 있는지 확인하기 위해 생각할 수 있는 유일한 방법은 설치 설명자를 확인하는 것입니다.코드 저장소, 데비안 추적기에 연결되어 있습니다. 그러나 이 접근 방식은 자동화된 방식과는 거리가 멀고 패키지의 모든 바이너리에 대한 설치 설명자를 찾는 것이 쉽지 않습니다.
내 장치에 설치된 바이너리에 적용되는 저작권 파일의 라이센스를 자동으로 확인하는 방법이 있습니까?
답변1
특정 바이너리(또는 바이너리 패키지)의 라이센스를 결정하는 일반적인 자동 방법은 없습니다. 귀하의 질문에는 후자와 관련된 것 같습니다. copyright
데비안과 함께 제공되는 문서에서는 다음과 같이 설명합니다.원천바이너리 패키지의 최종 라이센스가 아닌 패키지입니다. 이러한 File:
섹션은 바이너리의 파일이 아닌 소스 트리의 파일에 적용됩니다(따라서 .install
파일과 일치시키는 것은 도움이 되지 않습니다).
경우에 따라 바이너리 패키지의 라이선스가 자동으로 추론될 수 있습니다. 간단히 말해서 파일에 단일 라이선스가 있는 경우 copyright
해당 라이선스는 바이너리 패키지(및 그 안에 포함된 바이너리)에 정확하게 적용됩니다. 다른 라이센스를 적용할 때 적용되는 파일이 실제로 빌드에 포함되는지 여부를 확인해야 합니다. 이는 어느 정도 자동화될 수 있습니다. 테스트 없이 바이너리 전용 빌드를 수행하고 어떤 파일을 읽었는지, 어떤 라이센스가 적용되는지 확인할 수 있습니다. 이 libmodbus
경우 테스트 파일의 라이센스가 생성된 바이너리에 영향을 미치지 않을 가능성이 높지만 추가 분석 없이는 이를 보장할 수 없습니다(일부 프로젝트의 기본 코드에서 "테스트" 코드를 사용하는 것을 본 적이 있습니다) .