クローズドソースの高リスクプロジェクトの管理方法


25

現在、J2EE Webサイトの開発を計画しており、私を支援するために1人の開発者と1人のWebデザイナーを連れてきたいと思っています。このプロジェクトは、ニッチ市場内の金融アプリです。

ソースを閉じたままにする予定です。しかし、私の従業員は、コードベースを簡単にコピーして使用したり、サードパーティに販売したりするのを恐れています。アプリの開発には4〜6か月、おそらくそれ以上かかります。アプリが公開された後、私は従業員を追加することができます。

しかし、どのようにソースを自分自身に保持しますか。企業がソースを保護するために使用する手法はありますか?

開発マシンでUSBドライブとDVDライターを無効にすることは考えていますが、データをアップロードしたり、コードを電子メールに添付したりすることは可能です。

私の質問は不完全です。しかし、私の状況にあったプログラマーはアドバイスをお願いします。これについてどうすればいいですか?チームの構築、コードの機密保持など。

必要に応じて、従業員と秘密保持契約を結ぶことを楽しみにしています。(関連するタグを追加してください)

更新

すべての答えをありがとう。確かに、今ではすべてのUSBポートとDVDライターを無効にするわけではありません。しかし、私はアクティビティをログに記録する必要があると思います(どのように正確に行う必要がありますか?)既存のコードに参加して実行するスカルパーには警戒しています。会ったことはありませんが、警戒するように勧められています。私は秘密の条項を含めますが、これはほとんど資金がないスタートアップであり、この分野でより大きなプレーヤーがいる非常に競争力のあるビジネスニッチであるため、スカルパーを検出または追跡できるとは思えません。

個人的に知らないときに、信頼できる人をどのように雇うのですか。彼らの履歴書は役に立ちますが、そうでなければ信頼は時間とともにのみ発達します。

しかし、最終的に彼らがコードで逃げたとしても、販売が行われた後に重要なのはサービスです。ですから、長期的にはあまり心配していません。


28
私は、あなたが示唆した条件(ペンドライブの無効化、DVDライターなど)での作業を検討することを知っています(他の正気で有能な開発者はいません)。
ジョナサンスターリング


53
正直に言うと、信頼の拡大を拒否する人に会ったとき、私よりも自分の信頼性についてもっと言っているといつも思います。信頼される。
ジェームズマクロード

8
@abel:以前の発言の一部を要約すると、プロのソフトウェア開発を行った経験はありません。しかし、「競争力の高いビジネスニッチ」に参入し、「資金がほとんどない」ときに「より大きなプレーヤー」に対して成功しようとしています。プログラマーがあなたのコードで逃げ出すことを心配するよりも、揚げる魚がはるかに多いです。もし私があなただったら、ビジネスプランを書き、それをあなたのターゲットエリアですでに成功したビジネスマンにレビューしてもらい、そしてあなたが本当に成功するためのリソースを持っているかどうかを考えます。
ボブマーフィー

37
@abel:更新後、質問は次のようになります。あなたはお金があまりなく、レストランで働いたことはない。しかし、とにかくレストランをオープンすることを決心しています-そして、サンフランシスコにはすでに利益を上げるのに苦労している素晴らしいレストランがたくさんあります。だから、あなたはシェフの大会に行き、食べ物を毒しないシェフを雇う方法を尋ねます。そして、シェフが食物を毒しないとあなたが言うとき、あなたはあなたが今まで知った誰も毒されなかったことを認めますが、誰かがあなたがとにかく心配するつもりだとあなたがそれを心配するべきだと言った。
ボブマーフィー

回答:


77

開発者を信頼する必要があります。

ほぼすべてのプロの開発者がソースを盗むことはありません。あなたが他の誰かのために働いているなら、それはあなたが書くコードを所有している雇用主であると理解されています。開発者参照目的でコードをコピーする場合がありますが、他の人に販売することはほとんどありません。彼らが新しい雇用主にそれを売りに出した場合、おそらく結果はドアを見せられ、おそらく逮捕さえされるでしょう(ボブ・マーフィー彼のコメントで指摘しているように)。捕まることはリスクに見合うものではありません。

さらに重要なのは、不信が不信を生むことです。USBポートとDVDライターを無効にすると、不信感が生じ、逆説的に、開発者がコードをコピーする可能性が高くなります。

契約に秘密条項を必ず追加しますが、おそらく契約の最も重要な部分として強調する必要はありません。


2
開発契約や雇用契約では、短い秘密条項が完全に普通です-しかし、ChrisFが言ったように、それで行き過ぎないでください。一握りの契約開発プロジェクト以上のことをした人にとって、恐ろしい脅威との長い秘密の契約は、あなたが無知なアマチュアだと言うだけです。6〜20行のテキストのどこからでも実行できるオンラインの標準句があります。あなたが違反の場合に弁護士に喜んで喜んでいるなら、それは十分です-そして、そうでなければ、秘密保持契約は無意味です。
ボブマーフィー

