すべての開発者は法的な問題について何を知っておくべきですか?[閉まっている]


80

今日 私はGPLライセンスのいくつかの影響について知り、ひどい驚きを覚えました。主に、思ったほど自由に使用できなかったということです。

今私は知っている。

他に何を知っておくべきですか、そしてもっと広く、すべての開発者はそのような合法的なことについて何を知っておくべきですか?

従業員、フリーランサー、オープンソースプロジェクトの貢献者(など)を分離するか、より幅広い回答を与えることができます。


11
「オープンソースです。何でもできます」と聞くと、うんざりします。それは真実ではありません。
ジム

4
@ジム:技術的には、それはあなたができないことではなく、問題です。あなたがやりたいことをした後、それはあなたがしなければならないことです。
Adam Bellaire

20
また、5000語以上の使用許諾契約が4行のテキストボックスに表示され、その下に[同意する]ボタンが表示されているのを見ると、うんざりします。
NVRAM

7
そして、彼らが新しいパッチを当てたバージョンをリリースするたびにあなたがそれを読んで違いがあるかどうかをチェックすることを期待しているとき、私はさらにうんざりします。差分を教えてください、くそー!
ステファノボリーニ

6
一般的に、私はただひりひりします。
j_random_hacker 2011

回答:


135

ソフトウェア開発に関する12の法的考慮事項

  1. ソフトウェアは、一般に公開されている場合、著作権で保護されています。アプリケーションやソースコードに著作権表示を付ける必要はなくなりました。著作権の所有者は、著者または著者に支払う会社です。

  2. ソフトウェアの著作権は、著作権の所有者が割り当てることも、所有者が保持して、所有者がソフトウェアのライセンスをユーザーに付与することもできます。

  3. 開発で使用されるライブラリには、おそらくその使用と配布に制限があります。GPLは、ライブラリをパブリックドメインにしません。また、ライブラリに開発プラットフォームが付属しているという事実もありません。アプリケーションを配布する前に、ライセンスを読んで理解する必要があります。一部の図書館ではロイヤルティの支払いが必要ですが、これは近年あまり一般的ではなくなっています。

  4. ソフトウェア特許訴訟はくだらないものです。もちろん、ソフトウェア特許に故意に違反してはなりません。ただし、一部の企業が特許に違反したとしてあなたを訴える可能性はわずかですが実際にあります。これは、ソフトウェアを独自に開発し、特許について聞いたことがなく、直感的に明らかで、ソフトウェアとはほとんど関係のない技術を対象としている場合でも発生する可能性があります。現在のUSPTOの方針を考えると、保険を購入する以外に、これを回避するためにできることは多くありません。幸いなことに、パテントトロールは一般的に大企業を多額の金で訴えます。

  5. 従業員またはフリーランサーを使用してソフトウェアを開発する場合は、ソースコードを含め、アプリケーションの著作権を誰が所有しているかを書面で明確にする必要があります。一部のフリーランサーや契約開発会社は、ソースコードを自分たちの所有物と見なし、会社を元の開発者に依存させています。開発契約に含まれている場合、これは合法です。

  6. 「時間外」にソフトウェアを開発する従業員がいる場合は、そのソフトウェアの所有者と、その従業員が社外で作成および配布できるソフトウェアの種類を明確にする必要があります。

  7. ソフトウェアを開発している従業員またはフリーランサーの場合は、開発を開始する前に、アプリケーションの著作権を誰が所有するかを明確にする必要があります。また、自分の時間に作成したソフトウェアの所有者を知っているか、明確にする必要があります。一部の企業は、雇用契約に、自宅か職場かを問わず、雇用期間中に開発者が作成したソフトウェアの所有権を主張する条項を設けています。多くの企業は、従業員が社外に配布するために作成できるソフトウェアを制限する競業避止条項を雇用契約に定めています。これらの制限はかなり広い場合があります。

  8. 商標は名前または記号であり、ソフトウェア自体ではありません。ソフトウェアを配布する場合は、(a)アプリケーション名と「マーク」または名前のデザインが他のアプリケーションと「紛らわしいほど類似」していないことを確認し、(b)商標を登録する必要があります。競合を解決するには、最初の使用日が重要であるため、アプリケーションが最初に商取引で使用される時期を文書化する必要があります。

  9. アプリケーションに名前を付けるときは、登録商標を確認するだけでなく、Googleも確認してください。名前を最初に使用するアプリケーションは、商標を登録しておらず、登録している場合でも、アプリケーションが成功した後に名前と商標を取得できる場合があります。

  10. 契約または契約を使用または署名するときは、両方の当事者がそれを理解していることを確認してください。雇用契約では、潜在的にデリケートな分野について前もって言及することで、後で多くの問題を防ぐことができます。開発契約では、開発プロジェクトに参加するソースコードの所有者、アップグレードの責任者、保守などの責任者を双方が知っている場合、申請後の訴訟の可能性ははるかに低くなります。完了しました。配布契約では、配布者が契約の責任と期間を理解していることを確認してください。

  11. 重要なアプリケーションにはすべてバグがあります(または「設計上の考慮事項」:-))。ユーザー契約または配布契約は、バグのないソフトウェアについて責任を負わないことを明確にする必要があり、すべてのバグを修正することを期待できるわけではありません。変更、修正、およびアップグレードが開発者のオプション(または最善の努力)で行われることを明確にし、修正およびアップグレードの費用を誰が支払うかを明確にします。

  12. ソフトウェアの開発および配布契約について弁護士に相談した後でも、他のソフトウェア会社からの契約を読んで、彼らの弁護士が何を思いついたかを確認する必要があります。

  13. 私は弁護士ではありません。これは法律上の助言ではありません。


