「オープンソース」が「マイソース」になることはありますか?


8

必要な機能を備えたオープンソースコードをダウンロードしようとしても、必要なオプションや必要な機能がほとんどない場合...そして、ベースコードはまだオープンソースプロジェクトから残っていますが、多くが変更され、多くが追加されました...そのコードは「オープンソース」ではなく「マイソース」になりますか?

編集:

ところで、私は実際にはプロジェクトを考えていません。これは一般的な用語にすぎません-したがって、ライセンスはわかりません。この質問は、自分が改善できるプロジェクトを目にしたとき、たまに気になってしまいます...


6
短い答えですが、すべては使用するライセンスによって異なります。どのライセンスが必要ですか?
ボブ

7
それが合法的に「あなたの」ソースになることができるかどうかは、ライセンスに依存します。しかし、「オープンソース」は本当に「みんなのソース」なので、そのように見れば、それはすでにあなたのものです!:D
ライアンヘイズ

「オープンソース」と「マイソース」とはどういう意味ですか?OSI認定ライセンスに基づいてソフトウェアを取得し、それを変更し、どのライセンスをどのライセンスでリリースするかを完全に制御したい場合、それはライセンスに依存します。Gnu GPLでは、変更をGPLでリリースする必要がありますが、BSDスタイルのライセンスではリリースされません。
David Thornley、2011年

@DavidThornley「オープンソース」とは、オープンソースと見なされるダウンロードで見つけられるものを意味し、「マイソース」とは、「マイン」として公開したり、「マイン」として販売したりできるものを意味します。
バリーフランクリン

@Barry:あなたが説明する言葉に「オープンソース」のようなものはありません。各プロジェクトには、特定のライセンスが提供されています。ただし、通常は引き続きオープンソースコードを販売できます(詳細はライセンスによって異なります)。ソースも自由に提供する必要があります(詳細はライセンスによって異なります)。その例としてRedHatを見てください。
マーティンヨーク

回答:


15

オープンソースのコードを扱うときに学ぶ必要のあることがいくつかあります。まず、このウィキペディアリンクにアクセスして、オープンソースの概要をご覧ください。

次に考慮すべきことは、扱っているオープンソースライセンスです。すべてのオープンソースライセンスが、実現しようとしていることを実行できるわけではありません。ライセンスの詳細については、vist Opensource licenseを参照してください。コードのライセンスをこのリンクにあるものと一致させ、使用しているコードで何ができるかを学びます。


1
+1あなたの答えは私のものと同じですが、より優れています:)
SoylentGray

ライセンスの問題ではありません。コードへのアクセスがライセンスを介している場合は、コードの所有者からのライセンスを持っています。つまり、コードを所有していないことになります。
マイケルショー

1
@Ptolemy:BSDライセンスのコードを入手してプロジェクトに組み込んだ場合、全体の著作権はありません。私は自分が好きなライセンスですべてを解放し、違反者を訴える能力を持っています。それは私のためにコードを所有するのに十分近いものです。
David Thornley、2011年

では、これらのコード行が競合他社の製品でも使用されていることが判明した場合、著作権の侵害で訴訟を起こすことができますか?これは、単なるライセンシーではなく、コードを所有する真のテストです
Michael Shaw

@davidthornley私もそれに同意します...それも私にとって十分に近いでしょう。
バリーフランクリン

2

つまり、いいえ。

あなたが説明しているのは、単純明快な派生作品です。追加したコードは99.9%になる可能性がありますが、他のコードから派生したものであるため、元のコードの著作権とライセンスを尊重する必要があります。

他にどのようなオプションがありますか?

Can you look at that code, see how it works and then write your own version from scratch?

これはそれほど明確ではありません。ただし、著作権を侵害するリスクはまだあります。コードをそのままコピーすると、違反になります。コードをカットアンドペーストして変数の名前を変更した場合などは、違反です。特定の問題を解決するためにテクニックをコピーし、新しいコードを書いている場合、それは著作権の侵害です。

コードを見て、それがその関数の使用方法であると考え、2行のコードをそのままコピーせずに独自のプログラムをゼロから作成する場合は、おそらくコードの所有者です。

To be 100% sure of owning my code, what doctor need to do?

重要なのは、そもそも著作権侵害のリスクを回避することです。例として著作権で保護されたコードを見ないでください。そのため、他の誰か(あなたの雇用主など)があなたのコードについて主張できる可能性がある場合は、コードを記述しないでください。ソース管理を使用して、コードへの定期的な変更をログに記録します。(これは、あなたがそれを書いたことを証明し、大規模にコピーするのではなく、コード開発を示しています)。そして、受信者が現在コードを所有していると信じる理由がある環境でコードを再利用しないでください。

