在几个站点托管一个开源项目

时间:2009-02-11 12:19:09

标签: open-source project-hosting

假设我有一个开源项目,我想尝试并为其生成一些曝光。例如,在githubsourceforgegoogle code等多个网站上为其设置项目条目会被视为不道德吗?

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

我的直觉是,虽然它可能不是完全不道德的,但它可能会接触到这个...... ...

8 个答案:

答案 0 :(得分:21)

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

此外,一旦人们即将开始,他们只会谷歌项目名称。在Sourceforge,Github和Google Code上找到相同的项目只会让人们感到厌烦。

答案 1 :(得分:8)

我不了解道德规范,但考虑实际情况:

  • 你必须做多次重复 上传到几个不同的网站, 这样做到一个网站可以是一个 疼痛
  • 用户不知道要报告的网站
  • 的错误
  • 如果您使用SVN / CVS / git 存储库,你将有多个 你的代码副本不同 存储库 - 一个非常糟糕的主意

我确定还有其他问题。所以坚持使用一个网站 - 我一直在使用谷歌代码进行我刚刚开始的一个小项目(CSVfix,如果有人参与其中),我可以推荐谷歌很容易设置。

答案 2 :(得分:5)

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

  • Google代码有文件托管,但问题管理很糟糕,所以
  • Launchpad有很好的bug跟踪,但没有wiki,我们使用Mercurial,所以
  • Bitbucket.org有善于托管等。

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

答案 3 :(得分:2)

我建议您为项目选择首选主机。您可以在许多论坛上发布您的项目。曝光将通过搜索引擎进行。

答案 4 :(得分:2)

我不知道为什么你认为这会是不道德或懒散的。也许你可以说更多关于这一点,以便人们可以直接解决你的问题。要衡量这一点,请考虑您是否故意违反服务规则,向任何人说谎如何使用服务,以及以其他方式欺骗。如果您使用多种服务,我认为您无需隐藏任何内容。

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

您还应该考虑这些免费网站的社交建设。像SourceForge和Github这样的地方提供免费账户,但他们也出售服务。他们通过免费的东西获得嗡嗡声,允许他们出售高级服务。我没有看到任何错误。如果您正在使用免费服务,只需意识到,作为免费使用的回报,他们会将您作为免费测试人员,广告客户等使用。再说一次,我没有看到任何错误。这只是交易的一部分。你不只是从他们那里拿走,你也是在给他们。同意方之间有交换。

我认为,任何不道德的服务都禁止您使用其他服务或故意设置一种情况,这种情况会使您难以使用其他服务,因为它与常用工具不兼容或者无法访问您你的数据(例如以某种方式禁止使用git-svn等)。

答案 5 :(得分:0)

跨越这些不同主机的服务将是不方便的并且难以维护。对于上面提到的依赖搜索引擎来产生流量,请注意选择一个名称,以区分您的项目和网络噪音。如果您的项目首先获得有关拼写的重新建议,则明确指示流量不会到达。以从GNU为您带来chattr项目的人为例。立即chatr被建议为正确的搜索,您的流量将相应地受到影响。

答案 6 :(得分:0)

因为我已经说过要在几台主机上维护代码会让它更麻烦然后它值得。您需要考虑的是,您需要确保它在多个主机上正确上传,如果一个副本合法而其他副本不会导致一个错误的名称,那么它可能会导致一些混淆。甚至在你开始之前的项目。 一天结束时,有更多,更好的方式传播你的项目,社交网站,特定的相关论坛是你要考虑的两个主要的,无论哪种方式,你会更好地花时间发布到几个网站然后您可以在多个站点上传和维护代码。

答案 7 :(得分:0)

我认为有几个(独立的)镜像对社区有利,因为这样的分布式确保了您现在和将来的公共工作更可靠的可访问性(它将在任何单个托管站点失败后继续存在)。

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

我认为做出一些努力确保您的公共工作以最易于访问的方式发布(具有良好的文档记录,并保证在有人感兴趣的任何时刻可以访问它)是相当道德的(或道德的)。

你努力将你的工作独立地推到几个地方(我的意思是,他们不会相互依赖)并管理所有这些可能不是真正的噩梦(正如其他答案所示),特别是一个DVCS。例如,一个can even set up Git so that one pushes to several places with just one command

我觉得,除非你强迫某人阅读你所做的事情,否则你只是把你的东西放在某个地方,如果有人感兴趣的话,你可以找到和获取它,你不是自私的,也不是自我的。