web-dev-qa-db-ja.com

1つの関数で使用する場合、ライブラリの著作権/ライセンスを含めるにはどうすればよいですか?

1つの関数で使用する場合、ライブラリの著作権/ライセンスを含めるにはどうすればよいですか?

別のライブラリから1つの関数を取得しているクラスがある場合は次のようになります。

class MyClass {
    ...
    public function someOtherLibrariesFunction() {}
}

そして、ファイルの先頭にある関数を取得すると、次のようになります。

/*
 * This file is part of the Other Library package.
 *
 * (c) James Smith <[email protected]>
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

そして、LICENSEファイル:

Copyright (c) 2004-2013 James Smith

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is furnished
to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

...standard as is warranty...

したがって、私の理解では、コードにLICENSEファイルのコピーを含める必要があります。また、それが適用される正確な関数をどういうわけか指摘しますか?

2
Petah

「LICENSE_CodeFile_Function.txt」のようなファイルを含め、関数の上のコメントとして、「この関数は.....からのものであり、Copyright(c)2004-2013 James Smith .. ..ライセンスをご覧ください.....」

一般に、ディストリビューションにライセンスを含め、コードをどこから取得したか、誰がコードを所有しているかなどについて非常に明確である限り、つまり、自分のものとしてそれを渡そうとしない限り、問題はありません。

もちろん、同じライセンスの下でコードベース全体をリリースする必要があるGPLのようなライセンスの場合、それは少し異なります。

1
guysherman

私は同様の状況に対処しなければなりませんでした、そしてこれは私がそれを解決した方法です:

  • 私のファイルの先頭に、not標準の著作権表示を入れましたが、関数に含まれているという通知には異なる著作権が含まれていました。
  • 各関数の実装の前に、that関数に関する著作権表示を付けました。

私の場合、ファイルにはほんの一握りの関数しかなく、そのうちの2つは他の場所からコピーされました。独自のコードと外部コードの比率が異なる場合は、このわずかに異なるソリューションを使用することもできます(これは、外部コードのライセンスでサブライセンスが許可されているために可能です)。

  • ファイルの上部で、標準の著作権表示を補強して、一部の関数に追加の著作権があることを明確にします。
  • 外部関数の前に、元の関数に付属のLICENSEファイルのテキストを含むその関数の著作権表示を配置します。 LICENSEファイル自体は、コード内の関連する場所で既に複製されているため、ディストリビューションに含める必要はありません。