4
この回答は本当に面白く、最近追加されてからあまり見られないので受け入れました。同様に興味深い答えはこれです:stackoverflow.com/questions/1396191/…。もちろん、誰もが弁護士に相談することが重要であるという事実にも言及しました。
marcgg 2009

1
興味深い答えはこれでもありました:stackoverflow.com/questions/1396191/…、この主題に関する本のいくつかを参照しています。
marcgg 2009

Some freelancers and contract development companies consider the source code their own property, leaving the company dependent on the original developer(s). This is legal if it's in the development agreement.あなたがフリーランサーとしてやっていないのなら、追加料金を請求したほうがいいでしょう。あなたがクリーンなベースシステムを設計するために時間を費やすなら、なぜあなたは彼らがそれをいくつかのボディショップに持って行って報酬を得るのを許すのですか?あなたはコードベースに投資しました、これはあなたがあなたの投資を完済させる方法です。また、これにより、次のクライアントのために他の場所で共通のロジックを再利用できます。
そり2011

1
@ArtBすでに支払いを受けているので?
ロブフォックス

お金とお金を稼ぐものの間の選択を考えると、お金よりもお金を稼ぐ人を引き継いでください。長期的なビジネスはそれだけの価値があります。それはあなたがより低い初期入札を提供することさえ可能にするでしょう。地獄、あなたは別の開発者にコードベースを売ることさえできます!より高い収益率を生み出し、より少ないお金とより多くの資本を生み出すことができる場所を持っていない限り、それは独立した請負業者にとって優れたビジネスモデルにすぎません。
そり2011

28

疑わしい場合は、弁護士に連絡してください。


18
...そして疑う側に誤りがあります。
beska

2
私の考えはまた、あなたが何かを知っていれば、弁護士に連絡する必要があるときにもっと簡単に伝えることができるだろうということです。ジムが質問のコメントとして言ったように、「オープンソースだ。好きなことを何でもできる」と考える人もいる。
marcgg 2009

3
疑わしいときは、はい。しかし、「疑わしい」というのは、私たち全員が弁護士を拘束する必要がないほど十分に小さいはずです。すべての開発者は、知的財産法を合理的に理解し、一般的なオープンソースライセンスによって課せられる制限と義務を明確に理解している必要があります。弁護士は難しい質問に答えます。
Adam Jaskiewicz 2009

1
@ Adam-法律では、誰かが議論を引っ張ると、簡単な質問でさえ「難しい」ものになる可能性があります...
Rook

