web-dev-qa-db-ja.com

職場で作成したコードを取得して、個人のプロジェクトに再利用するのは間違っていますか?

私はさまざまな職場で、「これは他の状況で本当に役立つだろう」と思わせるコードを常に書いていました。実際、私が意図的にコードを書いています。たとえ長く書いても、将来的には役に立ちます(カスタムSubString()関数など)。これらのスニペットの良い候補は、さまざまな「ヘルパー」クラスです。

これらのスニペットはおそらくオンラインの他の場所で見つけることができると思いますが、要点は、私がそれらを書いたことです。後で他の仕事や個人的なプロジェクトで再び使用します。現在、私は個人コードライブラリを維持していませんが、問題は、職場で作成したコードを取得して個人プロジェクトに(a)を再利用するのは間違っているか、そして(- b)他の仕事で?

31
Arj

私は常にこの問題を解決してきました。自分のクレイジーなアイデアや一般的なものをすべて置き、それをBSDライセンスの下でライセンスする個人的なプロジェクトを用意することで、人々はそれを再利用、変更、再ブランド化、クローズしてお金を請求することができます。それ。このようにして、私は著作権を保持しますが、これとその雇用者のためにコードを再利用できます。これにより、元の著作権は保持しますが、雇用主は再利用したインスタンスの著作権を保持します。彼らがそれに問題を抱えていたら、彼らは私にお金を支払わなければならず、彼らの観点からは意味をなさない勤務時間にそれを書き直さなければならないと私は思います。さらに、BSDの背後にある考え方は、人々や企業がブランドの変更や販売を含め、ほとんど何でも好きなようにBSDコードを使用できるようにするためです。

そしてもちろん、職場でコードに追加が行われた場合、自分の時間に書き直さなければそれを他の場所で再利用することはできません...それが一般的なものでない限り、一般的なものは比較的小さい傾向があるので問題ありませんとにかくかなりのフリータイムの努力を保証する考え。

自分の時間でそれを書き、BSDスタイルのライセンスの下でコードにライセンスを付与するすべき自分のライブラリを維持して、ほとんどどこでも使用できるようにすることができます。

さて、すべての個人プロジェクトの著作権を吸い上げると主張する契約については...これはおそらく管轄区域間で根本的に異なりますが、少なくともいくつかの西側の管轄区域では、契約がそれを行うことができないと私は理解しています。契約はそれがそうであると言うことができますが、著作権は明示的に移転されなければならないので、それは法廷で執行されません。私がとにかく出身である管轄区域)。契約を介して法廷で支持できるものにはいくつかの制限があります。そのため、通常(そして願わくば)、契約の一部が合法的に機能しない場合に、何らかの影響を与える条項が表示されます。 、残りの契約はまだ成立しています。

しかし、いつものように、これを正確な法的助言と解釈する前に弁護士に相談してください。私はこれについて裁判にかけられたことは一度もないので、これらのことはどれも弁護士が証明できる事実としては知りません。 :)

25
Teekin

雇用契約によって異なります。最近、最もありそうな答えは(a)はい、これは間違っている、そして(b)はい、これは本当に間違っている。今日開発者に提供されるほとんどすべての契約には、会社で雇用されている間に(営業時間中であろうとなかろうと)コードはすべて彼らのコードであり、あなたが自動的にあなたの著作権を彼らに譲渡するという規定があります。これについて具体的に交渉しない限り、これはおそらくあなたに当てはまります。

ただし、いつものように:

私たちを信じてはいけません!潜在的に危険なことをする前に弁護士に相談してください。

31
Kilian Foth

必要に応じてコードを書き直してください。数分のコーディングのために問題を完全に回避します。

その間、あなたはもっと学び、より良いものを書くでしょう。コードを書き換えると、一般的にコードがよりエレガントになります。

9
Tom Squires

あなたの雇用条件によっては、そうなるかもしれません。上司、人事部門、法務部門、または倫理部門に相談して、会社が所有しているものと所有しているもの、および使用の権利や所有物の取得を要求するためのプロセスを確認します。あなたが仕事で生産すること。

私が働いてきたほぼすべての場所、プロジェクトに入るものは会社が所有していますが、個人的なプロジェクトにケースバイケースで物事を持ち出す許可を求め、許可を得ました。それを行う方法と、それを手放すことが組織に害を及ぼさない方法。

6
Thomas Owens

私は雇用主にオープンソースライセンスの下でのリリースに同意することにある程度の成功を収めました(完全な成功ではありません)。主に自分の時間で書いたコードですが、そうでない場合もあります。すべてのコードは業界に固有のものではありません。

私は失業者の間にいくつかのライブラリを作成し、MITライセンスの下でそれらをリリースしました。その後、後の仕事での採用プロセス中にそれについて言及し、できれば私のコードを使用して彼らを支援しますが、彼らのために働いている間に私が書いたものを追加してもかまいませんが、彼らのビジネスに固有ではなく、彼らの承認を得たものだけです。