46
また、現実の世界では、第三者は盗まれたコードを望みません。リスクは大きすぎる。InformixとOracleが90年代半ばにエンタープライズリレーショナルデータベース市場向けに公開していた頃、Informixの開発者の1人がOracleへの参加を辞め(非常に一般的でした)、Informixのソースでいっぱいのハードドライブ(彼は't)。彼はオラクルの新しい上司に温かい歓迎を期待して語ったが、代わりにセキュリティチームと逮捕を受けた。その後、OracleセキュリティはInformixセキュリティと呼ばれ、ハードドライブはInformixに戻りましたが、Oracleの誰もそれを見ませんでした。
ボブマーフィー

1
@ボブ・マーフィー
アベル

1
この正確な答えを入力しようとしていました。実際、信頼はプロジェクトの成功に不可欠です。ChrisFが述べたように、開発者のコ​​ンピューターのコンポーネントを無効にすると関係が悪化し、それらの開発者に信頼されていないことを通知します。コードを本当に保護する唯一の方法は、開発者がどこで寝るか、どこで食事をするか、誰と話すかなどを制御することです。違反者を罰するために必要な法的弾薬を与えるために、よく書かれた契約を持っていることを確認してください。
TheBuzzSaw

2
2つの単語:エドワード・スノーデン(en.wikipedia.org/wiki/Edward_Snowden)。米国連邦政府内の最も秘密の部門でさえ、この問題に対する良い解決策を持っていません。何があなた(OP)にあなたがもっと良くできると思いますか 表面的な技術的制限ではなく、信頼と合理的な封じ込めでソリューションを構築してください!
rinogo

74

これらのプログラマーがそもそもソフトウェアを作成できる場合、...

彼らはそれを盗む必要はありません。

元々の開発にかかった時間の何分の1かで簡単に書き換えることができます。はい、それは本当です、開発者は完全な馬鹿ではありません...彼らが何かをする方法を見つけたら、彼らはしばしば彼らがそれをやった方法を覚えていることができます。

ですから、あなたはそれらを信頼するか、自分でソフトウェアを書く必要があると思います。


3
それは非競合句の引数ですか?;)
ティム

8
確かに、あなたのプログラマは、頭の中でその知識を持っているおかげで、すでにあなたのコードをコピーしています。
フランク・シェラー

という事は承知しています。新しく参加した開発者にコードをスキャルピングしたくない。
アベル

3
@abel、盗まれたコードは、あなたが思っているほど有用ではありません。ソースコードがなくても、アプリを「複製」できます。 独自のアルゴリズムでは、今thatsのあなたが安全に保つために何をしたいです。開発者はそれらを学ぶためにコードを「盗む」必要はありません。ただ読んでから再作成するだけです。アルゴリズムを推測するには、プログラムを使用するだけで十分かもしれません。だから、他の人が言ったように、単純な非競合句はトリックを行い、あなたができることのすべてです。コードを物理的にセキュリティで保護することは、時間の無駄です。なぜなら、その価値のある開発者はそれを簡単にバイパスできるからです。
GrandmasterB

11
+1真実のために...そして私を笑わせて椅子から落ちさせるために。牛は牛乳を盗む必要はありません。8D
TheBuzzSaw

22

20ドル以上の価値はないというアイデアを聞いたことがあります(それはカナダドルです!)。アイデアは、うまく実行された場合にのみ価値があります。彼らがコードを盗んで自分でやろうとする場合でも、次のステップが何であるかをよりよく理解し、ソフトウェアの見込みバイヤーとの接触が増える可能性があります。

信頼できる人だけを雇うことは間違いありませんが、彼らがあなたのコードを盗んでそれを売ろうとしても、彼らはあまり遠くに行かないでしょう。


