在何处托管开源项目:CodePlex,Google Code,SourceForge?[关闭]


165

我一直在阅读关于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还是不使用其中一种替代品而错过了?会有人为新的未知项目带来更多流量吗?

我计划更详细地研究每个站点,以查看它们都提供了什么,但是鉴于SO的优秀人员广博的知识,我想首先从这个问题开始。

更新

按照下面的erjiang答案...我目前正在使用Mercurial进行版本控制,并且我对TFS以外的其他任何东西都开放。另外,我目前的项目只是我自己开发的,但未来的项目可能是协作的,因此值得考虑...


55
IMO完全没有必要解决这个问题。我想知道结束时取得了什么成就?这个问题有很多反对意见(显然人们很感兴趣),它的回答也很高(所以这个问与答显然是有帮助的),它是社区Wiki(所以即使它要求主观意见或产品推荐,也没有人可以仅仅因为赞助最新,最出色的产品而获利)。
stakx-不再提供

12
这种类型的问题得到如此多的答复之前应该已经结束,因为它实际上并不是适当的类型。但是,由于它已经获得了如此多的回应,结账起了反作用,并且贬低了已作出的贡献。
克里斯·斯特拉顿

4
通过关闭@stakx这个问题可以实现的一件事就是保护它免受新的答案。现在,它肯定会变得无关紧要。
鲍勃·斯坦

@ BobStein-VisiBone沉没无关紧要?在最初提出这个问题之后的六年中,我才提出这个问题。
威尼娅

2
@wonea我很讽刺。当遇到诸如此类的相关,有用和可回答的问题时,我感到失望。就目前而言,如果出现了托管开源的新机会,那么此页面将人为地限制为将其编辑为现有答案。机会问题尤其需要发展的空间。我希望它每年都会变得更加陈旧。Stackoverflow很棒,但是也浪费了很多很棒的东西。
鲍勃·斯坦

Answers:


127

编辑2015-08-01:该答案仍在获得观看和投票。它不只是古老的,我想删除它,但是由于它是公认的答案,所以我不能这样做。再说一次,它是社区Wiki,社区已将其保持最新状态-谢谢!

SourceForge陷入了黑暗的一面,接管了项目并将其与Adware(Google GIMP Sourceforge Adware)捆绑在一起。不惜一切代价避免。GitHub仍然是最受欢迎的版本,尽管还有其他选择(例如,BitBucket最多可免费提供5个用户的无限私人存储库。)

在过去的几年中,情况发生了很大变化是很疯狂的,如果您将来阅读此书,也许GitHub不再是很棒的产品。最重要的是:对于要使用的任何源代码控制系统,都有许多很棒的选项。

为了历史起见,下面的2010年旧信息

编辑:这个答案现在很古老。在过去的两年中,GitHub成为了主要的代码托管场所,每当我必须创建一个新的OSS项目时,我都没有去哪里的阴影。将此留作参考。

确实,我的发帖现在已经快2年了(2008年),不再完全准确。

为什么?

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

我绝对坚信开放源代码项目应该在DVCS上运行,最好是git或mercurial,因为它们是最广泛使用的-对Bazaar不利,但我认为这太模糊了。(编辑: SourceForge现在提供Mercurial和Bazaar,因此这种说法不再成立。但是,经过两次重新设计,我认为SF的形象不太好。将它们与公司形象进行比较:GitHub是Apple,SF是IBM。坚如磐石,但有点尘土飞扬)

因此,如果我要再次写这篇文章,那就是CodePlex vs. GitHub vs. BitBucket,而GitHub是冠军。但这是一个笼统的声明,所以让我添加细节。+/-并不是严格意义上的Pro / Con,而是更多地强调不同的哲学。

CodePlex

+真正的Mercurial / Git托管-TFS之上没有错误的桥梁,您拥有真正的Mercurial / Git
+集成的Wiki,可以添加丰富的文档和漂亮的页面
+包含Bug跟踪器和论坛
-源代码浏览器不是很好-差异出现在弹出窗口中,只是“感觉”复杂
-分叉和拉取请求“不那么容易”-UI可以使用一些工作

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

