web-dev-qa-db-ja.com

Ship of TheusがGPLに適用されました-すべての派生パーツを交換した場合、プログラムを再ライセンスできますか?

私はGPLv2 CプログラムをPython変換しましたが、設計どおりに拡張して重要な部分を書き直すのは難しいことがわかりましたそれの。現在、プログラムは構造的に完全に異なりますが、使用されている逐語的翻訳関数がいくつかあります。

テセウスパラドックスの船 (Wikipediaからの引用)は、「すべてのコンポーネントが置き換えられたオブジェクトが基本的に同じオブジェクトのままであるかどうかという問題を提起します。」

逐語的機能の代替を何とか書いた場合、自分が好むライセンスに再ライセンスできますか?

関連して、進化したアーキテクチャを引き出して別のライセンスで再利用できますか?それ自体は非常に有用だと思いますが、GPLライセンスで「汚染」されているという考えは好きではありません。

フォローアップ:私は著作権所有者に連絡することに決め、再ライセンスの許可を受け取りました 。時には最良の方法は、プログラムではなく社会的に相互作用することです!

101
Landon

最初に、答えはノーです(翻訳の場合)。それを合法的に再ライセンスしたり、元のライセンス合法性の範囲外で何かを行うことはできません。元の作者の10倍の仕事をしたことは十分ありますが、それは重要ではありません。 GPLであるというだけでなく、クリーンなデザインや書き換えではないからです。

古いMUDコードベースの大規模な書き換えを行った1992年に、私はこれに少し苦労しました。ゲームは成功しましたが、自分のしたいことをしたかったのですが、人々は喜んでお金を払ってくれましたが、 DikuMUD ライセンスでは、お金を稼ぐことは固く禁じられています。当時、競合他社も同じコードベースに基づいていたため、著作権を露骨に無視し、その痕跡をすべて取り除き、基本的には自分自身を含むすべての人に嘘をついていました。彼らの論理は「元のコードは存在せず」「大規模な書き直しと改善を行った」ものであり、一般に、20,000行のコードで始まったという事実を無視しています。彼らはゲーム内のアイテムに課金し、お金を稼ぎすぎて止められませんでした。

確かにうらやましかった。しかし、私は著作権法を調査し、良心に相談し、正直にゲームサーバーを一から構築しなかったため、自分が書いたコードさえ使用できないと判断しました。