So why is everyone else talking about licenses?

インターネットで入手できるコードのほとんどは、ライセンスに基づいて入手できます。そのライセンスにより、コード所有者が選択した条件でそのコードにアクセスできます。そのコードの使用方法、コードの権利と権利はソフトウェアライセンスで定義されており、派生物を作成し、利益を得るために販売し、誰にもソースコードを提供する必要がない場合があります。同様にそうではないかもしれません。それはすべてライセンス条項に依存します。ただし、他の誰かが元のコードの著作権を所有しており、競合他社に同じコードのライセンスを付与することを禁止することはできません。


1
あなたはいくつかの良い質問を持ち出しました...私はあなたがどこからでもテクニックをコピーしたと誰がどのように言うことができるのだろうと思います-実際にはあまりにも多くのユニークなテクニックはありません。そして、誰もがどこかからコーディングを学ぶ必要がありました-誰かのコードから何かを行う方法を学ぶことと、それをリッピングすることとの関係はどこにあるのだろうと思います。
バリーフランクリン

非常に明確なラインがあります。一部の人の意図はあなたにテクニックを教えることであり、それからあなたは自分のコードでそのアプローチを非常に安全に使うことができます。コードをコピーした場合、それはコピーされたコードであり、作成したり、現在の所有者から著作権の所有権を取得したりしていません
Michael Shaw

1
しかし、ボブが私に何かを教えてから、ボブがジョーに同じことを教え、ジョーがロンに教え、ロンがビルに教えたら、どうなるでしょうか?ビルも私もどちらもボブから同じことを学んだことを知らないかもしれません...ボブは誰でも、何でも(ウェブサイトや本など)である可能性があります。ビルが私が彼と同じ方法でそれを学ばなかったことを証明できない場合、ビルはどのように私が彼のコードを盗んだと言うことができますか?学んだことを証明できない場合、どうすれば自分を守ることができますか?ボブは私、ビル、ジョー、ロンが書いたすべてのコードの所有者ですか?
バリーフランクリン

1
環境によっては、著作権侵害の可能性の認識さえも害を及ぼす可能性があります。マイクロソフトは数年前にsco linuxの著作権主張を使用してWindows CEの販売を促進しました
Michael Shaw

こんにちはバリー、あなたの例では、コードの著作権は、コードを書いた各人が所有します。彼らはそれぞれ同じアプローチを使用して独立してコードを作成しました。彼らはそれぞれ、これらのコード行の著作権を所有しており、誰かが特定の行をコピーしたことを証明できれば、著作権侵害に対する補償を請求できます。
マイケルショー

1

オープンソースプロジェクトが使用しているライセンスに依存します。GPLライセンスの場合、バイナリまたはソースを公開する予定がある場合は、GPL準拠のライセンスを使用する必要があります。つまり、コードが完全に自分のものになることはありません。

ライセンスがFree-As-In-Free-Beerライセンスである場合、特に明記されていない限り、それを使用して何でも好きなことができ、おそらくコードとしてもリリースできます。


2
非常に寛容なライセンスでコードを取得する場合でも、それはまだあなたはそれで(ほとんど)何もやってライセンスされている、あなたではない
JKを。

0

他の人がすでにNOと説明しているように、少なくとも私が知っている標準のGPLではないので、死んだ馬を倒すつもりはありません。

このオープンソースプロジェクトが不足していて、問題のGPLプロジェクトのバイナリを使用し、不足している動作を補う独自の動作を提供する完全に別のプロジェクトを開始すると、その別のプロジェクトがあなたのソースになります。

たとえば、「Bamboozleという名前のCrappy LGPLプロジェクトはウィジェットを作成するのは得意ですが、最初にRoughArgsを前処理しません。通常のOR RoughArgsを渡してウィジェットを吐き出すFlamboozleと呼ばれる独自の製品を作成します。Bamboozleを使用するシーンの背後では、 、しかしそれに加えて何か他のことを行い、それがあなたが販売しているものです。

これは、ライセンス契約に明示的に違反していないことを前提として完全に合法であり、一般的なLGPLでは、Flamboozleのすべての配布されたコピーにBamboozleライセンス契約を含める限り長くはありません。


オープンソースライセンスは数多くあります。GPLとLGPLは、ライセンスの海域に2つしかありません。
ブライアンオークレー
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.