在多个站点托管一个开源项目[关闭]

Posted

技术标签:

【中文标题】在多个站点托管一个开源项目[关闭]【英文标题】:Hosting an open source project at several sites [closed] 【发布时间】:2010-10-06 21:31:41 【问题描述】:

假设我有一个开源项目,我想尝试并为其带来一些曝光率。例如,在github、sourceforge 和google code 等多个网站上为其设置项目条目会被认为是不道德的吗?

这纯粹是为了给它更大的曝光率。我意识到这样做可能有一些实际原因,例如想要使用 github 进行源代码控制,以及使用 sourceforge 进行问题跟踪、论坛等。为了这个问题,我想更多地关注您使用其中一个站点作为项目的主站点,并在指向主站点的其他站点上制作“存根”项目的情况。

我的直觉是,虽然这可能不是完全不道德的,但它可能接近于低俗的一面......

【问题讨论】:

【参考方案1】:

坚持使用一个提供商。 “如果你建造它,他们就会来”:)

此外,一旦人们确实开始来,他们无论如何都会在谷歌上搜索项目名称。在 Sourceforge、Github 和 Google Code 上找到相同的项目只会惹恼人们。

【讨论】:

是的,我同意。经过深思熟虑,我选择了 Google 代码。随着时间的推移,SF 似乎变得越来越慢和越来越丑陋。之前在考虑 GitHub,但 Google 代码现在支持 Hg,另外一个优势是互联网上几乎每个人都有一个 Google 帐户,因此在问题数据库等中记录错误的摩擦要小得多。【参考方案2】:

我不了解道德规范,但请考虑实用性:

您将不得不多次重复 上传到几个不同的网站, 对单个站点执行此操作可能是 疼痛 用户不知道要举报哪个网站 错误在 如果您使用 SVN/CVS/git 存储库,您将拥有多个 您的代码副本在不同 存储库 - 一个非常糟糕的主意

我确定还有其他问题。所以坚持一个网站 - 我一直在使用谷歌代码来完成我刚刚开始的一个小项目(CSVfix,如果有人感兴趣的话),我可以推荐谷歌,因为它很容易设置。

【讨论】:

【参考方案3】:

我认为这很好,因为每个提供商可能都有您想要的东西。您应该选择最适合您的项目的服务。例如:

Google 代码有文件托管,但问题管理很糟糕,所以 Launchpad 具有出色的错误跟踪功能,但没有 wiki,而且我们使用 Mercurial,所以 Bitbucket.org 有 mercurial 托管等。

因此,使用 Launchpad 进行错误跟踪,使用 Google 代码托管文件和 wiki,并使用 Bitbucket.org 托管源代码可能是合理的。

【讨论】:

【参考方案4】:

我建议为您的项目选择首选主机。您可以在许多论坛上发布有关您的项目的信息。曝光将来自搜索引擎。

【讨论】:

【参考方案5】:

我不知道你为什么认为这是不道德的或低俗的。也许你可以多说一些,这样人们就可以直接解决你的问题。要衡量这一点,请考虑您是否故意违反服务规则、​​向任何人谎报您如何使用服务以及以其他方式进行欺骗。如果您使用多种服务,我认为您没有什么可隐瞒的。

考虑一下我所处理的 Perl 社区。多个项目托管在源代码控制服务之一上,例如 SourceForge、Google Code 或 Github。不过,大多数 Perl 东西的主要发行版是 CPAN。其他人可能会通过 Freshmeat 或其他一些服务进行分发。主要问题跟踪器来自 Best Practical,它为 CPAN 上的每个 Perl 模块提供免费的RT。我认识的大多数人都使用不止一项服务中最好的。实际上,Web 2.0 的方式是通过将来自多个供应商的服务组合在一起来创建应用程序。 :)

您还应该考虑这些免费网站的社会建设。 SourceForge 和 Github 等地方提供免费帐户,但它们也出售服务。他们通过免费的东西获得嗡嗡声,这些东西允许他们销售优质服务。我看不出有什么问题。如果您正在使用免费服务,请意识到作为免费使用的回报,他们可以将您用作免费测试员、广告商等。再说一次,我看不出有什么问题。这只是交易的一部分。你不只是从他们那里拿走,你也在给他们。同意方之间进行交换。

我认为,任何服务禁​​止您使用其他服务或故意设置一种情况,通过与常用工具不兼容或不授予您访问权限而使您难以使用其他服务的任何服务都是不道德的到您的数据(例如,以某种方式禁止 git-svn,等等)。

【讨论】:

我也不认为这是不道德的,但是仅仅为了增加曝光率而在不同的站点托管可以被视为有点令人反感的自我支持。有点像在推特上关注数百人,不是因为你对他们的推文真正感兴趣,而是希望关注你回来增加你的关注者数量。昏昏欲睡。【参考方案6】:

跨越这些不同主机的服务将不方便且难以维护。对于上述对搜索引擎产生流量的依赖,请注意选择一个能够将您的项目与网络噪音区分开来的名称。流量不会到达的一个明确迹象是,如果您的项目首先获得了关于拼写的重新推荐。以从 GNU 为您带来 chattr 项目的人为例。立即建议使用 chatr 作为正确的搜索,您的流量将因此受到影响。

【讨论】:

【参考方案7】:

正如我已经说过的那样,必须在多个主机上维护代码会使其更加麻烦,这是值得的。您必须考虑的是,您需要确保它在多个主机上正确上传,如果一个副本是合法的而其他副本不是合法的,那么它可能会导致一些人混淆,这反过来可能会导致坏名声在你开始之前的项目。 一天结束时,有更多更好的方式来传播您的项目,社交网站,特定相关论坛是您需要考虑的两个主要方式,无论哪种方式,您最好花时间在多个网站上发布您会在多个网站上上传和维护代码。

【讨论】:

【参考方案8】:

我认为拥有多个(独立的)镜像对社区有益,因为这种分布式可确保您现在和将来更可靠地访问您的公共作品(它将在任何单个托管站点出现故障的情况下幸存)。

这就是为什么我要跟踪公开托管开源项目的可用不同选项:

Which public hosting sites for darcs projects are there? Which public Git hosting sites are there that are free software?

我认为付出一些努力来确保以最容易获得的方式发布您的公共作品是相当合乎道德的(或道德的)(有据可查,并保证在有人感兴趣的任何时候都可以访问它)。

您将自己的工作独立地推到多个地方(我的意思是,它们不会相互依赖)并管理所有这一切可能并不是真正的噩梦(正如这里的其他一些答案所建议的那样),尤其是在DVCS。例如,一个can even set up Git so that one pushes to several places with just one command。

我觉得,除非你强迫别人阅读你所做的事情,而是你只是把你的东西放在某个地方,以便在有人感兴趣时可以找到和访问,否则你不是自私或自负的。

【讨论】:

以上是关于在多个站点托管一个开源项目[关闭]的主要内容,如果未能解决你的问题,请参考以下文章

开源 Node.js(和 Express)项目 [关闭]

借助GitHub托管你的项目代码

GitHub托管

转: 借助GitHub托管你的项目代码

在开源中国(oschina)上创建托管项目

关于开源项目的生存分析