インターフェイスとメソッドシグネチャの著作権は保護されていますか?


12

たとえば、Microsoftの.Net System.Randomクラスとまったく同じ目的とメソッドシグネチャを持つRandomというクラスを記述すると、著作権侵害になりますか?どの言語で書かれているかで違いはありますか?この場合、ActionScriptで使用するRandomクラスを作成します。これには、組み込みのシードされたPRNGクラスがありません。

誰もがソフトウェアのどの側面が保護されているかを理解するための良いリンクまたは参照提案を持っている場合、それも素晴らしいです。そして、はい、これは「本当の」法的助言の場所ではないことを知っています。公の掲示板を優越として指し示すために誰かが法廷に行く場合-彼らへの恥。


3
メソッドのシグネチャ、インターフェイス、変数名などは、著作権やライセンスによって保護されていません。
アダムリア

回答:


11

MonoとDotnetの関係を見れば、この質問に答えられると思います。Monoチームはメソッド定義またはパブリックインターフェイスを使用できますが、内部を再実装する必要があります。ただし、Android v Oracleのケースでは、この明確な区別を少し​​曖昧にする他のいくつかのポイントを取り上げます。AvOの場合、法廷に持ち込まれているポイントのほとんどはVMに関連する特許であり、ライブラリインターフェイスは争点ではありませんでした。強調表示されている唯一のコードは、内部がコピーされているように見える例です。


7
+1 Monoと.Netの優れた点。関連する概念では、ゲームのルールを著作権で保護することはできません。Tetrisクローンは、Tetrisと呼ばれず、Tetrisの正式にライセンスされた製品とあまり似ていない限り、合法です。

.NETとJavaの主な関連する違いは、(ほとんどの).NETがECMA標準であることだと思いました。
Foole

@Foole:Java スクリプトとActionScriptの両方は、正式なECMAScript仕様(ECMA-262、-290、-327、および-357)に

4

データベーススキームについても同様の質問がありました。競合他社のデータベーススキーマをコピーしますか?そこで、スキーマ全体をコピーすることは、コピーの規模にもよりますが、おそらく裁判官が認める著作権侵害になると答えました。

あなたの質問が似ていても、正反対に答えます。メソッドの署名コピーできます。どうして?

実際、メソッドシグネチャは常識に基づいています。

  • 第一に、極端な例を挙げると、Microsoftは名前の著作権Randomを認めることができずRandom、アプリケーションでこの単語を使用するすべての人を訴えます。

  • 第二に、あなたは正確に何をしようとしていますか?.NET Frameworkを再実装しますか?どうして?車輪再発明する必要はありません。より良い方法、より直感的な方法などを知っている場合、クラスやメソッドのより良い名前、より良い組織などが見つかる可能性があります。.NETFrameworkの構造をコピーして別の構造に移植しようとすると言語、あなたはマイクロソフトの直接の競争相手でない、したがって、彼らはあなたを訴える重大な理由はありません(これは言われています、あなたはソースコード自体をコピーすると彼らはあなたを訴えます)。実際、それらはあなたからも恩恵を受けるでしょう:そのような構造を他のフレームワークにコピーすると、.NET Frameworkの成功を示すだけでなく、.NET開発者が他の言語で作業しやすくなり、他の言語の開発者が学習しやすくなります。ネット。

  • 第三に、.NET Frameworkのメソッドとクラスの名前をコピーするすべての人を訴えるよりも、真剣にやることがあります。

現在、.NET Framework全体をコピーし、多くの開発者が使用する製品を作成することを目的としている場合は、リスクを取る前に弁護士に相談してください。


例:

.NET Frameworkのファイルパスでの259文字という制限の恥ずかしさと、ファイルレベルでコードトランザクションを使用できないことに、私はまったく不満でした。そのFileため、小さなパスだけでなく、どのパスでも期待どおりに機能するメソッドを使用して独自のクラスを実装し、トランザクションを実装しました。最初のバージョンでは、FileDirectoryクラスのメソッドの名前を複製することにしました。マイクロソフトはそれを行ったとして私を訴えますか?疑わしい。

いずれの場合も、2番目のバージョンでは、新しい構文を使用しましたnew File(string fileName)これは、はるかに直感的です。メソッドの名前を複製することは有用な場合がありますが、それを行うには正当な理由が必要です。


.NET Framework全体をコピーすることを目的とする場合...間違いなく、間違いではありません!Flashゲームで使用するためにシードできるPRNGが本当に欲しいだけです。私は.Net Randomクラスのメソッドが好きで、この質問に出くわしたときに同じ署名を使用して簡単なラッパーを作成しようとしていました。ドアベルの設計をめぐる建築家の訴訟のために家を失うのはうんざりだろう...厄介な例えをするために。

System.Random8つのメソッド(5つのメソッドと3つのオーバーロード、1つのメソッドprotected)が含まれています。これらの名前を複製しても大丈夫だと思います。Microsoftからこれらの名前を実際に悪意を持ってコピーしたことを証明するのは難しいでしょう。
アルセニムルゼンコ

4

著作権保護は、技術的な形式ではなく、作品の「芸術的表現」を保護します(ウィキペディアを引用)。

著作権保護は事実を保護しません

質問は、APIまたはインターフェイスが「事実」または芸術的表現になりますか?乱数とさまざまな種類の乱数を取得する方法のリストにすぎない単純なAPIの場合、APIはおそらく事実に近いでしょう。しかし、非常に洗練されたインターフェースがあることを見ることができました(一瞬じっと見つめてから「ああ!それは印象的です」と言います)は、保護に値する「芸術的表現」と考えることができます。

これは、OracleとGoogleがAPIの著作権をめぐって争っている最近の記事です。

私は弁護士ではありません。この投稿は法的助言として解釈されるべきではありません。免責事項を書くことすらできません。


0

純粋に機能的な側面を取ることはできますが、表現的な側面を取ることはできません。クラス名、メソッド名、およびシグネチャは純粋に機能的です。相互運用するにはそれらが必要です。パラメーター名とヘッダーマクロは表現力があると見なすことができます。たとえば、Windowsの独占禁止法の場合、Microsoftは競合他社がWindows APIを複製し、Windowsアプリケーションを実行する独自のプラットフォームを作成することを妨げるものは何もないと主張しました。


Windows APIに関する良い点。WINEを入力します。

Reflectionを含むJavaや.NETのようなプラットフォーム(または、他のものと呼ばれるものを見つける他の同様の手段)では、パラメーター名も機能的な側面と考えることができます。
-supercat
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.