4 ms·
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
by tammet 13y ago
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 usage as easy as possible. Yes, you can very easily form lists, trees or any other pointer structures. Happy to see it on the Hacker News, we never really expected that :)
- bch 13y agoCongratulations 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.
- tammet 13y agoMaking a clean cut between free-as-in-speech on one hand and free-as-in-beer on the other.
- mbreese 13y agoI 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 variety of other projects, including closed-source versions. Having a separate requirement to email you for a free-as-in-beer license is just overly complicated for this. The more hurdles you put up for people, the fewer that will adapt the library. I think that licensing is one of those cases where is doesn't pay to be clever. Plus, what happens when you decide to stop maintaining the code? Do you want to keep getting emails for licenses years from now? Edit: in last paragraph, I said free-as-in-speech, but meant beer (see comment below).
- tammet 13y agoThe 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.
- bch 13y agoIn 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. :)
- belorn 13y ago> 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.
- mbreese 13y agoI've had academic licensing offices balk at the GPL. I've had my fights with people over this, and lost. There are some specific clauses that they didn't like (this was GPL2). However, they rarely have problems with MIT/BSD licenses, so in general, that's what I try to use. My stance is that since they did the work, the authors of the library can license it however they'd like. But, if they wanted to get more people using their library, I think that they should rethink their approach. LGPL is more appropriate for a library, where you can still have your copyleft approach for the code you wrote, while still promoting wider use. Here's an extreme edge case... as they said, if they get tired of supporting the email to get a free-as-in-beer license, they will just open it up with an MIT/BSD style license and be done with it. That's great. But what if someone gets hit by a bus? Or someone leaves the project and moves to Antarctica? There would be no practical way to release an unencumbered version. Really though, they can do what they want - it's their code. But licensing is one of those areas that you really shouldn't try to be clever.
- deleted 13y ago[deleted]
- belorn 13y agoThe 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.
- danjayh 13y agoIs there information available anywhere on the required resources? Specifically: 1) How much space does the compiled code require? Can conditional compilation be used to omit unused features? 2) What is the overhead for the various data structures? I'm thinking that it might be interesting to use this on very limited environments (PIC microcontrollers for example) where every byte matters.
- tammet 13y agoConditional compilation can be quite certainly used. The best way to find out the space requirements is to try out some of the examples provided. I cannot give the overhead exactly, but it can be read from the source with not too much effort. Send an email to tanel.tammet at gmail.com if you need help with that. In broad terms, we have been very careful with using memory, both for the reasons you state and the reason of getting more bang from the cache.
- otterley 13y agoWhy is shared memory better than mmap(2) here? With the latter, you get persistence for free.