web-dev-qa-db-ja.com

オープンソースプロジェクトをホストする場所:CodePlex、Google Code、SourceForge?

私はSO「オープンソースプロジェクトを促進する方法」に関する回答済みの質問のバックログを読んでいます。当然のことながら、回答の多くはSoureForge/FreshMeatや他のサイトなどにプロジェクトをホストするのに最適な場所とその理由を考え始めました。

私の最初のプロジェクトは現在CodePlexでホストされているため、Googleの検索結果を調べて、それぞれの長所/短所に関する情報を収集し始めました。しかし、私が見つけた比較はかなり古いものです(2歳以上)。

http://www.stum.de/2008/12/13/sourceforge-vs-codeplex/
http://www.developmentnow.com/blog/2006/11/codeplex-vs-sourceforge/
http://www.spacesocket.com/forum/thread-6654.html
等...

そのため、次の質問は「プロジェクトを複数のサイトでホストする必要があります」になり、次の投稿で予想される答えを提供します(ありがたいことに、それは維持するのが面倒です)。

複数のサイトでオープンソースプロジェクトをホストする

CodePlex、GitHub、Google Code、SourceForgeなどのさまざまなオープンソースホスティングサイトの現在の状態に基づいて、あるサイトが他のサイトより優れている点はありますか?つまり、CodePlexに固執する必要がありますか、それとも代替の1つを使用しないことで欠落していますか?新しい未知のプロジェクトにより多くのトラフィックをもたらすでしょうか?

私は各サイトをさらに詳しく調べて、それらがすべて提供するものを見るつもりですが、SOの良き人々の膨大な知識を考えると、まずこの質問から始めようと思いました。