結果はさまざまですが、時間をかけてライブラリを構築することができました。また、図書館を所有することで、私の雇用主の開発時間が短縮される場合があります。

4
psr

ここで最も多く投票された答えが「はい」であることに驚きます。開発者としての答えは、コードが次のいずれかである場合を除いて、常に「絶対に」ではありません。

  1. 現在および以前のすべてのプロジェクトとは別に開発した、以前に作成したライブラリ、または
  2. この目的のために利用可能にされたライブラリー、例えばオープンソースのもの。

コードを書くために誰かがあなたにお金を払った。別の理解と同意がなければ、それは問題ありませんが、他の誰かが直接の利点を享受することは正しくありません。

今-直接という言葉。プロジェクトの終わりに到達し、クライアントの知的財産と直接結びついていない興味深いことを学び、それを使って役立つ何かを作成した場合は、少し時間をかけて自分用のライブラリを作成してください。さらに良いこと-オープンソースプロジェクトをITで始めましょう。そうすれば、誰もが裕福になります。私はそれが駆動雪として完全に倫理的に100%純粋だと思います、そして実際、私はそれを自分で行いました。

短期的には、他の誰かのために書くために支払われたコードを再利用すると、法的な頭痛の種となります。長い目で見れば、頭痛の種になるでしょう。

4

これは、あなたが住んでいる場所/仕事している場所、および何が合意されているか/あなたの契約に応じて、法的な問題であると確信しています。

自分で、自分の時間に、自分が支払ったすべての費用(コンピューター、インターネットアクセス、ソフトウェアなど)を学んだ場合、彼らは私にそれを私の仕事で活用してほしくないのですか?個人的なプロジェクトの正規表現を見つけ、おそらくそれを使用できるため、仕事用アカウントにメールで送信することにしました。会社でインターネット上でもう一度検索するふりをするのは、ばかげたことでしょう。もちろん、私たちは私たちの技術を改善するよう努めていますが、これはプログラマーに期待されていることですが、それがプログラミングまたはITの外の領域にあった場合はどうなりますか?彼らがこのゲームをプレイしたいのなら、私は遠慮することができます。

会社は、私が作成したコードをしっかりと把握するよう努めることができます。関係を築くための基盤としては不十分です。彼らが数行のコードについてそれほど気にかけているのなら、私が彼らが私の時間を支配するのにどのくらい行くか想像できません。はるかに価値があります。

2
JeffO

私も同じ思いをしたことがあります。残念ながら、あなたがあなたの仕事のためにあなたが直接書いたものはすべて、技術的にはあなたの雇用主の著作権下に置かれると思います。そのコードを会社に関連しない他の作業で再利用する許可を求める必要があります。

一方、自分のプロジェクトの1つで余暇にコードを作成した場合、ある種の著作権でコードを保護し、そのコードを雇用主に提供して使用することを提案できます。

どちらの方法でも、問題について明確なコミュニケーションが必要です。

もちろん、IANAL。

1
Mike Cellini

あなたの質問はこれと非常に似ています " オープンソース-以前に別の会社のために作成したプログラムを再作成/オープンソースすることは合法ですか? "

あなたが働いていた会社はおそらくあなたが彼らのために書いたコードを所有しているので、あなたは不安定な法的根拠にいると思います。ルーチンを最初からコーディングする方が良いでしょうが、それでも、他のコードのコピーがまだ残っているかどうか疑問に思われるかもしれません。

[私は弁護士ではないので、法廷での助言を期待しないでください。]

1
jwernerny

これらの一般的な小さなメソッド/関数は、プロジェクト間で保持しないのが最善です。ほとんどの場合、これを行うためにBoostまたは言語が提供するものを使用できます。ほとんどの場合、それらはあなたのものよりも優れています。

良いアイデアは、それらのユニットテストのセットを用意し、それらを使用してコードカタをテストすることです。

仕事はアジアに向かっているので、グレイビートレインがまだ存在している間にコードを書き直してください。コードを書くことで報酬を得ている場合は、コードを書くか貼り付けて、何か楽しいことをしながら、書き直したふりをしてください。または、家から仕事をして、アジアのより熟練した、よりインテリジェントな、そして最も重要な、はるかに安価なコーダーにお金を払ってコードを記述し、違いを把握することもできます。その後、私たちの企業の神々が私たちを置く前に、外に出て世界を楽しむことができます。私たちは皆、中国とインドの裕福なiphone消費者のために、チップ工場で1時間あたり2セントでチップを作るのに困っています。

1
marabutt

私はこれが古い質問であることを知っていますが、誰かがそれにぶつかり、 Sergey Aleynikov の非常に悲しい話に参照を追加するのは良い考えだと感じました。仕事からコードを取得する前に、それが彼の人生を台無しにし、彼をprisonに落とし込んだ方法について読んでください。

0
JimmyJames