1
あなたはそれぞれのきらめきのために医者に行くことはありません、あなたはそれぞれの法的質問のために弁護士に行くことはありません。そしてあなたが本当に時に知っている-すべての大人は、医学、彼らはこれらが真実であることを操作しているその下法について十分に学習する必要が行う専門家の助けで呼び出す必要があります!
トムスワーリー2011

26

私は弁護士ではありませんが、時間を節約するために使用できる法務担当者からいくつかの親指のルールを収集してきました。

  • GPLライセンスは「コピーレフト」または「ウイルス」です。つまり、GPLコンポーネントに依存するコードは、GPLの下でリリースする必要があります。経験則として、ソフトウェアをコンパイルするためにGPLコンポーネントが必要な場合は、ソフトウェアをGPLライセンスの下でリリースする必要があります。
  • ソフトウェアを配布していない場合は、ソースを利用可能にする義務はありません。たとえば、ソフトウェアを内部目的またはWebサーバーで実行する場合、ソースをリリースする必要はありません。そのため、GoogleはGPLライブラリを使用するソフトウェアをリリースする必要がありません。これはGPLv3の重要な論点でした。
  • LGPL(Library or Lesser GPL)は、LGPLで作成されたライブラリを置き換えられないように組み込んだ場合にのみ、独自のソースコードをGPLする必要があります。ライブラリを「使用する」だけの場合は、独自のソフトウェアをGPLにする必要はありません。ヘッダーファイルをインクルードし、.dll/に対してリンクする.so、ライブラリのすることは、適切な著作権表示を除いて、義務なしにLGPLコードを「使用」できる方法の1つです。
  • BSDライセンス(Apacheライセンスは非常に似ています)を使用すると、オープンソースコンポーネントを使用する商用拡張機能を作成できます。そのため、AppleはOSXのカーネルとしてLinuxではなくFreeBSDを選択しました。
  • MPLは、ライセンスが作成された時点でMozillaからいくらかのお金を稼ぐ可能性があるとNetscapeが考えていたため、非常に商業的に友好的です。

多くの場合、オープンソースプロジェクトのメンテナに連絡することが役立ちます。彼らは、ライセンスの本来の意図とオープンソースに関する彼ら自身の見解についてアドバイスするのに最適な立場にあります。時々、メンテナはあなたを助けるために複数のライセンスの下でソフトウェアをリリースすることをいとわない。多くの場合、そうではありません。著作権の所有者によって異なります。

KDEプロジェクトには便利なマトリックスがあります


1
わかりました。詳細については、「弁護士に尋ねる」という回答が(願わくば)常識であることは誰もが知っています。それはさておき、これは優れた要約の答えです... KDEマトリックスリンクだけでも非常に便利なリファレンスです!
鬼詩篇33 2009

2
最初のポイントに対する1つの修正:「依存する」場合にのみ、GPLされたコードをプログラムの実行可能ファイルに(動的または静的に)リンクするか、プログラムを複雑に結び付けます(メモリダンプなど)。grepを使用し、GNUバージョンでのみ機能するLinux専用のプログラムを作成する場合でも、grepコードが実行可能ファイルに含まれていない限り、問題はありません。ただし、IANAL。
Michael Ekstrand

GPLに関するもう1つのポイントは、配布するソフトウェアにのみ適用されるということです。独自のサーバーで実行する場合、自動的にGPLされるわけではありません。
mpeters 2011

> LGPL(Library or Lesser GPL)は、LGPLで作成されたライブラリを置き換えられないように組み込んだ場合にのみ、独自のソースコードをGPLする必要があります。それについて聞いたことがない。どこでもっと読むことができますか?
Esben Skov Pedersen 2011

2
ハンディマトリックスへのリンクは、ハンディマトリックスを返さなくなりました。
oob 2011

8

私が考えるのWeb&ソフトウェア開発への法的ガイドあなたが探しているものであるスティーブン・フィッシュマン弁護士によります。

代替テキスト

レビュー

