2012-04-09 104 views
11

我发现ravendb,我喜欢它,但后来我看到了牌照... GPL或支付为C#开发NoSQL的免费替代品(替代ravendb)

所以我在寻找好的免费为闭环源代码C#开发raven-db的替代。 似乎MongoDB和Berkley也是GPL。

对我来说找到一个嵌入式解决方案要好得多。

+0

gpl许可证有什么问题?它不是免费的吗? – nawfal 2012-04-09 09:06:30

+1

它不是免费的,因为我无法按公司规则编写开源码 – Cynede 2012-04-09 09:08:37

+0

您可以直接使用ravendb使用的Lucene.Net(Apache许可证) – 2012-04-09 09:28:42

回答

4

如果我理解正确,那么您可以使用它的双核心/驱动程序许可证模型safely use MongoDB

还有一件事,AFAIK,除非你的代码发布到一个“世界”,你可以做任何你想做的事情。

+1

要小心 - 尤其是在使用GPL数据库时,以及“链接”代码的含义。你的代码可能与数据库没有任何关系,但是如果你“分发”你的代码,你的手就被强制许可。 “分发”的定义可能不明确,尤其是在网络上。当谈到数据库和GUI小部件时,LGPL是一个更安全的选择。 – mattmc3 2012-04-28 15:25:35

5

像RavenDB和MongoDB,CouchDB的一个文档存储NoSQL数据库与REST API(这样你就可以用任何语言使用)。

但CouchDB的是Apache 2.0的,可以在商业/闭项目中使用下

+1

Couchdb可悲的是没有嵌入 – Cynede 2012-04-09 09:08:53

+0

你在寻找什么样的nosql数据库,除了嵌入的可能性吗?只是面向文档吗? – Kakawait 2012-04-09 09:20:32

+0

不是面向文档的 – Cynede 2012-04-09 09:36:54

-1

是GPL并不意味着你不能在一个封闭源代码的项目中使用它,除非你打算修改源。

编辑:更清晰 - 这里的关键是任何变化的分布。您可以使用GPL软件并在内部执行任何您喜欢的操作,但是,除非您已与版权所有者达成协议,否则不能分发这些更改的二进制文件,也不会提供源文件。

我不知道乌鸦分贝什么,但我想它归结为下列情况之一:

  1. 您的应用程序接口直接与源。如果您的应用程序无法在没有GPL项目的情况下构建,那么您的应用程序必须获得GPL许可,否则您需要获得版权所有者的许可。 LGPL是不同的,但你在你的问题中提到了GPL。
  2. 您的应用程序可以在没有GPL软件的情况下构建,但需要它运行。这就像我在MySQL上构建应用程序一样,并指示客户自己配置一个MySQL实例。
+4

IANAL,但是AFAIK,修改GPL的源代码并不公开只要您的应用程序没有分发,就可以在GPL下进行修改。如果使用GPL库的应用程序是分发的,那么GPL是“病毒”的,应用程序需要置于GPL之下。如果应用程序保持在内部并且没有分发,则它不必是GPLd。 – hangy 2012-04-09 09:12:09

+0

你说得很对,我应该更清楚。 – 2013-05-28 20:27:27

3

https://github.com/mcintyre321/PieDb是一个非常基本的MIT许可嵌入文档数据库WOT我写

  • 写入对象使用json.net序列化文档APP_DATA
  • 使用Lucene.Net.Linq提供基本的IQueryable支持
  • 乐观并发
  • 不需要配置

如果有其他开发者支持它,那将是一件好事,因为它只是一个周末的工作,但它适用于简单的RavenDb替代品。

+0

你好,为什么不使用Lucene.Net? – Cynede 2013-02-27 12:02:39

+0

而不是你的意思?或者查询? Lucene.Net.Linq是一个IQueryable提供程序,它使用Lucene.Net。 – mcintyre321 2013-02-27 12:09:38

+0

我的意思是代替数据库。 – Cynede 2013-02-27 12:18:24

3

iBoxDB.net是一款轻量级嵌入式nosql数据库,支持事务处理。它可以嵌入网络应用程序,windows phone,mono应用程序,unity3d,节点。js