在哪里托管开源项目: CodePlex,Google Code,SourceForge?

我一直在阅读关于“如何促进开源项目”的积压的已回答的问题。毫不奇怪,许多答案指向 SourForge/FreshMeat 和其他网站,以及博客等等。这让我开始思考哪里是主持项目的最佳地点,为什么?

由于我的第一个项目目前托管在 CodePlex 上,我开始费力地通过谷歌搜索结果来收集每个项目的利弊信息; 然而,我发现的比较相当过时(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,还是因为没有使用其中一个替代品而错过了它?一个新的和未知的项目会带来更多的流量吗?

我计划更详细地探索每个站点,看看它们都提供了什么,但考虑到对 SO 的好人的广博知识,我想我应该先从这个问题开始。

更新

根据下面二江的回答... ... 我目前正在使用 Mercurial 进行版本控制,我对 TFS 以外的任何东西都是开放的。此外,我目前的项目只是我开发,但未来的项目可能是合作,因此值得考虑..。

41886 次浏览

由于 Github 发展非常迅速,似乎是我这些天看到的项目中最突出的。我会投票支持的。

但我觉得一个不一定意味着你不能用另一个。我看到许多项目使用 Github 作为源代码,使用 Google Code 作为文档。除此之外,还有一个源锻炉的链接。

你使用什么作为主主机并不重要,但是我建议你也在其他网站上添加你的项目,这样就很容易找到它了。

您还没有说您使用的是什么源代码控制系统,这对您的选择有很大的影响。

(不全面)

  • Git-> GitHub 或 Gitorious 是显而易见的选择
  • Mercurial-> BitBucket
  • SVN-> Savannah,SFnet
  • Bazaar-> Launchpad
  • CVS-> 升级到更新的源代码管理系统

我是 Git 的粉丝,但 Mercurial 也非常棒。我个人使用 GitHub 是因为它有很棒的协作特性,比如简单的分叉和拉请求。

我想补充的是,CodePlex 在微软阵营之外的开源生态系统中并不十分流行,这一点很容易从他们下载量最多的列表中看出来。这可能是因为它天生以微软为中心,同时也是因为过去的耻辱。如果你专门为。NET 或类似的东西,然后将改变的角度。

编辑: 另外,我认为开发人员通常不会随意浏览有趣的项目。你在 GitHub 上不被注意的可能性和你在 Codebx 上不被注意的可能性是一样的,但是如果有人 是的发现了你的项目,如果他们已经在那个网站上有一个帐户,他们更有可能发送消息/文件 bug/贡献。

编辑2015-08-01: 这个答案仍然得到观点和投票。它不仅仅是古老的,我想删除它,但是因为它是被接受的答案,我不能这样做。不过话说回来,这是一个社区维基,社区一直在更新它——谢谢你!

SourceForge 已经越过了阴暗面,接管了项目,并将它们与广告软件(源代码广告软件)捆绑在一起。不惜一切代价避免。GitHub 目前仍然是最受欢迎的,尽管还有其他选择(例如,BitBucket为最多5个用户提供无限制的私人回购)

在过去的几年里,GitHub 的前景发生了翻天覆地的变化。如果你将来读到这篇文章,你会发现 GitHub 已经不再是一个很酷的产品了。底线是: 对于任何你想使用的源代码控制系统来说,都有太多可怕的选择。

以下为旧 二零一零年的历史信息

编辑: 这个答案现在已经过时了。在过去的两年里,GitHub 已经成为了主要的代码托管地点,每当我需要创建一个新的 OSS 项目时,我都毫无疑问地选择了去哪里。以下内容供参考。

事实上,我的帖子已经有2年的历史了(2008年) ,现在已经不完全准确了。

为什么?

因为我认为 SourceForge 现在对于开源项目来说是微不足道的。好吧,这会给我带来很多麻烦,所以让我澄清一下:

我完全相信开源项目应该在 DVCS 上运行,最好是 git 或者多变的,因为它们是最普遍的——不是针对 Bazaar,但是我认为它有点太模糊了。(编辑: SourceForge 现在提供 Mercurial 和 Bazaar,所以这种观点不再成立。然而,在接下来的两次重新设计中,我认为旧金山的形象并不太好。将它们与公司形象进行比较: GitHub 是苹果,SF 是 IBM。坚如磐石,但有点灰尘)

因此,如果我再次写这篇文章,它将是 CodePlexGitHubBitBucket,GitHub 获胜。但这只是一个笼统的说法,所以让我补充一些细节。+/-并不是严格意义上的赞成/反对,它更多的是突出不同的哲学。

CodePlex

+ Real Mercurial/Git 托管-在 TFS 之上没有 bug 桥,你有真正的 Mercurial/Git
+ 集成 Wiki,允许添加丰富的文档和漂亮的页面
+ 包括 Bug 追踪和讨论论坛
- 源代码浏览器不是很好-差异出现在一个弹出窗口,只是“感觉”复杂
- 叉子和拉请求“不那么容易”-用户界面可以使用一些工作

总的来说,CodePlex 仍然很棒,但我觉得它更适合单个开发人员或非常小的团队,因为该网站的重点是在 Wiki 上,而不是在源代码。与其说它是一个协作平台,不如说它是一个发布平台。理论上你不需要一个项目主页,你的 CodePlex 项目可以是你的一站式商店。

GitHub

+ Git 托管,支持 SSL/SSH
+ 网络图可以看到叉子和什么时候合并成什么
+ “观察”项目的能力——你的账户页面就像 Facebook 的一面墙,上面有新的签到信息
+ 超级好的差异查看器,可以对单行更改进行注释-参见这里
+ Forking 是一个2-click 过程,发送请求也是如此
+ GitHub 现在有了用于 Windows 的 GitHub 图形用户界面工具
- 主页对于非开发者来说不是很“漂亮”。如果您的项目中有一个自述文件(支持一些标记语言,如 Markdown 或 HTML) ,它会显示出来,但是初始页面是源代码
- Wiki 没那么好-它是 Markdown,但有时格式感觉有点太复杂了。

GitHub 的理念与 CodePlex 不同: 它完全是关于源代码和开发人员之间的协作。主项目页面是最新的源代码。还有一个独立的 Wiki,但它更多的是用于文档,而不是项目的表示。网络图是非常奇妙的,尽管一旦有超过20个分叉(经常当一个高调的项目宣布每个人和他们的狗分叉,但大多数分叉死得很快) ,它可能会变得令人困惑。GitHub 可以很好地扩展到任何大小。

事实上,GitHub 让我非常容易地分叉一个项目,应用一个修复/补丁,将它提交到我的分支,并向作者发送一个拉请求。与网络图一起,很容易看到提交。

但是您很可能需要一个单独的主页来向最终用户展示您的项目并提供下载,因为 GitHubs 的下载工具并不是很好。

BitBucket

+ Git/Mercurial
+ 允许免费的私有存储库,最多5个用户

我用 BitBucket 的次数还不够多,没法发表真正的评论。它与众不同的一个特点是,私人托管是免费的,而 GitHub 收费,而 Codilx 根本不提供这种服务。

谷歌代码

谷歌代码不再是一个选项。

从2015年3月开始项目创建是 残疾人,Google 服务将是 2016年1月25日永久关闭,因为竞争对手的服务更好。
- 它很丑陋,而且浏览源代码太复杂(链接有点被隐藏了)

我还没用过它,所以我不想说它不好-它不是。很多项目都在使用它,而且它非常稳定和健壮,没有从任何开发人员那里听到太多坏消息。然而,作为一个 个人的,主观的意见的问题,“设计”让我感到厌烦。

SVN 与 Git/Mercurial

重申我上面关于 SourceForge 已经过时的评论: 这当然有点刺耳。然而,我确实相信 SVN 对于开源项目是有害的。首先,忽略文件的奇怪元数据要求。在 Git 或 mercurial 上,有一个名为。吉蒂诺尔或者。在源树的根目录中,包含一个要忽略的文件/目录/模式列表。中忽略元数据。Svn 文件夹。仅此一项就让 SVN 公司大出风头。如果我启动一个新的 Visual Studio 项目,我需要应用这个神奇的元数据,而使用 Git/mercurial,我只需要复制一个文件就可以了。

然后,分叉、修补和发送一个 pull 请求的能力非常棒,特别是对于小的/一次性的补丁。

最后但同样重要的是,SourceForge 对我来说仍然太复杂了。这是一个不错的主机,但它真的显示了它的年龄恕我直言。尽管如此,它仍然很强大,并且在世界范围内有很多镜子。此外,臭虫追踪器是更加复杂的比其他人。

此外,如果您的项目出于某种原因需要严格的贡献规则(这可能是有意义的,例如,法律保护以确保提交的代码确实是合法贡献的) ,那么像 SourceForge 托管的 SVN 这样的传统系统可能会起作用。

编辑: 没有意识到 SF 最终已经分布式托管。如上所述,它很强大,但不再是“酷孩子”了,而且我觉得它太复杂了。

DR

对于任何中小型项目,我全心全意地推荐 GitHub,对于那些你想要一个漂亮网站的小型项目,我会选择 CodePlex,对于私人项目,我会选择 BitBucket。对于大型项目,需要一个非常复杂的错误跟踪器,吨额外的功能和一个“真正的”网站,考虑源锻造。

这个问题看起来像是这个问题的复制品: https://stackoverflow.com/questions/10490/best-open-source-project-hosting-site

这是我对这个问题的回答: https://stackoverflow.com/questions/10490/best-open-source-project-hosting-site/3433969#3433969

总的来说,我认为最重要的利弊与每个站点提供的开发特性和主要受众有关,在我上面的答案中,我详细介绍了四个最受欢迎的站点。