的GitHub

+ Git托管,支持SSL / SSH
+网络图允许查看派生以及何时合并到什么内容中
+能够“观看”项目-您的帐户页面就像带有新签到的Facebook墙
+具有注释能力的超级优秀差异查看器单行更改- 请参阅此处
+分叉是一个两下单击的过程,发送拉取请求也是这样
+ GitHub现在具有适用于Windows的GUI工具GitHub-
对于非开发人员而言,主页并不十分“漂亮”。如果您的项目中有自述文件(支持某些标记语言,如Markdown或HTML),则会显示该自述文件,但初始页面是源代码
-Wiki并不是那么好-它是Markdown,但有时格式化感觉有点太复杂了。

GitHub与CodePlex有着不同的理念:都是关于源代码和开发人员之间的协作。主项目页面是最新的源代码。有一个单独的Wiki,但是它更多地用于文档而不是项目的展示。网络图非常棒,尽管一旦有超过20个分支就会使人困惑(通常当宣布一个备受瞩目的项目时,每个人和他们的狗都在分叉,但是大多数分支很快就会死掉)。GitHub可以很好地扩展到任何规模。

实际上,GitHub使我可以非常轻松地创建一个项目,应用修订/补丁,将其提交到我的派生库以及向作者发送拉取请求。与网络图一起,非常容易看到提交。

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

比特桶

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

我还没有足够使用BitBucket来发表真正的评论。使其与众不同的一个功能是私人托管是免费的,而GitHub收费,而Codeplex根本不提供它。

谷歌代码

Google代码已不再可用。

- 自2015年3月起,无法创建项目,由于竞争性服务更好,Google服务将在2016年1月25日永久关闭
-这很丑陋,而且浏览源代码也太复杂了(链接有些隐蔽)

我没有使用过它,所以我不想说它不好-不是。许多项目都在使用它,并且它非常稳定和健壮,没有任何开发者对此感到失望。但是,就个人主观观点而言,“设计”使我望而却步。

SVN与Git / Mercurial

在上面重申我对SourceForge过时的评论:当然,这有点苛刻。但是,我确实相信SVN不利于开源项目。首先,奇怪的元数据要求忽略了文件。在Git或mercurial上,您在源树的根目录中有一个名为.gitignore或.hgignore的文件,其中包括要忽略的文件/目录/模式的列表。没有神奇的svn:忽略.svn文件夹中的元数据。仅此一项就为我把SVN吹了出来。如果我启动一个新的Visual Studio项目,则需要应用该魔术元数据,而使用Git / mercurial,我只需复制一个文件并完成该文件。

然后,分叉,打补丁和发送拉取请求的功能非常出色,特别是对于小型/一次性打补丁。

最后但并非最不重要的一点是,SourceForge对于我来说仍然太复杂了。这不是一个坏主机,但它确实表明它已经是恕我直言的年龄了。话虽如此,它仍然很健壮,并且在世界范围内拥有许多镜子。Bug Tracker也比其他的要复杂得多。

另外,如果您的项目出于某种原因需要严格的贡献规则(这可能是有道理的,例如通过法律保护以确保所提交的代码确实是合法贡献的),则可以在SourceForge上使用像SVN这样的传统系统。

编辑:不知道SF终于有了分布式托管。如上所述,它很强大,但不再是“酷小子”,我觉得它太复杂了。

TL; DR

对于任何中小型项目,我都会衷心推荐GitHub,对于您想要一个不错的网站的小型项目,我也建议使用CodePlex,对于私人项目,我建议使用BitBucket。对于需要非常复杂的错误跟踪器,大量额外功能和“真实”网站的大型项目,请考虑使用Source Forge。


3
我不同意Google Code,我认为它简单,直观,轻巧(而且网站速度很快!将它与CodePlex进行比较……!),并且每次都会成为我的第一选择。但是其余的内容很有趣。
康拉德·鲁道夫

2
@Konrad True,正如所说,这是个人的事情。也许简约的方法使我望而却步。在功能方面,我还没有听到任何不好的消息,但是我从未在那里托管过一个项目。
Michael Stum

