web-dev-qa-db-ja.com

MITライセンスを使用して、以前に書いたコードの一部を雇用者に与え、自分自身を保護し、著作権を失わないようにすることはできますか?

私の状況:

  • 私は新しい仕事を始める前にフレームワークを書きました。私は著作権を所有しています。

  • 他のソフトウェアと同様に、内部には多くの定型ロジックがあります。 (ええと!)

  • 私は新しい仕事でフレームワーク全体を使いたくありませんが、-私はその一部を再利用する必要があります新しい仕事のために構築している同様のフレームワークで。

  • すべてのロジックをゼロから再実装/再考することは現実的ではありません。それはたくさんの論理であり、論理は論理であり、あなたはそれをそれほど大きく変えることはできません。たとえば、HashMapの異なるバージョンをいくつコーディングできますか?私はそれらが非常に似ていると思いますし、3番目のバージョンは最初のバージョンの著作権を侵害したと主張できます。 :(

  • APIを再発明するのは現実的ではありません。 HashMapのAPIを再発明できますか?多分あなたはput(k,v)add(k,v)に変更できますが、それ以上ではありません。

自分と以前のコードを保護するための私の考え:

MITライセンスの下で書いた以前のフレームワークに基づいて新しいフレームワークを構築していることを雇用主に伝えます。したがって、将来、以前のフレームワークを別の場所で使用する場合、- またはそれの別の派生バージョン、それは私が雇用者のために現在構築しているこの新しいフレームワークに似たコードの一部を持っています、私が書いたコードを使用していると彼らは言うことができません彼らのために。

私の質問:

  • 私は自分のコードを誰にも配布していません。 MITライセンスコードを誰かに配布する必要はありません。著作権を所有している場合は、正しいですか?つまり、自分のコードをリリースするように要求できます。 MITライセンス?それは世界の終わりではなく、私は確かに法的脅威の下でそれを行うことに同意します。

  • この戦略には意味がありますか?私の最終的な目標は、以前のコード化フレームワークの派生バージョンを、著作権を失うことなく使用できるようにすることです。同時に、私はこのコードをオープンソースプロジェクトとして誰にも配布したくありません。私は自由に配布できる他のオープンソースプロジェクトを持っていますが、これは私が自分の仕事(請負業者の仕事ではなく)で使用できるように自分で保管したいと考えています。

それはMITライセンスの下で実際に誰かに配布したり表示したりせずに)フレームワークを所有していると主張するです。それがそこにあれば、無料で簡単に入手できます、私の雇用者はもう私を必要としません。彼らはコードを受け取り、それを他の誰かに渡して使用することができます。

ノート:

  • 仕事を始める前に、このフレームワークを以前の発明として挙げました。

  • 私はこのコードをどこにもリリースしていません。それは私のプライベートサーバーのホストであるプライベートSVNリポジトリにあります。

一言で言えば、私の考え:

  • 私の計画は、以前のコードを自分に残し、その一部を雇用者のために構築しているこの新しいフレームワークで使用し、雇用主にそれがMIT以前にコーディングしたが誰にも配布していないフレームワーク "。私はMITライセンスの下でコーディングしたソフトウェアを配布することを強制されていませんか?後で、何らかの法的請求が発生した場合(うまくいけない場合)、すべてのソースにライセンスをすぐに貼り付けて、コードを表示/リリースできます。
17
JohnPristine

私は以前はIP弁護士だったので、license-eseの経験があります。用語自体はかなり読みやすく理解しやすいと思いますが、再び、3年間のロースクールといくつかの弁護士の時間に悩まされてから、再び機知を得て、ハッキングに戻りました。特に私は現在活発な弁護士ではないので、これは確かに法律上の助言として意図されたものではありません。

MITライセンス言語自体から始めましょう。次に、オープンソースライセンスを理解するためのいくつかの重要なポイントを示し、次に質問に対処し、高レベルの観察結果を提供します。

これにより、このソフトウェアおよび関連するドキュメントファイル(以下「ソフトウェア」)のコピーを取得するすべての人に、使用、コピー、変更、マージの権利を含むがこれに限定されない制限なしでソフトウェアを扱うことが許可されます。ソフトウェアのコピーを発行、配布、サブライセンス、および/または販売し、ソフトウェアが提供された人がそうすることを許可するために、次の条件に従います(この通知をその中に残すこと。最後。)

