2009-11-23 45 views
1

我正在考虑两种可能性:在我的开源项目中包含NUnit下载?

  1. 包括NUnit的与源代码的开源项目的 - 使 很容易让潜在的贡献者 运行自动化测试的时候了。我觉得在这个项目中推广“测试优先”的文化很重要(或者至少让每个人都明白测试的重要性)。
  2. 分发源代码,而无需 它,但后来我不得不在 描述自述如何使测试 运行,并包括一个链接到NUnit的 下载页面。

问题:#1合法吗?这两个选项中的哪一个通常是首选?我希望听到那些熟悉执照法律和熟悉常规做法的人的意见。

+4

我投票结束这个问题作为题外话,因为**它是关于许可或法律问题**,而不是编程或软件开发。 [见这里](http://meta.stackoverflow.com/a/274964/1402846)了解更多信息,以及[帮助/话题]。 – 2015-06-12 23:50:45

回答

0

我会尽力自己回答这个问题。

首先,将我们的开源产品的二进制发行版(针对用户)与其源代码库(适用于开发人员/贡献者)区分开来非常重要。这个问题真的关系到后者。我已经看过两个开源产品作为例子。

NUnit的

  • 二进制:对适合的依赖关系(包括在牌照)
  • 源:对依赖性(下载自己)和log4net的(包括无牌照)

M包括无证

  • 的Microsoft .NET框架参考组件 - -
  • 的Silverlight测试工具没有许可证
  • :OQ

    • 二进制:没有依赖性
    • 源包括以下外部依赖
    • 城堡 - 包括许可证(城堡项目使用Apache许可证,并基于在我的阅读中,这是一个要求)

    因此,包含第三方开发/构建/测试工具与源代码(不包括生产二进制文件)似乎是一种常见的做法,工具可以根据许可证的类型及其要求,包含在或不包含许可证通知中。您可以包含许可证以防万一。

    0

    许多项目都是通过外部库来完成这项任务,所以任何立即检查出来的人都会拥有所有的二进制文件,以防他们需要额外的库。我看到一些项目包含了他们所需工具的完整二进制副本,因此您可以获得应用程序所需的确切版本,以及另一个只包含确切dll或任何项目需求的文件夹。

    +0

    你有这样的项目的例子吗?我想快速浏览他们的源代码。谢谢! – azheglov 2009-11-30 11:52:53