[〜#〜] updated [〜#〜]

以下のerjiangの回答によると...現在、バージョン管理にMercurialを使用していますが、TFS以外のものに対してはオープンです。また、私の現在のプロジェクトは私だけが開発していますが、将来のプロジェクトは検討する価値があるため、共同プロジェクトになる可能性があります...

166
Chris Baxter

2015-08-01の編集:この回答には、まだ意見や投票が寄せられています。それは古代のものであり、私はそれを削除したいのですが、それは受け入れられた答えなので、私はそれをすることはできません。繰り返しになりますが、コミュニティWikiであり、コミュニティは最新の状態を維持しています。ありがとうございます。

SourceForgeは、プロジェクトを引き継ぎ、アドウェア( Google GIMP Sourceforgeアドウェア )にバンドルして、暗黒面に渡りました。あらゆる費用を避けてください。 GitHubは現在でも最も人気がありますが、代替手段があります(例: BitBucket は最大5ユーザーまで無料で無制限のプライベートリポジトリを提供します)

過去数年間で景色がどれほど変わったかはおかしく、将来これを読んでいるなら、GitHubはもはやクールな製品ではないかもしれません。要するに、使用したいソース管理システムには素晴らしいオプションが豊富にあります。

古い2010歴史のための以下の情報

編集:この答えは今では古くなっています。過去2年間で、GitHubはコードホスティングの主要な場所として浮上してきました。新しいOSSプロジェクトを作成する必要があるときはいつでも、どこに行けばいいのかという疑問の痕跡はありません。参照用にこれを残します。

実際、私の投稿はほぼ2年前(2008年)であり、完全に正確ではありません。

どうして?

なぜなら、SourceForgeは現在、オープンソースプロジェクトにとって重要ではないと考えているからです。さて、これは私を多くのトラブルに巻き込むので、明確にさせてください:

オープンソースプロジェクトはDVCSで実行する必要があると確信しています。GCSまたはMercurialが最も普及しているためです。Bazaarに対抗することはできませんが、ちょっとわかりにくいと思います。 (Edit:SourceForgeがMercurialとBazaarを提供するようになったため、議論はもはや成り立たなくなりました。企業のイメージへ:GitHubはAppleですが、SFはIBMです。堅実ですが、少し埃っぽいです)

したがって、この投稿をもう一度書くと、 CodePlex vs. GitHub vs. BitBucket となり、GitHubが勝者になります。しかし、それは包括的な声明なので、詳細を追加しましょう。 +/-は厳密にはPro/Conではなく、さまざまな哲学を強調するためのものです。

CodePlex

+本物のMercurial/Gitホスティング-TFS上にバグのあるブリッジはありません。本物のMercurial/Gitがあります。
+充実したドキュメントと見栄えの良いページを追加できる統合ウィキ
+バグトラッカーとディスカッションフォーラムが含まれています
-ソースコードブラウザーはそれほど優れていません-ポップアップに差分が表示され、単に「感じ」ます
-フォークおよびプルリクエストは「それほど簡単ではありません」-UIはいくつかの作業を使用できます

全体として、CodePlexは依然として優れていますが、Webサイトの焦点はソースコードではなくWikiにあるため、単一の開発者または非常に小さなチームに適していると感じています。コラボレーションプラットフォームというよりも、出版物です。理論的には、プロジェクトのホームページは必要ありません。CodePlexプロジェクトはワンストップショップになります。

GitHub

+ Gitホスティング、SSL/SSHをサポート
+ネットワークグラフにより、分岐点と何が何にいつ統合されたかを確認できます。
+プロジェクトを「見る」機能-アカウントページは、新しいチェックインを備えたFacebookの壁のようなものです
+単一行の変更についてコメントする機能を備えた非常に優れたdiffビューア- こちらを参照
+フォークは2クリックプロセスであるため、プルリクエストを送信しています。
+ GitHubにGUIツールが追加されました GitHub for Windows
-メインページは、非開発者にとってあまり「きれい」ではありません。プロジェクトにReadmeがある場合(MarkdownやHTMLなどの一部のマークアップ言語をサポートします)は表示されますが、最初のページはソースコードです
-Wikiはそれほどすばらしいものではありません。Markdownですが、フォーマットが少し複雑すぎると感じることがあります。

GitHubには、CodePlexとは異なる哲学があります。それは、ソースコードと開発者間のコラボレーションに関するすべてです。メインプロジェクトページは、最新のソースコードです。個別のWikiがありますが、それはプロジェクトのプレゼンテーションではなく、ドキュメントを対象としています。ネットワークグラフは素晴らしいですが、約20を超えるフォークがあると混乱する可能性があります(頻繁に知名度の高いプロジェクトが全員に発表され、犬がフォークしているときに、ほとんどのフォークがすぐに消滅します)。 GitHubは任意のサイズに非常にうまくスケーリングします。

実際、GitHubを使用すると、プロジェクトのフォーク、修正/パッチの適用、フォークへのコミット、作成者へのプルリクエストの送信が非常に簡単になります。ネットワークグラフと合わせて、コミットを簡単に確認できます。

ただし、GitHubsのダウンロード機能はそれほど優れていないため、エンドユーザーにプロジェクトを提示し、ダウンロードを提供するために、おそらく別のホームページが必要です。

BitBucket

+ Git/Mercurial
+プライベートリポジトリを最大5ユーザーまで無料で許可します

実際のコメントをするのに十分なBitBucketを使用していません。それを際立たせる1つの機能は、プライベートホスティングが無料である一方、GitHubは課金し、Codeplexはそれをまったく提供しないことです。

Google Code

Google Codeはもうオプションではありません。

-プロジェクトの作成は2015年3月からdisabledであり、Googleサービスは 2016年1月25日に完全に閉鎖 、競合するサービスは単純に優れています。
-ugくて複雑すぎてソースコードを参照できません(リンクが多少埋まっています)

私はそれを使っていないので、悪いとは言いたくない-そうではない。多くのプロジェクトがそれを使用しており、非常に安定しており、堅牢であり、開発者からあまり耳にしたことはありません。しかし、個人的な主観的な意見の問題として「デザイン」は私を先送りにします。

SVN対Git/Mercurial

SourceForgeが廃止されているという上記の私のコメントを繰り返しますが、それはもちろん少し厳しいです。ただし、SVNはオープンソースプロジェクトにとって有害で​​あると考えています。まず、ファイルを無視するための奇妙なメタデータ要件。 GitまたはMercurialでは、ソースツリーのルートに.gitignoreまたは.hgignoreというファイルがあり、無視するファイル/ディレクトリ/パターンのリストが含まれています。 .svnフォルダーに魔法のsvn:ignoreメタデータはありません。これだけで、SVNが水から吹き出されます。新しいVisual Studioプロジェクトを開始する場合は、その魔法のメタデータを適用する必要がありますが、Git/Mercurialを使用すると、1つのファイルをコピーして完了します。

そして、特に小規模/ 1回限りのパッチの場合、フォーク、パッチ、およびプルリクエストの送信機能は素晴らしいです。

最後になりましたが、SourceForgeは私の好みにはまだ複雑すぎます。それは悪いホストではありませんが、本当に私見の年齢であることを示しています。とはいえ、それはまだ堅牢であり、世界中に多くのミラーがあります。また、バグトラッカーは他のバグトラッカーよりもはるかに高度です。

また、何らかの理由でプロジェクトに厳格な貢献ルールが必要な場合(これは理にかなっている場合があります、たとえば、コミットされたコードが実際に法的に貢献することを保証する法的保護)、SourceForgeでホストされているSVNのような従来のシステムが機能する場合があります。

Edit:SFがついにホスティングを分散したことを知らなかった。上記のように、それは堅牢ですが、もはや「クールな子供」ではなく、私はそれがあまりにも複雑すぎると思います。

TL; DR

小規模から中規模のプロジェクトにはGitHubをお勧めします。ニースWebサイトが必要な小規模プロジェクトにはCodePlexを使用し、プライベートプロジェクトにはBitBucketを使用します。非常に洗練されたバグトラッカー、多数の追加機能、および「実際の」Webサイトを必要とする大規模なプロジェクトについては、Source Forgeを検討してください。

128
Michael Stum

さて、あなたはあなたがどのソース管理システムを使用しているかを言っていないので、選択に大きく影響します。

(包括的ではない)

  • Git-> GitHubまたはGitoriousは明らかな選択肢です
  • Mercurial-> BitBucket
  • SVN->サバンナ、SF.net
  • バザー->ランチパッド
  • CVS->新しいソース管理システムへのアップグレード

私はGitのファンですが、Mercurialも素晴らしいです。個人的にGitHubを使用しているのは、簡単な分岐やプルリクエストなどの素晴らしい共同機能です。

CodePlexは、Microsoftキャンプ以外のオープンソースエコシステムではあまり人気がなく、最もダウンロードされたリストから簡単に確認できます。これはおそらく、Microsoftがいかに自然なものであるか、また過去のスティグマから生まれたものの組み合わせでしょう。 .NETまたは同様の何か専用に開発している場合、それによって視点が変わります。

編集:また、開発者は通常、興味深いプロジェクトをランダムに閲覧することはないと主張します。 Codeplexを使用しているのと同じようにGitHubでも気付かない可能性がありますが、誰かがdoesあなたのプロジェクトを発見した場合、送信する可能性が高くなりますメッセージ/ファイルバグ/貢献者が既にそのWebサイトにアカウントを持っている場合。

8
erjiang

Githubは非常に急速に成長しており、最近見たプロジェクトの中で最も顕著なようです。それは私の票を得るでしょう。

しかし、もう一方を使用できないという意味ではありません。ソースにGithubを使用し、ドキュメントにGoogle Codeを使用する多くのプロジェクトがあります。さらに、Sourceforgeからのリンクもあります。

プライマリホストとして使用するものは実際には関係ありませんが、他のサイトにもプロジェクトを追加して、簡単に見つけられるようにすることをお勧めします。

4
Wolph

この質問は、この質問の複製のようです: https://stackoverflow.com/questions/10490/best-open-source-project-hosting-site

その質問に対する私の答えは次のとおりです: https://stackoverflow.com/questions/10490/best-open-source-project-hosting-site/3433969#3433969

一般に、重要な賛否両論は、提供される開発機能と各サイトの主要な視聴者に最も関連すると思います。上記の回答では、最も人気のある4つのサイトについて説明します。

4
jwanagel