単体テストのライセンスを取得するのは理にかなっていますか?


12

ほとんどが単体テストで構成されているテストコードにライセンスを付与する(しない)ことの利点/リスクがあるかどうか疑問に思っています。どう思いますか?

特に、(L)GPL、Apache、MIT、およびBSDでのライセンスに興味があります。

編集:非テストコードは既に何らかのライセンスの下で公開されているが、テストコードは公開されていないことを前提としているため、公開するかどうか、公開する場合は同じライセンスを適用するかどうかが問題になります。


テストは、そもそも著作権やライセンスの対象ではない事実/データとはみなされないでしょうか?それはだAPIをコピーするには、法的、と私はそれが実装が正しいことを確認するためにも同じテストを使用することは合法だと思うでしょうか?
エンドリス

回答:


10

誰もこれについて言及していないことに驚いていますが、製品またはテストコードに関係なく、コードにライセンスを添付しない場合、他の人はコードに対する権利を持ちません

ライセンスコードとは、他の人が通常持っていない権利を他の人に与えることです。著作権表示を明示的に添付しなくても、テストコードは自動的に著作権で保護されます(世界中のほとんどの国で)。他の人は著作権で保護されているため、そのコードを使用、配布、または派生させることはできません。

テストコードにライセンスを添付することにより、ライセンス条項に従ってそのコードを使用、配布、および/または変更する権利を人々に付与します。

同じライセンスの下で、製品コードとともにテストコードを配布することをお勧めします。これは誰にとっても最も簡単です。また、人々があなたにパッチを提出したい場合、彼らはあなたにパッチを送る前にあなたのユニットテストを実行できることを意味します。


15

商業の世界では、ほとんどの企業はコア製品だけでなくサポートにも課金します。ほとんどの場合、サポートには、製品を使用可能にしたり、製品に関連する問題を解決したりするための、ツールまたは個人的な支援によるあらゆる形態の支援が含まれます。

このトークンにより、製品をテストするためのコードはサポートツールと同等の資格を持ち、それ自体が知的財産です。そのため、独自のライセンスに値します。


9

なぜコードとテストを分離するのですか?

コードとテストのバンドルが好きです。そして、このバンドルには同じライセンスが必要です。

誰かが2倍のお金を手に入れたい場合は、2つのパッケージを作成できます。それぞれにライセンスがあります。フリーソフトウェアの場合、2つのパッケージの理由はありません(サイズの問題でない限り)。


6

このテストコードには、特定の環境でソリューションが機能するかどうかをユーザーが確認できるため、多くの価値があります。私の仕事(組み込みソフトウェア)では、テストスイートは契約の一部です。使用方法は似ているため、同じライセンスで公開する必要があります。

  • 誰かがあなたのコードを使うだけなら、彼はテストを実行します

  • 誰かがコードを変更したい場合、おそらくいくつかのテストも変更する必要があります


2

ただし、IANAL:

  1. GPLの下でコードのライセンスを取得している場合、事実上、メインコードなしではユニットテストもGPLになります。
  2. Apache / BSDを使用している場合は、「USE AT YOUR OWN RISN RISK」条項。ライセンスファイルをプロジェクト全体で平手打ちし、ユーザーにコード用かテストコード用かを判断させます。
  3. 商用ライセンスを使用し、コードへのアクセスを制限する場合、最初にテストを公開するのはなぜですか?確認したい場合は、「テストコードを読むことで、あなたはここに自分の目を測定することに同意します」ライセンスを入力すれば、準備完了です。

1

GCCのコンパイラ(主にGPLv3のがライセンス)は、ソースコードと一緒に配布され、非常に広範囲のテストスイートを、有しています。(おそらく、いくつかのテストファイルはパブリックドメインにありますが、個々の法的ステータスは本当にわかりません)。

テストスイートを製品とは別に配布するのはなぜですか?


0

それは可能なビジネスモデルかもしれないので、プログラムをフリーソフトウェア(GPLまたは何でも)としてリリースしますが、関連するユニットテストは商用ライセンスの下でテストします。そうすることで、誰かがあなたのソフトウェアの改善されたバージョン(例えば、デバイスに埋め込まれた)をリリースしたい場合、より迅速で安全な開発のためにユニットテストライセンスを購入する動機があります。


0

単体テストがうまくできていれば、ソフトウェアを再現するための青写真になります。コードと同等のライセンスを取得していない場合は、誰かがやって来て、何をしたとしても再実装するように招待しています。あなたがそれで大丈夫なら、それらのライセンスをわざわざしないでください。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.