2012-04-09 106 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