Live data from Hacker News

WhiteDB – Lightweight NoSQL database written in C, operating in main memory

whitedb.org

31–40 of 83 posts

Re: WhiteDB – Lightweight NoSQL database written in C, operating in main memory

#31

Is it accurate to describe this as a faster Redis that doesn't have all of the useful data structures like lists, sets, etc?

Yes, somewhat.

It's also different from Redis because Redis is intended to be ran as a server (it stands for Remote Dictionary Server). This is ran entirely as a process and communicates via IPC; other machines can't reach the database, only the local machine. This is a big reason for why it's very fast. However, it also means you can't distribute the database across multiple servers.

You could think of it like a very fast NoSQL Sqlite, I guess.

Re: WhiteDB – Lightweight NoSQL database written in C, operating in main memory

#32
post #28
post #26

Earlier quoted context omitted.

Making a clean cut between free-as-in-speech on one hand and free-as-in-beer on the other.

I appreciate the sentiment, but I was looking forward to using this until I saw that part. I (like I assume many others) cannot use a GPL3 library (and I'm in academia). If you want any sort of traction for a library, GPL3 is not the way to go. This is why the LGPL was created, so that you can have modifications done on your library be free-as-in-speech, but still make the library as a whole useable for a wide variet…

The default GPL is free-as-in-speech. You do not have to email for GPL. You have to email for free-as-in-beer. I assume that in case free-as-in-speech is not OK, it is also not a major hurdle to email for the free-as-in-beer version. In case emailing is a major hurdle, maybe you do not really need the free beer part.

Should we stop maintaining the code or get bored mailing free beer licences, we'll very likely change the licence to LGPL or MIT. Until then beer comes via email.

Re: WhiteDB – Lightweight NoSQL database written in C, operating in main memory

#33
post #25
post #17

One of the authors here. A few answers quickly. It does write to disk: you can either dump memory or write all changes to log (turn it on/off yourself). Sure it has a global read/write lock, with several locking strategies to select from (task-fair atomic spinlock queue or a reader-preference or a writer-preference spinlock). It is definitely meant to be a simple library. We strived to document it carefully to make u…

Congratulations on your project and the attention it's getting! Can you explain-more/rationalize GPLv3 licensing w/ the conditional alternate commercial license? Why not just BSD, MIT, or (at least) LGPL ? GPL is more understandable on "higher level software" (ie: complete applications), but I don't understand your intent licensing a library this way.

The license page is quite clear why. The authors want that applications that are distributed and marketed as database systems to be used by other developers to be under GPLv3.

You might ask why they want that, and that could be an interesting read. My best guess: They are themselves developers.

Re: WhiteDB – Lightweight NoSQL database written in C, operating in main memory

#34
post #30

Good on you for going GPLv3 as your free software license. I think it's really funny to see people here going "b-but you should use my favourite license" instead of "that's a cool thing you've built there".

> "b-but you should use my favourite license" instead of "that's a cool thing you've built there".

First of all, "that's cool" and "license issues" aren't mutually exclusive.

Second of all, it's a case of picking an applicable license for the place the software fits into a project. This is a low-level library (cool or not); if an author wishes to "protect" their code, LGPL was built explicitly for this purpose.

To confuse matters, in the projects own page[1] they effectively waive all the rights of the GPL3 except for a very specific corner case.

People asking for license clarification or change are looking to simplify even _beginning_ to use the library.

[1] http://whitedb.org/licence.html

Re: WhiteDB – Lightweight NoSQL database written in C, operating in main memory

#35
post #28
post #26

Earlier quoted context omitted.

Making a clean cut between free-as-in-speech on one hand and free-as-in-beer on the other.

I appreciate the sentiment, but I was looking forward to using this until I saw that part. I (like I assume many others) cannot use a GPL3 library (and I'm in academia). If you want any sort of traction for a library, GPL3 is not the way to go. This is why the LGPL was created, so that you can have modifications done on your library be free-as-in-speech, but still make the library as a whole useable for a wide variet…

> I (like I assume many others) cannot use a GPL3 library (and I'm in academia).

Is it copyleft in general, or the patent grant that hinders your work in in Academia? I not sure why you should be using other peoples work for free, but then go around and sue anyone who copies or improves on your work.

The project wrote down exactly what they wanted to do with their work on their license page. I say good for them. More people should do so and think what they themselves want.

Re: WhiteDB – Lightweight NoSQL database written in C, operating in main memory

#36
post #32
post #28

Earlier quoted context omitted.

I appreciate the sentiment, but I was looking forward to using this until I saw that part. I (like I assume many others) cannot use a GPL3 library (and I'm in academia). If you want any sort of traction for a library, GPL3 is not the way to go. This is why the LGPL was created, so that you can have modifications done on your library be free-as-in-speech, but still make the library as a whole useable for a wide variet…

The default GPL is free-as-in-speech. You do not have to email for GPL. You have to email for free-as-in-beer. I assume that in case free-as-in-speech is not OK, it is also not a major hurdle to email for the free-as-in-beer version. In case emailing is a major hurdle, maybe you do not really need the free beer part. Should we stop maintaining the code or get bored mailing free beer licences, we'll very likely change…

In the case of changing licenses, make sure over the course of your project maintainorship that you have the right to relicense all the code, including patches/contributions from others.

I wish it was simply licensed MIT or BSD, but congratulations on your software and sticking to your convictions.

:)

Re: WhiteDB – Lightweight NoSQL database written in C, operating in main memory

#37
post #28
post #26

Earlier quoted context omitted.

Making a clean cut between free-as-in-speech on one hand and free-as-in-beer on the other.

I appreciate the sentiment, but I was looking forward to using this until I saw that part. I (like I assume many others) cannot use a GPL3 library (and I'm in academia). If you want any sort of traction for a library, GPL3 is not the way to go. This is why the LGPL was created, so that you can have modifications done on your library be free-as-in-speech, but still make the library as a whole useable for a wide variet…

I'd just make a remark that even in the GPL world everything is not as simple as it looks. There are GPL versions with _exceptions_ endorsed by RMS, for example. A long time ago I used to work on a Hobbit scheme compiler for the scm interpreter, which was promoted by RMS and became Guile later. scm had such a GPL-with-exceptions clause by RMS, which was stated clearly incorrectly. I take every chance to boast that I convinced RMS to fix the error in his own GPL version for scm :)

Re: WhiteDB – Lightweight NoSQL database written in C, operating in main memory

#38
post #34
post #30

Good on you for going GPLv3 as your free software license. I think it's really funny to see people here going "b-but you should use my favourite license" instead of "that's a cool thing you've built there".

> "b-but you should use my favourite license" instead of "that's a cool thing you've built there". First of all, "that's cool" and "license issues" aren't mutually exclusive. Second of all, it's a case of picking an applicable license for the place the software fits into a project. This is a low-level library (cool or not); if an author wishes to "protect" their code, LGPL was built explicitly for this purpose. To co…

What disgusting arrogance. There is no objective standard of "applicability" of any particular license to any particular piece of software. The LGPL is not "built explicitly for this purpose". The LGPL is a compromise license that exists for strategic reasons. There is no clear reason it should be applied here.

That some people may not want or be able to use this library because of its license choice may matter to you, but there's no reason to believe it matters to the authors, and you are not in a position to tell them what should matter to them.

Nothing on that page constitutes a waiver of GPLv3. It is merely an offer of an alternative license to a subset of potential users.

Re: WhiteDB – Lightweight NoSQL database written in C, operating in main memory

#39
post #34

Earlier quoted context omitted.

> "b-but you should use my favourite license" instead of "that's a cool thing you've built there". First of all, "that's cool" and "license issues" aren't mutually exclusive. Second of all, it's a case of picking an applicable license for the place the software fits into a project. This is a low-level library (cool or not); if an author wishes to "protect" their code, LGPL was built explicitly for this purpose. To co…

What disgusting arrogance. There is no objective standard of "applicability" of any particular license to any particular piece of software. The LGPL is not "built explicitly for this purpose". The LGPL is a compromise license that exists for strategic reasons. There is no clear reason it should be applied here. That some people may not want or be able to use this library because of its license choice may matter to yo…

Well said. People need to remember that the L in LGPL stands for "Lesser", not "Library".

Re: WhiteDB – Lightweight NoSQL database written in C, operating in main memory

#40
post #34

Earlier quoted context omitted.

> "b-but you should use my favourite license" instead of "that's a cool thing you've built there". First of all, "that's cool" and "license issues" aren't mutually exclusive. Second of all, it's a case of picking an applicable license for the place the software fits into a project. This is a low-level library (cool or not); if an author wishes to "protect" their code, LGPL was built explicitly for this purpose. To co…

What disgusting arrogance. There is no objective standard of "applicability" of any particular license to any particular piece of software. The LGPL is not "built explicitly for this purpose". The LGPL is a compromise license that exists for strategic reasons. There is no clear reason it should be applied here. That some people may not want or be able to use this library because of its license choice may matter to yo…

> but there's no reason to believe it matters to the authors

One reason may be to increase the number of folks using the library. I'm not saying that would happen, or that the original devs care, but it's conceivable, isn't it?

> and you are not in a position to tell them what should matter to them.

I'm not telling them anything -- I'm expressing an opinion and asking questions. [sidenote: isn't it ironic to be called "disgustingly arrogant" and attacked for asking questions on a matter of free speech? I think my discourse has been polite and respectful[1]].

> Nothing on that page constitutes a waiver of GPLv3. It is merely an offer of an alternative license to a subset of potential users.

Perhaps waiver was the wrong word, but lets look at this a moment:

The offer is to everybody (barring a small (arguably dubious (enter lawyers)) subset of potential users, where (again, presumably) the license is more like MIT than GPL.

At any rate, the decision is in the hands of the authors.

[1] https://news.ycombinator.com/item?id=6614482, https://news.ycombinator.com/item?id=6614179

Post reply on HN