著作権所有者向けのほとんどのオープンソースライセンス(BSD、MIT、GPLを含む)のいくつかの重要な点は次のとおりです。

  1. ライセンスは、著作権自体の所有権を変更しません。これは非独占的なライセンスであり、譲渡や所有権の喪失ではありません。 OSライセンスを使用することは「パブリックドメインに何かを入れる」ことではありませんが、それは確かにオープンソースへの1つのアプローチです。
  2. ライセンスを付与したからといって、著作権所有者であるあなたにコードを公開するよう強制するものはありません。
  3. ただし、OSライセンスを使用する場合、OSライセンスコードを「入手」したユーザーが、いかなる方法でもそれを公開することを防ぐことはできません。これは、これらすべてのライセンスに基づく権利の範囲内であることが明示されています。
  4. コピーレフト(GPLなど)のライセンスでは、取得者(所有者ではない)が派生物を公開してオープンソースにする必要があります。寛容(MIT、BSD)ではありません。 (これは少し単純化されるかもしれませんが、本質的な違いです)
  5. ほとんどのオープンソースライセンス(MITなど)には「テイクバック」条項がないため、誰かがコードを「取得」すると、受け取ったライセンス条件に基づいて、コードを永続的に使用する権利が与えられます。
  6. コードの将来のバージョンはいつでも別のライセンスで配布することも、完全に独占的に保つこともできます。それは、誰かがあなたの以前のオープンソースバージョンから始めて(彼らが「それを入手した」と仮定して)、彼ら自身の新しいパーツを追加してそれを配布することを止めません。
  7. 以前のバージョンのコードの「取得」のチャネルを削除できます。たとえば、githubからそれを削除します。ただし、前述のように、オープンソース化した以前のバージョンを他のユーザーが使用または配布することを妨げるものではありません。

その根拠に基づいて、私はあなたの質問に移ります。

私は自分のコードを誰にも配布していません。 MITライセンスコードを誰かに配布する必要はありません。著作権を所有している場合は、正しいですか?つまり、自分のコードをリリースするように要求できます。 MITライセンス?それは世界の終わりではなく、法的な脅威の下でそれを行うことに確かに同意します。..同時に、このコードを次のように配布したくない誰にでもオープンソースのプロジェクト。

著作権者は、コードをだれかに配布する必要はありません。そのような要求を尊重する必要はありません(たとえGPLであっても)。あなたはすべての権利を保持します。ただし、あなたが説明する状況では、あなたはあなたの新しい会社に配布し、それをOSライセンスの下で永久に彼らにライセンスすることになります。あなたの雇用主(おそらく雇用主である可能性が高い)はあなたのコードをインターネットに貼り付けることができます、そしてあなたはそれについて不平以外に何かをすることができないでしょう。

あなたは「私の雇用主以外の誰でも」という意味だと思います。雇用者に「オープンソースとして」それを与えたくない場合は、そのライセンスに含まれるすべての権利を、彼らが望む方法での再配布と永続的な使用を含めてすべて与えたい場合は、オープンソースライセンス。必要な条件に基づいて直接ライセンスを供与するだけです。弾丸はあなたが何を望んでいるかを指摘し、弁護士にそれらを段落形式にするためにあなたに1時間か2時間請求します。または自分で書いてください。ライセンスは単なる契約であり、言葉で表現された単なる合意です。

私の最終的な目標は、以前のコード化フレームワークの派生バージョンを、著作権を失うことなく使用できるようにすることです。

誰かに割り当てたり、独占的にライセンスしたり(自分を除外することを含む)、権利を失ったりしない限り、著作権を失うことはありません。オープンソースライセンスはこれらのどれでもありません。作成した派生バージョンをいつでも使用できるようになり、派生物に異なるライセンスを付与したり、すべての権利を保持したりすることもできます。

しかし、あなたの主な正当な懸念は、雇用主がコードを彼らのものであると主張することなく、またはあなたがそうする権利の外にいることなく、将来も著作権を保持し、コードを使用できることです。これの鍵は、A)あなたが前の作品の著作権を保持し、Xライセンス条項に基づいてそれらに提供しているという反駁できない証拠を作成することです(上記のオープンソースの側面に問題がなければ、MITは機能します)。 )B)彼らはこれらの条件に同意し、C)何が、まさに前の仕事であったか。

