複数のバイナリが同じ著作権ファイルを共有する場合、正しいライセンスを探す

複数のバイナリが同じ著作権ファイルを共有する場合、正しいライセンスを探す

Debianディストリビューションにインストールされているパッケージのライセンスのリストを自動的に取得しようとしています。/usr/share/doc/いくつかの質問に対する回答で説明されているように、著作権ファイルをスキャンしてこれを実行しました。これそしてこれ

ところで、パッケージには別々にインストールされるバイナリがいくつか含まれていますが、同じ著作権ファイルを共有する状況をどのように処理するのかわかりません。この場合、著作権ファイルには他の内容が含まれます。ファイルセクションただし、デバイスにどのファイルがインストールされているのか、どのパッケージがそのファイルをインストールしているのかは不明です。

たとえば、libmodbusの例があります。 Debianトラッカーによると、libmodbusは2つのバイナリを含むパッケージです:libmodbus5libmodbus-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+。ただし、そのファイルがインストールされているかどうか、ライセンスがマイインストールに適用されるかどうかはわかりません。

これらのファイルが自分のデバイスにインストールされていることを確認するために考えられる唯一の方法は、インストール記述子を確認することです。コードストア、Debianトラッカーに接続されています。ただし、このアプローチは自動化された方法から離れており、パッケージ内のすべてのバイナリのインストール記述子を見つけるのは簡単ではありません。

デバイスにインストールされているバイナリに適用される著作権ファイルのライセンスを自動的に確認する方法はありますか?

答え1

特定のバイナリ(またはバイナリパッケージ)のライセンスを決定する一般的な自動方法はありません。あなたの質問は後者に関連しているようです。copyrightDebian に付属のドキュメントでは、次のように説明します。源泉バイナリパッケージの最終ライセンスではなくパッケージです。これらのFile:セクションは、バイナリのファイルではなくソースツリーのファイルに適用されます(したがって.installファイルと一致させることは役に立ちません)。

場合によっては、バイナリパッケージのライセンスが自動的に推論されることがあります。簡単に言えば、ファイルに単一のライセンスがある場合、copyrightそのライセンスはバイナリパッケージ(およびその中に含まれるバイナリ)に正確に適用されます。他のライセンスを適用する場合は、適用されるファイルが実際にビルドに含まれているかどうかを確認する必要があります。これはある程度自動化できます。テストなしでバイナリ専用ビルドを実行し、どのファイルを読み取ったのか、どのライセンスが適用されているのかを確認できます。このlibmodbus場合、テストファイルのライセンスが生成されたバイナリに影響を及ぼさない可能性がありますが、それ以上の分析がなければこれを保証することはできません(一部のプロジェクトの基本コードで「テスト」コードを使用することを見たことがあります)。

関連情報