Skip to content
This repository has been archived by the owner on Dec 2, 2019. It is now read-only.

Enhancement: use xxHash instead of MurmurHash 3 #285

Open
dumblob opened this issue Nov 15, 2016 · 14 comments
Open

Enhancement: use xxHash instead of MurmurHash 3 #285

dumblob opened this issue Nov 15, 2016 · 14 comments

Comments

@dumblob
Copy link
Contributor

dumblob commented Nov 15, 2016

I remember, that I commented on the hashing algorithm. In the meantime the xxHash matured and while offering the same awesome properties as MurmurHash 3 but with double the speed, I would recommend switching to it. This is though a low-priority ticket.

@jarikomppa
Copy link

xxHash has a more restrictive license than nuklear..

@dumblob
Copy link
Contributor Author

dumblob commented Nov 16, 2016

Correct. On the other hand, Nuklear already embeds the ProggyClean font under MIT (which has basically the same restrictions as BSD used by xxHash).

@cbuschardt
Copy link

The BSD 2 clause license requires distribution of copyright notice with the binaries. The user has to be able to find a copy of the copyright notice either in the application or accompanying documentation. This is a nightmare for embedded software developers.

Perhaps the author would be willing to relicense without that clause?

    * Redistributions in binary form must reproduce the above
       copyright notice, this list of conditions and the following disclaimer
       in the documentation and/or other materials provided with the
       distribution.

@darkuranium
Copy link

darkuranium commented Nov 16, 2016

@dumblob / @cbuschardt: Fair warning, in case the issue Cyan4973/xxHash#91 is accepted — it won't actually help, since the licenses are pretty much equivalent.

@cbuschardt, it also means that Nuklear embedding ProggyClean font under MIT means that one must distribute copyright notices anyways. Here's the relevant portion of MIT (emphasis mine):

The above copyright notice and this permission notice shall be included in _all_ copies or substantial portions of the Software.

Perhaps the author of xxHash could be persuaded to use the Boost license (which only needs attribution in sources), but I don't have a solution for the fonts.

@cbuschardt
Copy link

@darkuranium Great catch. We are technically not in compliance with the MIT licensed ProggyClean. I don't see any full copies of its license -- merely an abbreviate in the source code including a link to a zip containing said license.

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software

@darkuranium It would be great if we could get ProggyClean to go with the zlib or boost license as well. Regardless, I don't think we can continue to claim that nuklear is Public Domain when it contains MIT licensed components.

@darkuranium
Copy link

darkuranium commented Nov 16, 2016

@cbuschardt: Sadly, you're right.

I've used Nuklear before (so you can imagine my surprise when @dumblob pinged me with a link to this from Cyan4973/xxHash ... small world!), but never noticed the font's licensing — I simply assumed the author had used a PD font for the embedded one (or maybe made his own). Lesson learned, I guess.

Can you try to find the author ProggyClean? In the meantime, I'll try and see if I can't find any CC0-licensed fonts (unlikely, unfortunately, but I'll give it a shot anyways).

It would definitely be better if ProggyClean could relicense, of course — it would keep Nuclear GUIs looking the same throughout versions. _THAT SAID_ I'm not convinced that making ProggyClean Boost would be enough to make Nuklear PD when it's embedded like this. A lawyer would know, but I'm not one. At least it would eliminate the need for binary attribution, though.

I'd avoid zlib licensing, by the way — its wording is legally ambigious.

@cbuschardt
Copy link

cbuschardt commented Nov 16, 2016

@darkuranium I'll reach out to the author.

Update: I found an old email address for Tristan Grimmer using Wayback Machine. I've reached out, but apparently the email is no longer valid.

@darkuranium
Copy link

darkuranium commented Nov 16, 2016

@cbuschardt: Bummer about the email.

I've had somewhat more luck, however: fontlibrary has a filter for CC-0 fonts, and there's the M+ fonts — note that the latter are _not_ CC-0, though (but might still be compatible license-wise).

Technically, there's also the Kenney fonts, but those aren't really viable for general UI stuff (as they're designed in a retro style).

@cbuschardt
Copy link

This is the entire license text for M+ fonts. The license definitely allows us to re-license as public domain.

"Unlimited permission is granted to use, copy, and distribute them, with or without modification, either commercially or noncommercially. 
THESE FONTS ARE PROVIDED "AS IS" WITHOUT WARRANTY. "

@dumblob
Copy link
Contributor Author

dumblob commented Nov 16, 2016

With regards to MIT potentially requiring redistribution of the copyright/license statement with binaries, please see my comment in Cyan4973/xxHash#91 (comment) .

@cbuschardt
Copy link

Now that we know xxhash is staying BSD, are we ready to close out this request?

@dumblob
Copy link
Contributor Author

dumblob commented Nov 18, 2016

@cbuschardt not yet, I'm awaiting an aswer from a lawyer with regards to one question regarding CC BY 4.0 (just to state beforehand, most of the claims @darkuranium made in the Cyan4973/xxHash#91 thread with regards to CC are invalid).

@darkuranium
Copy link

darkuranium commented Nov 18, 2016

@dumblob: Which claims? I wasn't talking out of my ass, I was talking out of knowledge. I was wrong in one aspect, namely, CC-BY is GPL-compatible as of 4.0 (and only because they explicitly added a compatibility clause), but the rest was correct.

_Even CreativeCommons themselves recommend against using CC- licenses for software (except CC-0)._

@dumblob
Copy link
Contributor Author

dumblob commented Nov 18, 2016

@darkuranium I'll respond in the thread Cyan4973/xxHash#91 once I received the answer from the lawyer (I want to keep all the important details at one place).

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

5 participants