オンラインでサポートを受けた場合、これを自分のプロジェクトとして正当に主張できますか?[閉まっている]


9

基本的に、Pythonでのネットワークプログラミングは初めてなので、オンラインでチュートリアルを調べてみました。チュートリアルで説明した内容(ソケットの作成、ポートへの接続など)を使用して、2つのコンピューターが互いにメッセージを送信できるプログラムを作成するようにコードを変更しました。

私が仕事に応募して面接担当者にこれを見せたとしたら、そのコードは技術的に私のものでしょうか?コードをそれほど変更しなかったと言っても過言ではありません。しかし、たとえば、2人のユーザーが異なるPCから互いにプレイする三目並べゲームのようなものに変更した場合、コードは私のものになりますか?私は盗作者のようになりたくないので、なぜ私は尋ねるのですか?


9
ロバートは正しいですが、はっきりさせておきます。これは否定的なことではありません。「私は最初のPythonチュートリアルのコードから始めて、これをこれに変えました!」...ジョブの観点からは、これはゼロから始めた場合と同等かそれ以上に優れていると見なすことができます。他の人のコードから始めた場合、つまり、拡張、リファクタリング、転用などに加えて、他のコードを読むことができます。「自分の」何かを持っていることは、ほとんどの仕事にとって大きな焦点ではありません。何から始めたか、それから作ったものを彼らに示すことができます。
BrianH 2013年

どのくらいのコードを追加または削除しましたか?チュートリアルの100行のコードから始めて、110行ある場合-おそらくそうではありません。あなたが1000行持っているなら、そうです、それはあなたがそれらをどうやって手に入れたのか、そしてどこで助けを得たのかについて話してください。(はい、コード行は優れたメトリックではないことを知っていますが、それはアイデアを与える可能性があります)。

1
プログラマーにとって主題外の倫理的な質問に関するものであるため、この質問を主題外として閉じることに投票します。
durron597 2015

回答:


11

番号。

しかし、2台のコンピューターが互いにメッセージを送信できるプログラムを作成するようにコードを変更したと主張できます。または、2人のユーザーが異なるPCから互いにプレイする三目並べゲームのようなものに変更したと主張することもできます。

あなたがそれに投入した仕事の量を正直に表現してください。他の人が作業の一部を行った場合、インターネット上の特定のプロジェクトの所有権を主張することはできません。


1

私は古典的なライン「それは依存する」と行きます。

あなたはそれをあまり変更しなかったと既に言ったように、私は完全にロバーツ側にいます。それはあなたのプロジェクトではありません。

しかし、反対に、私たちの開発者は皆、プロジェクトについて話し合い、調査し、時にはコピーアンドペーストすることを好みます。他の人々のコードをいじり回すことはかなり一般的です。大幅に変更する場合は、問題に新しい機能や別のアプローチを提供するなど、工夫を凝らしてコードを作成します。

あなたが本当に自分で行った仕事の量についての真実に固執するだけで、誰もあなたを盗作者と呼ぶことはないと確信しています。


1

あなたがしたことが誰かのコードをあなたがやりたいことをするように修正することだったら、あなたのコードが「あなたのもの」であると主張するのは不誠実でしょう。むしろ、既存のコードに基づいて作成したプログラムです。

これで、多くのプログラマーが他の人々のコードを使用していることに気づいたかもしれません。いつも。ライブラリとAPIは、基本的には、誰かが自分のプロジェクトで作成したコードを使用する正式な方法です。ライブラリやAPIを使用することと同じではありませんが、同じ効果があります。

単純なP2Pプログラムの場合、単純なWebプロトコルの別のプログラマー実装を利用するメッセージングアプリケーションを作成したと主張できます。あなたは先に進んでそれをあなたのプログラムと呼ぶことができます、あなたは借りた部分を書いた人に信用を与えるべきです。そして、ソースを引用するコードにコメントを追加するのが最善です。そうすれば、他の人が必要に応じてそれを見つけることができます。

そして、ゲームの場合、あなたはゲームを書きました。これをコードとして主張できます。このゲームでは、別のソースから取得した一連の機能を利用して、マルチプレイヤー機能を有効にします。繰り返しになりますが、少なくともコード内のコメントにそのコードのソースを配置する必要があります。ただし、この状況では、実際にゲームを作成したので、コードの外部に他の人に明示的にこれを伝えないで済むでしょう。

多くの開発者は、直面するより複雑な問題のいくつかを処理するためにライブラリに依存しています。ネットワークプロトコル、グラフィックス、高度な数学な​​どは多くの人が使用しているため、これらのすべてのことを行うライブラリはさまざまです。この種のコードを使用することは、完全に受け入れられるだけでなく、正常です。

「これはIMクライアントです」または「これはビデオゲームです」と言った場合、ネットワークコードがサードパーティからのものであるとしても、誰も驚かないでしょう。あなたがコードのすべての部分の唯一の作者であると主張しないでください、あなたは大丈夫です。

ただし、別の可能性を検討する必要があります。問題のコードは使用条件によって保護されていますか?この時点まで、私は、条件なしで、または非常にオープンな条件で利用可能になるコードについて話していました。ただし、作者がより具体的な用語を持っている場合は、それらに従ってください。彼らがコードを教育目的のみで使用することを意図している場合は、それを超えてそれを使用することはできません。それらがそのコードに課す可能性のあるあらゆる種類の制限があるため、コードの使用方法に注意してください。


最後の段落を除いて、これは完全にポイントの外です。ライブラリを介したコードの再利用は、(倫理的および合法的に)コピー&ペーストを介したコードの再利用とはかなり異なります。
2013年

本質的には、コンパイラはとにかく単にコピー/貼り付けしているだけなので、そうではありません。実際には違いはありません。結局、それらはプロセッサコマンドのシーケンスにすぎません。「倫理的および法的に」という限りでは、これが私の最後の段落です。オリジナルの作成者がコードの使用に問題がなければ、基本的にライブラリを使用するのと同じです。
zeel 2013年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.