(A)と(B)については、ライセンスを参照または含むものに署名または書面で同意してもらい、それらの条件に基づいてコードを表に記載していることを理解してもらうことができます。 (C)については、これを行う標準的な方法がどうなるかはわかりませんが、論理的です。それほど大きくない場合は、コードを印刷して、あなたとあなたの雇用主の両方が署名した契約のコピーにある補遺に含めることができます。署名を付けてコピーを保管してください。それが大きすぎて実際に印刷できない場合は、md5ハッシュが役立つと思われます。多分あなたはそれを「プライベートgithubリポジトリのXという名前のZipファイル/(またはftpサイトなど)のように参照できます。これはXXXXXXのmd5ハッシュを持ち、Zの代表的なY社にメールで送られました。日付"。次に、それを上司や弁護士、または個人のメールアカウントから誰にでもメールで送信できます。コピーが削除されても、あなたのコピーはそのまま残り、まだ書かれていないコードの将来のmd5ハッシュを予測したと彼らは主張できません。 。それは理論的に彼らが他の何かを将来主張することを防ぐでしょう。

21
Ben Roberts

(私は弁護士ではありません。)

これに関する潜在的な問題がいくつかあります。

  • 最悪の事態が発生した場合は、そこで作業を始める前にこのコードを書いたことを証明する必要があります。また、職場のプロジェクトで使用したときに、雇用主はそれがあなたの著作権およびMITライセンス。これの主な目的は、再配布の条件を設定するのではなく、著作権を保持することであるため、以前に作成したコードの使用に関する雇用主との書面による契約の方が良い考えのようです。

  • あなたはあなたがあなたの著作権と「それの別の派生バージョン」を構築する能力を保護したいと言います。現在、あなたの現在の仕事中に、あなたはいくつかの素晴らしいアイデアを持ち、それらを実装するでしょう。あなたが仕事を辞め、それらのアイデアを「再実装」してライブラリの別のバージョンをビルドするとき、これは毛むくじゃないようです-あなたが仕事で書いたコードであなたが望むことを何でもすることができないので(そしてある程度、その背後にあるアイデア)。

6
us2012

私は弁護士ではありませんが、これが私の解決策です。

  1. GNU GPL v3ライセンスの下で、すべてが閲覧できるパブリックリポジトリでコードをリリースします。

  2. GPLライセンスでは、他の人があなたのコードを取得して独自の商用ソフトウェアに組み込んでコードを閉じることはできません。

  3. コードが100%自分で作成したもので、他の人からの作業や派生した作業が含まれていない場合、GPLを使用すると、別のライセンスに基づいてコードのライセンスを取得できます。コード。ただし、雇用主をこの代替所有権ライセンスのライセンシーにする必要があります。

  4. このソリューションは、仕事を始める前にコードを書いたことを証明します。

  5. あなたは自分のコードがプロプライエタリなライセンスの下で(お金のために)利用可能であることを宣伝し、興味のある関係者があなたに連絡してそれを購入することができます。

4
ruben2020

あなたがあなたのフレームワークのためにあなたが書いた一般的なコードの著作権を保持することが可能であるかどうかを雇用主に尋ねることができない特別な理由がありますか? -you-want-with-it(同意、これはMITによく似ています).

ただし、現在のコードMITのライセンスを取得している場合、雇用主が修正バージョン(ユーザーが修正したバージョン)をオープンソース化する理由はないため、あまり解決しないと思います。コードが「分散」されていない限り、LGPLでさえこれを解決しません。

すべての取引は不合理に聞こえないわけではありません。いくつかのフレームワークコードがあり、そのコードを保持し、後で他のプロジェクトに再利用できる限り、それらを会社に寄付してもかまいません。聞かない?

2
markijbema

IANAL、実際の弁護士などに尋ねる.

まず第一に、あなたは著作権を持っているとき、あなたが他の人にそれをライセンスするのと同じ条件の下で自分にのみ製品をライセンスすることができると信じていると思います。これは誤りです。適切なライセンスで自分自身にライセンスを付与し、別のライセンスで他の誰かにライセンスを付与することができます。

つまり、これから雇用する会社のために特別なライセンスを作成し、別の契約としてソフトウェアを利用できるようにすることができます。もちろん、これは実際の弁護士によって行われるべきです。

個別のライセンスに署名してもらいます。これは、著作権があり、著作権ではなく特定の権利を与えていることを明示的に示しています。

二次的な問題については、プロジェクトをオープンソース化する以外に、以前の日付を証明する他の方法があります。たとえば、公に利用可能なサーバーでファイルをホストできます。つまり、指定した日付に実際にこのソフトウェアを作成したことを示すファイルに、たとえば、現在のバージョンのいくつかの異なるハッシュや、プロジェクトの暗号化されたバージョンさえ含まれます。

つまり、法的脅威にさらされている場合は、使用の以前の日付を裁判官に証明することができますが、プロジェクトの事実を明らかにすることはできません。あなたはそのような議論の可能性について弁護士に相談するべきですが、私はそれがほとんどの裁判所で受け入れられると思います。

2
K.Steff