素晴らしい本!あなたが想像できるほぼすべての法的質問に答えます、そしてあなたが考えもしなかったであろういくつか。--John Dvorak、PC Magazine

このように急速に成長している無形の媒体にとって重要な、考えられるすべての詳細をカバーしています。-起業家

この本は、他のどの法律ガイドよりも高い点数で、法律ガイドのための私自身の個人的なテストに合格しています。--Jeff Duntemann、編集者、PCテクニックマガジン

製品説明

あなたの権利とあなたの努力を守ってください!

ウェブサイトとソフトウェア開発を対象とする法律は複雑で混乱を招きますが、それらを解き明かさなければ、弁護士費用と訴訟に数千ドルの費用がかかる可能性があります。

幸いなことに、Web&ソフトウェア開発のリーガルガイドは、法律のこの複雑な領域を徹底的かつ読みやすい英語で解読しています。また、CD-ROMで契約書、契約書、法的フォームを提供し、それらに記入するための段階的な手順が記載されているため、弁護士の身代金を支払うことなくソフトウェアとWebサイトを保護できます。

Webおよびソフトウェア開発のリーガルガイドを使用して、以下を学習します。

  • どのような法的保護が必要ですか
  • 各タイプの保護の長所と制限
  • 侵害を回避する方法
  • 契約書を作成するときに必要な規定
  • 他人の資料の使用許可を得る方法

ドラフトするための完全なステップバイステップの手順があります。

  • 雇用契約
  • 請負業者とコンサルタントの契約
  • 開発協定
  • ライセンス契約

Webおよびソフトウェア開発のリーガルガイドの第5版は、最新の判例法および法改正を提供するために完全に更新されています。

他のいくつかの提案:


4

フリーランサーまたは請負業者の場合:あなたが良い賠償責任保険に加入していることを確認し、その対象となるものを知ってください。

たとえば、私の場合、クレジットカード番号を公開する可能性のあるコードの誤りに対する責任は負いません。だから私はもうそのようなものには触れません!


3

従業員の場合:クライアントに最初のアドバイスを提供できる必要があります-クライアント/私たちが必要なコンポーネントをアプリケーションで使用できるかどうかなど。

フリーランサーの場合:私たちはあなたのクライアントに強力なアドバイスを与えることができなければなりません; 開発するアプリケーションに使用できるコンポーネントを選択します。

もちろん、あなたの言葉は弁護士があなたに得ることができるアドバイスほど良くはありません。しかし、あなたはすでに最初のラウンドを助けることができます; たとえば、「これは意味があるので、絶対に使用できません...」と言うと
、最終的に、弁護士はコーナーケースについて多くのことを知っていますが、少しでも助けていただければ...


OSS寄稿者の場合:人々があなたのコードで何ができるかを気にするなら、無料ライセンス間のいくつかの違いを知ることは重要です(再配布?変更?商用アプリケーションで使用?プロプライエタリアプリケーションで使用?)


3

ある答えは、法律はコードのようなものではないと主張しています。同意しません。

初期の頃、IBMはプログラマーに指示によって支払いをしていました。(私が知っていた誰かが、彼はこのように金持ちになったプログラマーと一緒に働いたと言いました。どうやらその男はマシンのインデックスレジスタの使い方を知らなかったようです。彼は各メモリアドレスに手動でゼロを格納するメモリゼロルーチンを書きました。)

弁護士がその言葉で報酬を支払われた時期も(ずっと前に)ありました。これは、人々を「最も高く評価されているそのようなもの」やその他の冗長性として扱うなどの慣行を普及させるのに役立ちました。

私はちょうどVB.NET2008がまだ行番号を許可すると言ったSOの答えを読みました。最新のPCでも純粋なDOSを実行できます。そして、すべてのCOBOLプログラムが、増分変更によって共通の祖先から派生しているという冗談には多くの真実があります。下位互換性と「歴史的理由」は、私たちの分野に溢れています。

