web-dev-qa-db-ja.com

他のプログラマーのアルゴリズムを採用することは倫理的ですか?

オリジナルの作成であったインターネットフォーラムで、2進数の平方根(実際のシナリオの簡略化)を計算するまったく新しいアルゴリズムを見つけたと想像してください。

私がそのアルゴリズムを私の将来のプロジェクトに採用することは倫理的ですか、それとも盗作ですか?アルゴリズムを開発したプログラマーに連絡して許可を求める必要がありますか?連絡が取れない場合はどうなりますか?私が使用することが倫理的である場合、ソースコードはどうですか?アルゴリズムを私の伝統的なプログラミングスタイルで書き直す必要がありますか、それとも単にコピーして貼り付けるよりも悪いですか?アルゴリズムのソースコードが非常に適切で、変更する余地がない場合はどうなりますか?

6
Drew

私は弁護士ではありませんが...

あなたはいくつかの問題を融合させています。だから、それらをばらばらにしてみましょう。

別のコンテキストで再利用される十分なサイズ(数行以上?)のコードに適用される著作権があります。ここでは、コードの著作権ライセンスを遵守する必要があります。これは、禁止から許可までさまざまです。オープンソースは一般に使用を許可し、多くの場合、著作権、属性を伝達する必要があり、おそらくは作品もオープンソースにする必要があります。著作権に基づいてコードを再利用する場合、ライセンスに準拠している限り、必要に応じてコードを再フォーマットできます。あなたは著作権を尊重しなければなりません、そうでなければそれは単に非倫理的ではなく違法です。

著作権がニーズに合わない場合は、著作権者に連絡して、無料または有料で行われる可能性がある別のライセンスの許可を求めることができます。原則の所有者だけでなく、素材のすべての著作権所有者からそのような許可を得る必要があります。

コピー/貼り付けをする場合は、著作権について心配する必要があります。アルゴリズムを最初から書き直す場合は、単純に再入力する場合を除いて、それほど多くありません(IANALを思い出してください)。

著作権とは異なる、道徳的権利と呼ばれる権利の別のカテゴリがあります。盗作は、他の人が行った作業をもともとあなたが作成したものだと主張することは、これらの道徳的権利の違反です。これは間違いなく倫理違反ですが、法的な結果をもたらす可能性もあります。私たちはしばしば(ライセンス)著作権を割り当てますが、対照的に、人格権は(たとえあったとしても)簡単に譲渡されません。独占的な著作権を合法的に保持している誰かが元の著作権を主張できると想定するのは間違っています(著作権からそれを取得しません)。

他の誰かが公開したアルゴリズムの使用に関して、私は黄金律を使用します。自分が開発し、他の誰かがそれを使用した場合に信用したいアルゴリズムを使用していると感じた場合、またはそのように思われる場合著者が元々感じていれば、帰属は理にかなっています。一度属性を付けたら、必要に応じて修正したり、再フォーマットしたりできます。

最後に、アルゴリズムはさまざまな形で特許によって保護されます。アルゴリズム、数学、数式は特許を取得できないため、特許を取得したアルゴリズムは、通常、アルゴリズムを何かを実行するマシンと呼ぶ合法的なデバイスに組み込まれています。理想的には、特許を取得したアルゴリズムは、コード内にそのように文書化されますが、これは要件ではないため、これは問題の多い問題です。特許の状態を調査することのメリットがあるかどうかを自分で判断する必要があります。アルゴリズムを自分でゼロから開発したとしても、特許は問題になることに注意してください。知らない既存の特許がすでにカバーしている可能性があるためです。

盗作、道徳的権利、著作権についてウィキペディアを検索...

5
Erik Eidt

はい、そうです。

オンラインフォーラムで人々が他の人に伝える概念は、他の人が採用することを目的としています。同じアルゴリズムの再利用を禁止するための伝統も法的根拠もありません(著作権はアイデアの特定の表現のみを保護し、アイデア自体は保護せず、企業秘密のステータスは適用されず、アルゴリズムは特許を取得できません) )。それが非常に賢明で独自の新しい方法である場合、実装へのコメントで発明者を認めることは礼儀正しいと見なされますが、それ以上のことはありません。

アルゴリズムcan米国では特許が取得されていますが、制限は狭く、傾向はそれらをさらに制限する傾向にあるようです。それらはできません特許を受けています。ヨーロッパでは、そうするように強い政治的圧力があります。これは控えめに言っても、インターネット上の状況を不明確にします。実際にソフトウェア特許を追求して弁護する種類の俳優は、きちんとした新しいプログラムについてオンラインでチャットしている人物とはおそらく異なりますが、確信が持てません。

5
Kilian Foth

最初に、倫理とは何か法的とは何かを区別する必要があります。あなたは実際に何が倫理的であるかについて尋ねます。これは非常に主観的です!

私は、次のような幅広いコンセンサスがあると信じています。

  • 公開されているアイデアは誰でも自由に使用できます
  • 公開されているコードの小さなセクションは誰でも自由にコピーできます。
  • コードのより大きなセクションは、それらがあなたがそうすることを可能にする発信者によるライセンスまたは免責事項を持っている場合、そのままコピーすることができます。そうでない場合でも、アイデアやコードの小さな断片を盗むことができます。
  • 自分でアイデアを考案したり、実際にどこかからコピーしたコードを書いたりしたと主張してはいけません。それは盗作でしょう。しかし、出典があなたに要求しない限り、出典を明示的に引用する必要はありません。 (学術界では引用とソーシングの問題はもっと深刻ですが、これは学術出版ではなく、主流のプログラミングに関するものだと思います。)

しかし、倫理的なものと合法的なものはまったく異なります。たとえば、Microsoftはスタイルシートの技術を発明していませんが、その特許を取得しています。したがって、これは露骨な盗作ですが、それでもマイクロソフトは現在、この特許を合法的に所有しています。

0
JacquesB