2
很好的答案,非常详细!很好地解释了我最好奇的主要站点(很好,CodePlex和GitHub)之间的差异。同样有趣的是,您在此阶段将SourceForge视为无关紧要的;绝对与旧文章的观点有所不同。谢谢!
克里斯·巴克斯特

4
您正在运行的项目的类型也有一些特殊的因素。例如,对于.Net项目,CodePlex支持ClickOnce部署,而Google Code不支持。
dbkk 2011年

1
@MichaelStum也许您可以添加GitHub Pages服务。任何GitHub托管项目的入口点都应该是页面。
马蒂亚斯Fidemraizer

8

好吧,您没有说要使用哪种源代码控制系统,这会极大地影响您的选择。

(不全面)

  • Git-> GitHub或Gitorious是显而易见的选择
  • Mercurial-> BitBucket
  • SVN->萨凡纳,SF.net
  • 集市-> Launchpad
  • CVS-> 升级到更新的源代码控制系统

我是Git迷,但Mercurial也很棒。我个人使用GitHub是因为它具有出色的协作功能,例如简单的派生和请求请求。

我想补充一点,CodePlex在Microsoft阵营之外的开源生态系统中不是很流行,从下载最多的列表中很容易看出来。这可能是它以微软为中心的自然状态以及过去的污名化的结合。如果您是专门为.NET或类似内容开发的,那将改变观点。

编辑:另外,我认为开发人员通常不会随机浏览有趣的项目。与在Codeplex上一样,您同样有可能在GitHub上不被关注,但是如果有人确实发现了您的项目,则如果他们已经在该网站上拥有帐户,他们将更有可能发送消息/文件错误/贡献。


2
我目前使用的是Mercurial(不会用10英尺高的杆触碰TFS)
克里斯·巴克斯特

2
容易分叉
Marko 2010年

2
对于任何好奇的人,在GitHub上,它不是修改项目的不可逆拆分,而是修改现有项目的最佳方法。进行个人修改后,您可以向您的原始项目发送一个“拉请求”,以从您的分叉更改。
erjiang 2010年

我同意CodePlex仅针对Microsoft Development。碰巧对我有用...我得到的印象是,如果是通用开源... GitHub; 如果是.NET重点和单个/较小的团队CodePlex。就像对意识的编辑一样,这将是下一场战斗。谢谢!
克里斯·巴克斯特

1
@marko:轻松分叉是一件好事
Nicolas Raoul

4

由于Github的增长非常快,并且似乎是我最近看到的最突出的项目。它将得到我的投票。

但是我认为其中一个并不一定意味着您不能使用另一个。我看到许多项目使用Github作为源代码,并使用Google Code作为文档。除此之外,还有一个Sourceforge链接到它。

用作主要主机并不重要,但是我建议您也将项目添加到其他站点上,这样很容易找到它。


有趣的是,您建议在多个站点上托管。我最初的想法是同意上面链接的参考文献SO答案...您对该线程有何想法?
克里斯·巴克斯特

@卡尔加里编码器:我不是在专门谈论托管,而是更多的链接。几年前,我因速度缓慢和可怕的设计更改而停止使用Sourceforge。但是,在sourceforge上创建项目并链接到github(或任何其他网站)可以使您的项目更容易被发现。在文档方面,我发现Google Code Wiki比Github Wiki更容易,所以这就是为什么我更喜欢它。我确实喜欢Github界面和分叉选项,所以我认为这是您来源的一个不错的选择。对于代码审查,我发现启动板非常好。
Wolph

4

这个问题似乎是这个问题的重复:https : //stackoverflow.com/questions/10490/best-open-source-project-hosting-site

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

总的来说,我认为重要的利弊与所提供的开发功能以及每个站点的主要受众密切相关,在上面的回答中,我将逐步介绍四个最受欢迎的站点。


1
感谢您提供的链接,我试图不重复一个问题,但我错过了那个问题。
克里斯·巴克斯特

1
@CalgaryCoder,您可能至少已投票赞成,因为您花了时间感谢他。Nvm,我为您做到了;-)
Mawg说恢复Monica

这些链接现在似乎已失效。
pbible 2014年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.