web-dev-qa-db-ja.com

パブリックリポジトリとプライベートリポジトリ

販売中のアプリを開発しているとしましょう。このプロジェクトにパブリックリポジトリを使用することには意味がありますか?デフォルトの著作権はコードを使用している他の人からコードを保護していませんか?もしそうなら、プライベートリポジトリの支払いにはどのような利点がありますか?

8
Michael Mangold

アプリケーションがクローズドソースの場合、プライベートリポジトリに配置する必要があります。著作権はあなたを合法的に保護するかもしれませんが、誰かがあなたのコードを盗もうと決めたとしても、彼らはおそらく気にしません。次に、これらの人々を見つけ、彼らがアプリケーションでソースコードを使用したことを識別し、それを裁判官に証明できるかどうかは、あなた次第です。

これは、何か新しいことをしている場合に特に問題になります。新しい種類のアルゴリズムを作成したか、まだ実行されていない方法でWebサービスまたはAPIを組み合わせた可能性があります。アプリケーションをお金でリリースし、包括的なハウツーガイドをオンラインで公開してすべての人に見てもらい、競争上の優位性を大きく損なうことになります。

ユーザーセキュリティを何らかの方法で処理している場合、攻撃者がソースコードを読み取ることができれば、行った間違い(および間違い)がはるかに簡単に発見され、悪用されます。一部のオンラインリポジトリにはバグトラッカーがあります-人々はそれを追跡でき、見つかった脆弱性を直接指摘し、それらを利用するためのウィンドウ(バグの修正にかかる時間、およびパッチを適用するユーザー)。

また、5人以下のチームの場合は、 BitBucket を使用して無料でコードを非公開でホストできます。他にも確かなサービスがありますが、私が使っているのでそのサービスを知っています。

14
Carson Myers

プライベートリポジトリは、まあ...プライベートです。 :-)

オープンソースの狂信者のようなものなので、私はカーソンとは多少異なります。彼はある意味で完全に正しいですが、オープンソースのプライベートソフトウェアでも(とにかく私の考えでは)大したことではありません。

すべての意図と目的のために、githubで nlicensed を維持することができます。違いはありません。リリースするまで、リポジトリへのgithubトラフィックはほぼゼロになります。そして、あなたは決して知りません-一部のユーザー/コーダーがそれにぶつかって、パッチ、提案、機能リクエストなどを志願するかもしれません。

10億ドル規模のアプリケーションを構築しているのでなければ、誰もあなたのコードを重要な方法で気にすることはありません。そして、あなたがそうするなら、あなたはすでに何十億も持っているでしょうし、彼らがそれにアクセスできてもあまり気にしないでしょう。アプリケーションの価値は、ソースコードからではなく、マーケティング、サポート、および保守を行う能力にあります。

2

デフォルトの著作権は、コードを使用している他の人からコードを保護していませんか?

ここでまた行きます。私は弁護士ではありません。これは法律上の助言ではありません。基本的には何もありません防止だれもがソースコードを見て、そこから派生物を作成することはできません。これをパブリックリポジトリに配置した場合、アクセスを制限するためのチェックボックスまたは登録フォームを用意することができます。そして、これがキッカーです。相手が派生作品を作成したというあなたの主張を確立するのはあなた次第です。彼らがあなたのソースコードを見なかったことを彼らに証明するのは彼ら次第ではありません。その上、それは直観に反するものではありません、そしてそれは本質的にそれが彼らの言葉に対してあなたの言葉であるというシナリオを設定します。

このプロジェクトにパブリックリポジトリを使用することには意味がありますか?

上記に基づいて、パブリックリポジトリを作成しても意味がありません。ソースコードへのアクセスを制御できるプライベートリポジトリに移動する必要があります。ほとんどの大企業はアクセス制御をはるかに拡張しています。通常、開発者は自分が扱っているプロジェクトにのみアクセスできます。つまり、アクセスは知る必要がある場合にのみ提供されます。特に、いくつかの機能が知的財産を構成し、特許を取得している場合、またはそのことについては、会社に競争上の優位性をもたらす秘密のソースである場合は特に、問題が発生します。

プライベートレポジトリの支払いにはどのような利点がありますか?

上記のものとは別に、プライベートリポジトリによって提供される典型的な利点は、あなたとプロバイダーの間の契約が本質的にNDAを含むことです。持っていない場合は、プライベートであると思われるリポジトリを持つサービスに対してのみ支払います。結局のところ、プロバイダーの運用チームのメンバーがソースを覗き込んで派生作品を作成することを妨げるものは何もありません。

2
Vineet Reynolds

アプリケーションを販売する場合は、膨大な労力を費やすことなくライセンスシステムをバイパスする方法を全世界に示しているので、公開リポジトリは使用しません。彼らが本当にそれをクラックしたい場合、彼らはいつかそこに着くでしょうが、投資ははるかに高くなり、したがって、すぐに起こる可能性は低くなります(難読化などのさらなる話題から外れることなく)。

あなたがcouldパブリックリポジトリでソースをホストする唯一のポイントは、アプリケーションを市場(iphone、Android、wp7など)で購入する必要があり、心配する必要がない場合です。ライセンスについてはそれだけです...そして、それでも私はそれをお勧めしません。なぜなら、人々はソースをダウンロードして自分で公開するか(いくつかの小さな変更を加えて...)、ロックされていないデバイスにインストールできるからです。

著作権の問題について:私は弁護士ではありませんが、著作権をめぐって争うには、コードが最初に存在したことを証明できる必要があります。タイムスタンプ付きのバージョン履歴は少し役立つかもしれませんが、それをバイパスする方法があります(プライベートホスティングなど)。それを非公開にしておくと、人々はそれを盗むことができません(実際の実装ではなくアイデアだけ)。それに対処する必要があります。

2
Bart