web-dev-qa-db-ja.com

各コードファイルにライセンスを入れますか?

各コードファイルに含めると不必要に複製されますが、ほとんどのオープンソースプロジェクトで見られます。同じことをするべきですか、それともコードの外側に単一のライセンスを含めるべきですか?

89
Joan Venge

コード外の単一のものをお願いします!私は他の人については知りませんが、すべてのファイルの上に同じものを見ることは嫌いです。

Page_down-ingするだけで何度か読んだと思います。

71
Rook

いいえ、各ソースコードファイルにライセンスを入れる必要はありません。

よく見ると、ほとんどのFOSSアプリケーションもそれをしていません。彼らは、各ファイルの上部に著作権声明と、そのファイルがどのライセンスの下にあり、どこでライセンスの全文を見つけることができるかを示す短い文を置きます。通常、ライセンスの全文を含むCOPYINGまたはLICENSEファイル、および/または全文を含むWebサイト(COPYINGファイルがもうない場合)を指し示します。

マイケル・ボルグワードが答えで言ったように、合法的にこれをする必要はありません。しかし、誰がすぐに誰が著作権を持ち、ライセンスが何であるかを見ることができるので、ソースコードを配布することをお勧めします。

14
Sander Marechal

ライセンスに依存する場合があります。 GPLはpreamblelicenseを区別します。 (迷惑な)プリアンブルはコードの一部でなければならないことを明確に述べています

スペースを節約するために、GPLの前文や、独自のプログラムでGPLを使用する方法の説明を省略できますか?

プリアンブルと手順はGNU GPLの不可欠な部分であり、省略できません。実際、GPLは著作権で保護されており、そのライセンスではGPL全体の逐語的なコピーのみが許可されています。別のライセンスを作成するための法的条件。ただし、GNU GPL。)(1)

ソース:1) http://www.gnu.org/licenses/gpl-faq.html#GPLOmitPreamble

http://softwarefreedom.org/resources/2012/ManagingCopyrightInformation.html も参照してください。

ifrOSSからの無料の電子ブック は、ドイツ語でGPL 2を説明し、コメントしています。 GPL 3のもう1つ があります

根拠のある回答を得るには、sxでは利用できない法的アドバイスを求める必要があります。 (オープンソース)プロジェクトの弁護士が見つからない場合は、 FSFEリーガルネットワーク をご覧ください。

12
Jonas Stein

それを各ファイルに入れる理由は合法だと思います。合意が各ファイルにある場合、ライセンスにさらされずに誰かがコードを偶然見つけることはありません。

それは良いものではないかもしれませんが、すべての大きな男の子はそれを使用します。

GPLを使用している場合、これはより大きな問題ですが、BSDやMITなどのパブリックドメインライセンスを使用している場合、とにかく人々がコードで何をしているのか気にしないと思います。私はそれがあなたのライセンスがどれくらい厳しいかに依存すると思います。

7
Kekoa

IANAL、

EULAではなくライセンスについて話していると仮定すると、ライセンスを外部に置くことができます。これはほとんどの場合、GPLなどの非常に長いライセンスで行われます。すべてのファイルにGPLライセンス全体を入れるのはばかげているでしょう。通常、実際のライセンスをどこで見つけることができるかを示す何らかの通知があります。これは完全に合法です。ただし、BSD/Apache/MIT/whateverなどの非常に短いライセンスでは、ライセンスを見つける場所を示す通知はライセンス自体とほぼ同じになるため、すべてのファイルにライセンスを含める方が簡単です。

3
Zifre

それは、ライセンスが指示するものに依存します。たとえば、GPLは、すべてのソースファイルに短い通知を入れ、ソース配布物のどこかにライセンス全体を含め、バイナリ配布物のコピーを入手した人がソース配布物を利用できるようにすることを指示します。

あなたがこれに同意せず、それがあなたのコードである場合、より快適なライセンスを選択するか、独自のライセンスを作成することができます。

2
Mark Jones

私がしているのは、会社名、最終改訂日、ソースファイルが持っているライセンスの名前を記載した2行のコメントをファイルの一番上に置き、ファイルの一番下に短いバージョンのライセンス。

もちろん、フルライセンス(複数のライセンスの場合はすべて)は常にソースファイルとリリースディレクトリに含まれています。

1
GaiusSensei

コードをコンパイルしてバイナリを配布するだけであれば、それは実際には問題ではありません。バイナリを作成すると、コンパイルプロセスが実行される前にコメントが削除されるためです。実際のソースコードをオープンソースまたはクローズドソースのいずれかで配布する場合にのみ重要です。これは、コンパイルしないスクリプト言語でアプリケーションを配布する場合に一般的に重要です。

1
adimitri

ライセンスには必要ありません。1つの外部ファイルで、対象ファイルが明確である限り機能します。

ただし、著作権の場合、すべてのテキストに著作権表示が必要です。

1
James Anderson