それで、私は自分の口にお金を入れて、W。リチャードスティーブンのUNIXネットワークプログラミングのコピーを常にコピーしてゼロから書くことにしました。最初から書いて、私のやり方は、私がDikuMUDを書き直したときよりもはるかに多くのことを教えてくれました。また、誰かの肩の上に立つことが何を意味するのか本当に理解していませんでした。 6か月以内に50,000行の操作コードがあり、これを自分の名前と呼ぶことができました。私はそれにMUD ++という名前を付け、BSDでリリースしました。初期のスタイルのC++でひどく書かれていて、私が知っている最初の無料のオープンソースC++ MUDでした。今日まで、私からそれを奪うことはできません。当時、私は最高のTCP=サーバーを使用していました。他の誰もプレイヤーを落とさずに「ホットリブート」を行うことはできませんでした。すぐに誰もが機能を盗み始めました(そして私は多くのGPL MUDに私のBSDコードのスニペットがあることに気づきました-GPLがBSD-wareをハイジャックする方法は常に興味深いですが、その逆はありません。私の幸運のために儲けたり壊したりしますが、他の人たちはしばらくの間たくさんのお金を稼いでいましたが、最後に彼らが衰退していたように見えました、グラフィックゲームの世界ではもはやテキストに対する大量の需要はほとんどありません。

話は終わりません...数年後、私はIBMで働いていて、ディズニーはエプコットセンター用のリアルタイム3Dマルチプレイヤーゲームを書くように私たちを雇いました、そしてTCP =そのゲームサーバーのベースとしてのMUD ++のコア!自分のコードを所有していなかったとしたら、それを使用することは許されなかったでしょうし、正直に何週間ものコーディング時間を節約できました。最後に、私が行った選択と私は子供たちに伝える物語があります。

人々は、他の誰かのフレームワークから始めることの利点を過小評価し、過小評価しています。

「所有」していると思われる場合は、自分でテストしてください。 Python本をあなたのそばに置いて、最初からやり直してください。感じを見てください。古いコードベースをだまして見てはいけません。出力を見てください。あらゆる面から考えてみてください自分自身で、正直な調査を行います。あなたはそれのために良いでしょう、そしておそらくより良い製品を持っているでしょう。

ただし、その前に、元の作者に連絡してください。彼らがライセンスを再取得するかどうかを尋ねます。バイナリを販売する場合は、ロイヤリティを提供します。 90年代と2000年代にGPLをリリースした多くの著者は、現在30代、40代、50代であり、ソフトウェアで生計を立てることが何を意味するかを理解しています。私は、GPLからMIT、Apache、Boost、またはBSDにそれらのライセンスを再ライセンスしているのを見ました。

最後に、ライセンスは、あなたが持つかもしれないコードに対する以前の権利を無効にしません。または、クリーンなアドオンを個別に作成した場合、たとえば、TCPエンジンをシングルプレーヤーのテトリスゲームへのアドオンとして作成した場合、それは(特に以前に別のライセンスでリリースした場合)、他のプロジェクトでコードを再利用できます。作成者権限も持っています。

私の信念は無料です。文字列を添付する必要がある場合は、無料で呼び出さないでください。誰かが何年か後に私にメールして、主にTCPとおそらくバイトコードインタープリターで、私のゲームを商用エンジンで使用したと言いました。彼らはお金を稼いでいました。私は少し気にしませんでした。私は誇りに思っている父として、今も私は幸せでした。

95
codenheim

このシナリオは GPL FAQ でカバーされています:

GPLは、いくつかのコードを別のプログラミング言語に変換することについて何と言っていますか?

著作権法では、作品の翻訳は一種の修正と見なされます。したがって、GPLが変更されたバージョンについて言っていることは、翻訳されたバージョンにも適用されます。

31
Philipp

ライブラリ全体を最初から書き直したとしても、法的な精査に合格するかどうかは疑問です。 GPLライセンスライブラリでコードを見たので、コードは「汚染された」と見なされます。

この問題に対する標準的なアプローチは、「クリーンルーム実装」と呼ばれます。要件ドキュメントを作成し、他の誰か(GPLコードを見たことがない人)に実装してもらいます。

この質問も参照してください: ライセンスを変更するためのGPLコードの書き換え

誰かがきちんとそれをそこに置いたので、すべての情報が置き換えられたとしても、ハリー・ポッターの中国語の翻訳はまだ派生物です。

もちろん、GPLライセンスライブラリの書き換えをめぐって訴訟を起こす可能性(およびその低い確率に依存する道徳性)は、まったく異なる議論です。

元のコードに機能を追加する限り、これは派生作品のまさにその定義(の一部)です:adding元の作品に。追加した量や最初の作業がどれだけ小さかったかは関係ありません-それはまだ派生物です。

8
Sir Athos

観察:GPLは、あなたの作品をリリースした場合にのみ関係します。もうリリースしましたか?

観察:これは法律顧問のWebサイトではないため、その法的FUDをすべて破棄し、常識を適用してください。

意見:GPL、または任意のライセンス著作権の概念ではありません、それはソースコードを主張します。したがって、もしand if if ifあなたの「派生」作業は、オリジナルから派生したものとして識別できません。コードの構造を変更し、all機能を再実装したためです。クリーンルームの実装と区別がつかないので、すべての実用的な目的ではもはや派生物ではありません。

これを達成するのは非常に困難です(不可能ですか?)。ただし、既存のコードベースがある場合は、最初から変更するのではなく、変更します。

7
Martin Ba

あなたはあなたが書いたコードの著作権を所有します。 GPLが義務付けているもの:GPLコードと一緒に提供またはリリースするコードは、同様のライセンスに基づいてリリースする必要があります。ただし、著作権はまだあなたにあります。

したがって、書き換えの途中でソフトウェアをリリースする場合(コードと古いコードが混在しているため)、コードのその部分をGPLとしてリリースする必要があり、これを取り消すことはできません。ただし、著作権所有者はライセンス条件を決定する人であるため、コードのその部分を基本的に「デュアルライセンス」する権利が引き続きあります。

注意事項:

  • あなたが書くコードの著作権はデフォルトであなたのものですが、それは別の契約/契約によって変更できます。著作権の譲渡を指定するCLA、または「自分の時間」に行うすべての作業を所有する雇用主との契約。
  • あなたの書き直しが、オリジナルの作者と著作権を共有してしまうほどの「派生作品」を構成するかどうかは、程度の問題です。コードを1行ずつ別の言語に翻訳する場合(ご質問のとおり)、これらの部分は派生物としてカウントされる可能性があります。詳細を確認せずにAPI互換の置換を実装する場合、おそらくそうではありません。

(ソース:数週間前に私の会社が主催した「著作権とオープンソース」のセッション)

5
cloudfeet

はい。

他の回答では、あなたがすべきかどうかについての意見を説明するテキストが多すぎますが、それらの意見は質問とはあまり関係がありません。

実際には、GPLで作成された作品を見て作成された最後のパーツを交換すると、新しい作品が作成されます。それは著作権法の主要な懸念事項ではありません(特許は別の問題になるでしょう)。あなたが配布するものすべてがあなたの創造物になります。

ソフトウェアプログラムの著作権は部分的な著作権の合計であるという理論を裏付ける資料はたくさんあります。たとえば、MPLはこのモデルを明示的に認めます。グーグル/オラクル訴訟はラインレベルの著作権に降りました。

3
MSalters

簡単に言えば、あなたが知ることはできません。

リチャードと話すとき、彼は彼の実装の多くで「キツネのように夢中」であることがわかります。 GPLは、あいまいさや不明瞭な表現があるように特別に記述されています。これらは一般に、ライセンスライターの利益に反して表現されますが、知的財産権弁護士にも懸念を与えます。賢明なことに、会社が大きくなるにつれて、知的財産の弁護士はますます懸念を抱くようになります。 GPLの「合理的な解釈」を行う小規模の商業企業は許容できるリスクかもしれませんが、大規模なソフトウェア会社は、GPLの汚染をなんとかして得たチーム全体をやめるほうが賢明であると感じるかもしれません。

答えはありません。答えはありません。それが答えです。

1
Charles Merriam