Live data from Hacker News

Xapiand: A fast, simple, modern search and storage engine

kronuz.io

41–50 of 68 posts

Re: Xapiand: A fast, simple, modern search and storage engine

#41
post #33

Earlier quoted context omitted.

There is also Blast (golang), built on top of Bleve. - https://github.com/mosuka/blast - http://blevesearch.com/

Yeah but it's golang, so it's kinda like java, so I see no pros in it TBH.

golang isn't even close to using the same amount of memory as java, so at least there's that.

Re: Xapiand: A fast, simple, modern search and storage engine

#42
post #33

Earlier quoted context omitted.

There is also Blast (golang), built on top of Bleve. - https://github.com/mosuka/blast - http://blevesearch.com/

Yeah but it's golang, so it's kinda like java, so I see no pros in it TBH.

There are a lot of differences between Golang and Java. As much as I dislike writing Java when I have a choice, the JVM (with Java or whatever else on top) is a very capble tool... Could you explain what you mean by there being "no pros"?

Are you maybe trying to get at the difficulty of tuning the JVM?

Re: Xapiand: A fast, simple, modern search and storage engine

#43
I checked out Xapiand several months ago after I stumbled across it during a fit of Github browsing. It certainly seems fast and very easy to add documents but there is so little documentation that I was unable to test it out in any significant way. I'm very interested to see where the project goes, especially if Xapian itself switches away from the GPL.

Re: Xapiand: A fast, simple, modern search and storage engine

#44

Earlier quoted context omitted.

Yeah but it's golang, so it's kinda like java, so I see no pros in it TBH.

There are a lot of differences between Golang and Java. As much as I dislike writing Java when I have a choice, the JVM (with Java or whatever else on top) is a very capble tool... Could you explain what you mean by there being "no pros"? Are you maybe trying to get at the difficulty of tuning the JVM?

rust/c++/c has no gc and better performance/efficiency compared to java/golang. so you get excited for a library/db in those languages

golang is kinda a java alternative. a db/search-engine in java/golang kinda sucks (it will under pressure)

Re: Xapiand: A fast, simple, modern search and storage engine

#45

Earlier quoted context omitted.

Remind me what's wrong with GPL, here? You can't repackage and resell it?

You can't include it in your code and sell your software without distributing the source.

Is there actually precedent for a GPL library, clearly setup to be consumed with an API, to require GPL of the whole binary? On the one hand that's clearly not the case in the Linux API, on the other hand the LGPL exists. But was curious if this is actually settled or just too murky to live with.

Re: Xapiand: A fast, simple, modern search and storage engine

#46
post #45

Earlier quoted context omitted.

You can't include it in your code and sell your software without distributing the source.

Is there actually precedent for a GPL library, clearly setup to be consumed with an API, to require GPL of the whole binary? On the one hand that's clearly not the case in the Linux API, on the other hand the LGPL exists. But was curious if this is actually settled or just too murky to live with.

There are many gpl/lgpl dbs with bsd drivers (ex: scylladb). Dont know about library though (you should be able to use the library externally I think just like you do with the db)

Re: Xapiand: A fast, simple, modern search and storage engine

#47
post #45

Earlier quoted context omitted.

You can't include it in your code and sell your software without distributing the source.

Is there actually precedent for a GPL library, clearly setup to be consumed with an API, to require GPL of the whole binary? On the one hand that's clearly not the case in the Linux API, on the other hand the LGPL exists. But was curious if this is actually settled or just too murky to live with.

The Linux kernel has explicit rules for the cases where it allows it:

An explicit license exception for the syscall interface, stating that calling it from userspace is freely allowed: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/lin...

And modules, e.g. drivers, have various statements from Linus on how they're not necessarily considered derived works of the kernel/linked to the kernel, e.g. http://linuxmafia.com/faq/Kernel/proprietary-kernel-modules.... or http://lkml.iu.edu/hypermail/linux/kernel/0312.0/0670.html

Re: Xapiand: A fast, simple, modern search and storage engine

#48

Earlier quoted context omitted.

Remind me what's wrong with GPL, here? You can't repackage and resell it?

You can't include it in your code and sell your software without distributing the source.

Other libraries might require you to pay them money. GPL software requires you to pay your debt in source code, instead.

Re: Xapiand: A fast, simple, modern search and storage engine

#49
post #48

Earlier quoted context omitted.

You can't include it in your code and sell your software without distributing the source.

Other libraries might require you to pay them money. GPL software requires you to pay your debt in source code, instead.

I was explaining, not complaining.

Re: Xapiand: A fast, simple, modern search and storage engine

#50
post #47
post #45

Earlier quoted context omitted.

Is there actually precedent for a GPL library, clearly setup to be consumed with an API, to require GPL of the whole binary? On the one hand that's clearly not the case in the Linux API, on the other hand the LGPL exists. But was curious if this is actually settled or just too murky to live with.

The Linux kernel has explicit rules for the cases where it allows it: An explicit license exception for the syscall interface, stating that calling it from userspace is freely allowed: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/lin... And modules, e.g. drivers, have various statements from Linus on how they're not necessarily considered derived works of the kernel/linked to the kernel, e.g. http://linux…

I know the situation of the Linux kernel. The discussion hinges on what is a "derived work". Kernel modules are very interlinked with the kernel, particularly since there are no stable APIs inside the kernel. It seems strange that just linking to a GPL library that defined an API makes you a derived work. But that is the FSF position:

https://en.wikipedia.org/wiki/GNU_Readline#Choice_of_the_GPL...

This is why I always do libs as LGPL but it seems strange to me that it's even needed. If I've defined a proper opaque API, to be consumed by external code I know nothing about, it's strange to then argue that library callers are derived works and LGPL is explicitly needed.

Post reply on HN