微软演示数据库版权,开源演示数据库?

时间:2011-06-26 03:48:48

标签: database testing demo database-testing

LGPLv3下获得许可的开源项目中,我需要一个小型的演示数据库。项目针对多个数据库,因此为了测试的一致性,可以使用一些简单的SQL脚本为所有数据库提供相同的演示数据。

Microsoft提供了一个用于SQL Server的小型演示数据库,它是 pubs (在SQL Server 2000的演示数据库包中以及 Northwind )。它有两种形式:作为SQL脚本和插件数据库文件。脚本的版权如下:

/*                                                                        */
/*              InstPubs.SQL - Creates the Pubs database                  */ 
/*                                                                        */
/*
** Copyright Microsoft, Inc. 1994 - 2000
** All Rights Reserved.
*/

我已经修改了一个脚本来为SQLite生成具有相同数据的数据库。但现在我意识到这可能不是一个好主意。所以,我想澄清一些问题:

  1. 我可以而且应该在我的项目中包含原始SQL脚本/ MDF文件Microsoft脚本吗?
  2. 可以而且应该包含修改后的SQL脚本/ sqlite数据库,如果是,谁将拥有该脚本/数据库的copiright?
  3. 有没有我可以用于我的目的的开源演示数据库(包括和修改SQL脚本)?例如This one
  4. 我几乎可以肯定前两个答案是“不”,第三个答案是“是”。但我还不确定。

    更新 找到另外两个基地BIRTChinook首先是Eclipse许可证,第二个是MS-PL,我再次不确定我是否可以使用它们。

    更新2: 好像这不是什么大问题。我意识到我可以为代码的不同部分使用独立许可证。由于它不是项目代码的重要组成部分,而只是一个测试数据库,我可以使用它的原始许可证BSD,Eclipse,MS-PL来工作和包含它。

    所以现在的主要问题是,我应该使用哪一个?条件是它必须相当简单(大约10个表)并且脚本应该在大多数数据库引擎上执行而无需重大修改。 Chinook似乎是一个理想的选择,但它不是来自主要的软件提供商,我想使用一些已经流行且“经过测试”的数据库。

    最终更新 经过一些重新/搜索之后,我已经放弃了让一个测试数据库来统治所有的想法,因为这极大地限制了数据库引擎的某些功能并且测试变得不切实际。所以我会为每个引擎使用不同的数据库。至于MS数据库,我认为这只是偏执狂,MS可能不会起诉我任何事情:)。

1 个答案:

答案 0 :(得分:1)

为什么不写自己的?听起来这个版权问题引起你的麻烦需要花费更少的时间(特别是对于如此小的数据库要求)。一些例子可能是无处不在的博客,讨论论坛等。