Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用于C#开发的无NoSQL替代方案(ravendb替代方案)_C#_Licensing_Nosql - Fatal编程技术网

用于C#开发的无NoSQL替代方案(ravendb替代方案)

用于C#开发的无NoSQL替代方案(ravendb替代方案),c#,licensing,nosql,C#,Licensing,Nosql,我发现了raven db,我喜欢它,但后来我看到了许可证。。。GPL或支付 所以我正在寻找好的开源C#development raven db的免费替代方案。 看起来MongoDB和Berkley也是GPL 对我来说,找到一个嵌入式解决方案要好得多。像RavenDB和MongoDB一样,CouchDB是一个带有RESTAPI的文档存储noSQL数据库(因此可以与任何语言一起使用) 但是CouchDB在Apache2.0下,可以在商业/封闭项目上使用,GPL并不意味着不能在封闭源代码项目中使用它,

我发现了raven db,我喜欢它,但后来我看到了许可证。。。GPL或支付

所以我正在寻找好的开源C#development raven db的免费替代方案。 看起来MongoDB和Berkley也是GPL


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

像RavenDB和MongoDB一样,CouchDB是一个带有RESTAPI的文档存储noSQL数据库(因此可以与任何语言一起使用)


但是CouchDB在Apache2.0下,可以在商业/封闭项目上使用,GPL并不意味着不能在封闭源代码项目中使用它,除非您计划修改源代码

编辑:更清楚地说,这里的关键是任何更改的分布。您可以在内部使用GPL软件并执行任何您喜欢的操作,但如果不提供源代码,则无法分发这些更改的二进制文件(除非您与版权所有者达成协议)

我对raven db一无所知,但我想它可以归结为以下场景之一:

  • 您的应用程序直接与源接口。如果您的应用程序在没有GPL项目的情况下无法生成,那么您的应用程序必须根据GPL获得许可,或者您需要获得版权所有者的许可。LGPL不同,但您在问题中陈述了GPL
  • 您的应用程序可以在没有GPL软件的情况下构建,但需要它才能运行。这就像我在MySQL之上构建一个应用程序,并指导客户自己配置一个MySQL实例
    如果我理解正确,那么您可以使用双核/驾驶执照模式

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

    是我写的一个非常基本的MIT授权嵌入式文档db wot

    • 使用json.net序列化文档将对象写入app_数据
    • 使用Lucene.Net.Linq提供基本的IQueryable支持
    • 乐观并发
    • 不需要配置
    如果有其他开发人员支持它就好了,因为它只花了大约一个周末的时间,但它可以作为RavenDb的替代品用于简单的情况。

    是一个轻量级的嵌入式nosql数据库,支持事务处理。
    它可以嵌入到网络应用程序、windows phone、mono应用程序、unity3d、node.js中

    gpl许可证有什么问题?那么它不是免费的吗?它不是免费的,因为我不能按照公司规则编写开源代码。它是存储/索引/搜索文本的c#端口,就像单个表db一样。它是一个用于嵌入式库的.dll,是Lucene.Java的一对一端口。因此,您可以使用java的任何文档。例如,或者现在我想试试couchdb(但首先是Lucene(因为它是嵌入式的)(当我看到mongodb标志时,我真的很沮丧,这种棕色在我脑海中只有一种联想)如果可以嵌入Redis,那就很有趣了。Gods…memcached在他们的徽标周围使用了与mongodb相同的颜色。我不能使用这种颜色的技术><这是我的心理障碍。IANAL,但好吧,修改GPL的源代码,而不在GPL下发布修改,只要你的应用程序不被分发就可以了。如果分发使用GPL库的应用程序,则GPL是“病毒性的”而且整个应用程序都需要放在GPL下。如果应用程序是内部的,而不是分布式的,那么它根本不必是GPLd。你说得对,我应该更清楚。除了嵌入式的可能性之外,你在寻找什么样的nosql数据库?只是面向文档还是不面向文档?小心-尤其是对于GPL数据库s以及“链接”代码的含义。您的代码可能与数据库无关,但如果您“分发”代码,您的手将被迫获得许可。“分发”的定义可能会模棱两可,尤其是在web上。“分发”的定义可能会模棱两可。当涉及到数据库和GUI小部件时,LGPL是一种更安全的选择。是的。我的公司是“发货”mongodb作为linux虚拟机的一部分连接到客户站点,根据律师的说法,在没有企业许可证的情况下禁止我们在每次部署中使用mongodb…这太疯狂了。您好,为什么不使用Lucene.Net?而不是数据库?或者查询?Lucene.Net.Linq是一个IQueryable提供商,它在幕后使用Lucene.Net。我的意思是我想支持很多特性(比如乐观并发、可定制序列化、id生成),我想让它感觉像RavenDb(我在查看授权页面后编写的!)。