9
これは絶対に真実です。あなたのユニークなアイデアを極秘にしておくことを忘れて、他の誰よりもそれを実行することに集中してください。ほとんどのアイデアは、彼らの時間の産物であり、独立して複数の人々に発生します。(アンリポアンカレも1900年代初頭に相対性理論に取り組んでいたが、アインシュタインは彼を出版に打ち負かした。信頼できる事業計画と専門家チームが資金を得るものです。
ボブマーフィー

1
関連:sivers.org/multiply。悪いアイデアは2ペンスの価値さえありませんが、良いアイデアは20ドル以上の価値があります。
Pacerier

6

難しい真実は、誰もあなたのコードを望んでいないということです。誰もがそれがどのように機能するかを知りたいと思う解決策を開発すると考えるかもしれません。しかし、多くの場合、そうではありません。

競合他社のソースコードを引き継いだ場合はどうしますか?配布することはできません。コードの一部をプロジェクトにコピーすることはできません(サードパーティのコードをコードベースに統合するのがそれほど難しくない場合でも)。あなたにできることは?勉強できます。しかし、多くの場合、コードを最初に書くよりもコードを読むのが難しいです。

オープンソースソフトウェアを見てください。盗まれたソースコードに最も近い例えです。膨大な量のメンテナンスされていないコードがあります。大部分には、ニーズに合わないライセンスがあります。その他には、互換性のないプログラミング言語があるか、プラットフォームに移植する必要があります。ニーズに合ったコードを読むには十分な時間がかかります。

クローズドソースの考え方を持つ多くのオープンソースプロジェクトがあります。すなわち、彼らはパッチを受け入れません。すぐにコードのバージョンが大きく逸脱するため、新しいバージョンをマージすることは不可能になります。

最も価値があるのは、コードを維持し、前進させるチームであることを理解する必要があります。コード自体ではありません。


5

これがなんらかのスタートアップである場合、あなたがする必要がある一番のことは、製品を構築することです。あなたは一生懸命に働き、プロジェクトに専念する優秀な開発者を必要としています。

それらを取り除く、または少なくとも彼らの士気と献身を取り除くための本当に簡単な方法の1つは、あなたが彼らを信頼していないことを前もって示すことです。実際、彼らはコードを引き出す方法を考え始める可能性があります(ほとんど確実にフォローしませんが)、彼らが方法を思い付くことができれば、彼らはあなたが妄想だけでなく愚かだと思うでしょう。(このレベルの注意が正当化される組織があり、金融​​ウェブサイトのスタートアップはそれらの1つとは見なされません。)

ソフトウェアがあなたの財産であるかどうかに関する契約のいくつかの条項は問題ありません。誰かがこれに違反する場合、彼らはあなたが持っているより厳しい言語に違反し、おそらくより正当化されたと感じます。狭くて時間制限のない非競争条項は、あなたが望む人々を追い払うだけであり、実際、あなたの管轄区域で合法ではないかもしれません(調べるために地元の弁護士に相談してください)。

優秀な人を雇えば、彼らは後でソフトウェアを書き換えることができます。あなたが初心者を雇うと、彼らは彼らが歩むものをさらに開発する方法を知りません、そしてそれを構築している人はあなたが持っているものの劣ったバージョンで遅く来るために深刻な法的リスクを冒しています。

要するに、これはあなたが心配することに関してはかなり低いはずです。悪い人を雇うと、何があっても沈んでしまいます。良い人を雇うことに集中して、このスライドをさせてください。


4

あなたの潜在的な顧客がそこの財政でなぜあなたを信頼するべきであるか。

結局のところ、あなたはお金で逃げ出すかもしれません。

Microsoft、Google、IBMなどの企業は、数千人の従業員を雇用してクローズドソースソフトウェアを大量に作成しており、スタッフがコードを使用することを過度に心配していません。著作権保護と雇用契約の明確な「任意のコードは雇用主に属する」条項がそれをカバーしているようであり、コードを盗んだ元従業員に対する訴訟は非常にまれです。

さらに、ソフトウェアを広範にリリースすると、コアに高度な数学が含まれていない限り、有能なプログラマーチームはソースコードを見ることなくアプリケーションを再現できます。


3

他の人が述べたように、これは主に人々の懸念のようです。

ただし、データリークに対するソフトウェアソリューションを販売している主要なセキュリティベンダーは多数あります。

これらのソリューションの経験は限られているため、それらの有効性や妥当性についてコメントすることはできませんが、これを指摘することが役立つと考えました。


3
アイデアのように、唯一の心配は、これらの製品が企業の言語でいっぱいであり、実際に何をしているかを説明していないことです:)
火星ロバートソン

2

正直に言って、他のみんなが言ったように、あなたはあなたのプログラマを信頼する必要があるだけです。

ただし、いくつかの特定の市場を除いて、今日の環境でプロジェクトをオープンソース化することは、あなたを傷つけるよりもあなたを助ける可能性が高いと本当に考えるべきだと言って付け加えます。アイデアにもっとオープンになれば、自分でやらなくても、ソースコードが足を伸ばして走り去る心配を減らすことができます。私の意見では、できる限りの善意を集めてください。そうすればお金を稼ぐ可能性が高くなります。たとえ帝国が世界で最高のアプリを提供したとしても、ルーク・スカイウォーカーがそれをダウンロードしたとは思いません。帝国の理想が間違った場所にあったからです。

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