これは法の領域に匹敵します。他の法律に小さな(または大きな)変更を加える法律があります。あなたは一種の依存関係を持っています-地獄。いくつかのばかげた歴史的法律があります(タスマニア州ホバートでは、日没後に男性が女性のドレスを着ることは違法です-昔々、有罪判決を受けた人は女性やマグカップの人々に扮装するため)誰も施行することを夢見ませんでしたソフトウェアには、もはや誰も使用していない歴史的な機能がいくつかあります。

多くの場合、法律には意図しない結果(バグ!)があり、創造的な方法で使用され(ハッキング!)、抜け穴が含まれ(セキュリティの脆弱性!)、意図的なもの(バックドア!)、変更される(パッチ!)、または覆される(アンインストール!) 。

はい、法律(コードとは異なり)は解釈の対象となります。しかし、これはコードのメンテナンスのようなものだと思います。法律を新しい社会規範に合わせるのに役立ちます。

質問に直接答えるには、すべての開発者は、法律が何百年もの間開発されてきた途方もなく巨大なソフトウェアプロジェクトのようなものであることを知っておく必要があります。(実際、各国には独自のプロジェクトがあり、さまざまな方法で問題を解決します。)理論的には、ライセンスを読んだ後、コードで何ができるか、何ができないかがわかります。しかし、有能なプログラマーがコードを読んだだけではすべてのバグを見つけることができない場合、非弁護士が法的文書のコーナーケースと灰色の領域を分析する可能性はどのくらいありますか?

ソフトウェアのソースコードと同様に、通常はそれを読むことで法的文書の要点を知ることができますが、特定のことを知る必要がある場合は、専門家尋ねてください



1

私は「すべての弁護士がプログラミングについて何を知っておくべきか」と答えるのと同じ方法でこれに答えます。つまり、最も単純なこと以上のことを行うのに十分な被写界深度を知る方法はないことを知っておいてください。専門家を取得します。


しかし、お金を節約し、法的な問題が発生することを確認するために、これについての基本的な知識を持っていることは常に役に立ちますね。
marcgg 2009

絶対に。(そして私はそれのために質問に投票しました。)しかし、最も重要な問題は、新しい概念の学習プロセスの早い段階で、人々は自分がどれだけ知っているかについて誤った考えを持っていることが多いということだと思います...そして後でしか知りませんフィールドがどれだけ深く、微妙であるかを発見してください。それは多くの分野で危険である可能性があり、法律も例外ではありません。分析のために専門家に渡すための危険信号を認識できるように、できるだけ多くのことを知りたいと思います。
beska

1

使用するライセンスの基本的な権利と義務を知っておく必要があります。それほど難しくはありませんし、たくさんあるとしても、使うものや触るものだけを注意深く読む必要があります。それらを読むだけで、ほとんどの場合、それらは非常に明確です。

あなたが必要とすることができる他のものは、まあ、それは異なります。特許を取得していますか?商標?これらのことが必要な場合は、会社にいて、法務部門がこれを行う可能性があります。


1

プロジェクトの開発者は、自分の作品を使用しているソフトウェアをまったく同じライセンスでリリースすることを常に望んでいます。詳細については、よくある質問と法的なページをお読みください。それでもわからない場合は、開発者/メンテナに遠慮なく連絡してください。

ライセンス契約の詳細を理解するための支援が必要な場合は、弁護士に相談してください。


1
  1. 開発者よりも弁護士が多い国で働いてはいけません。
  2. すべての(米国)ソフトウェア特許の非常に大きな割合が偽物ですが、それらが無効になるのを支払うことも待つこともできません。
  3. オープンソースソフトウェアを使用/開発する場合は、既存のライセンスを使用し、変更しないでください。ライセンスが意味することになっているものの境界に近づかないでください。


0

6.「時間外」にソフトウェアを開発する従業員がいる場合は、そのソフトウェアの所有者と、その従業員が社外で作成および配布できるソフトウェアの種類を明確にする必要があります。

ほとんどの憲法で述べられている言論の自由の権利(特に、開発者が時間外に無料のs / wを作成する場合)は、そのような用語を法廷で惨めに失敗させる可能性があります


-1

法律はコードのようなものではありません。明確に理解できるのは、適切にキャストされた一連のステップとルールではありません。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.