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


狗头军师
2025-01-29 05:56:07 (1月前)

我一直在阅读关于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以外的任何事物都开放。另外,我目前的项目只是我自己开发的,但未来的项目可能是协作的,因此值得考虑…

2 条回复
  1. 1# v-star*위위 | 2020-08-24 14-24

    该答案仍在获得观点和投票。它不只是古老的,我想删除它,但是由于它是公认的答案,所以我不能这样做。再说一次,它是社区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。

登录 后才能参与评论