inikep / lizard

Lizard (formerly LZ5) is an efficient compressor with very fast decompression. It achieves compression ratio that is comparable to zip/zlib and zstd/brotli (at low and medium compression levels) at decompression speed of 1000 MB/s and faster.
Other
644 stars 40 forks source link

Please consider a name change #10

Closed nemequ closed 7 years ago

nemequ commented 7 years ago

Recently, someone asked about an LZ5 plugin for Squash, which pushed me to speak about something which has been bothering me for a while. LZ5 seems like a very interesting project, and AFAICT you've done an excellent job with it. However, copying part of my answer to that issue:

Ever since LZ5 was released I've been uncomfortable with it because of the name. "LZ5" implies that it is the "successor to LZ4" (i.e., LZ4 2.0), or at least an "upgraded" version, which isn't fair to LZ4. LZ5 simply makes different trade-offs.

To be clear, I'm completely fine with the idea of forking LZ4 to create a new codec; it's only the project name I'm uncomfortable with.

There are a lot of problems with implying such a link with LZ4, such as

Support

People are likely to go to LZ4 for support, which isn't fair to the authors of LZ4.

My favorite example of the type of issue this could cause is a comment from SQLite:

The default prefix used to be "sqlite_". But then Mcafee started using SQLite in their anti-virus product and it started putting files with the "sqlite" name in the c:/temp folder. This annoyed many windows users. Those users would then do a Google search for "sqlite", find the telephone numbers of the developers and call to wake them up at night and complain. For this reason, the default name prefix is changed to be "sqlite" spelled backwards. So the temp files are still identified, but anybody smart enough to figure out the code is also likely smart enough to know that calling the developer will not help get rid of the file.

Diluting LZ4's brand

If people think there is a link between LZ4 and LZ5, any problems with LZ5 are likely to influence their perception of LZ4, which isn't fair.

Leeching off of LZ4's brand

LZ4 has created a very good image of itself by being really good at what it does. Other projects should be able to build their own reputations based on their own quality instead of using LZ4 for a head-start.


With all that said, I want to be very clear that, AFAICT (I haven't really looked at LZ5's code) everything seems to be pretty well-done. However, all the points above still stand, even if LZ5

I'm going to assume that LZ5 does, and continues to do, all those things. Every indication I've seen is that they do. No matter what else they do, though, the "LZ5" name still muddies the waters.

To be clear, these are my own opinions. I don't think we should involve Yann in this conversation (especially not publicly), as it would put him in a very difficult position.

I'd like to add that, because of the name, I've been hesitant to add an LZ5 plugin. It's quite possible other people will have the same concern, so it may actually be in LZ5's best interest to change their name.

In the end, I think that yes, I'd be willing to accept a patch for an LZ5 plugin, so long as the documentation made its relationship with LZ4 extremely clear. I'd feel a lot better about it if LZ5 had a different name, though.

inikep commented 7 years ago

Thanks for your remarks. My idea with the name was to show that LZ5 is related to LZ4 (CLI and testing is still almost the same) but also to show that it's not compatible with LZ4. I didn't selected the name LZ4NG or similar that can suggest LZ4 v2.0. AFAIR I asked Yann about the name and he had no objections. Everybody who follows LZ4 can see that there were many new releases in last year (including many my commits) and these two projects are developed in parallel. Moreover LZ5 is being developed for over a year and there was a lot of time to change the name (I think up to LZ5 v1.4.1) and now it's very late.

Maybe we should do a poll at encode.ru and ask what others think. We can also ask for a proposal for a new name.

nemequ commented 7 years ago

I filed this here since I thought you would want to handle it a bit less publicly (edit because of how quickly stuff like this can devolve online), but if you want to ask for thoughts from the community I don't have any objection.

FWIW, I always thought "Lizard" would be an awesome name for an LZ-based codec. Who wouldn't want lizard compression?

inikep commented 7 years ago

I created a poll. You can vote at https://encode.ru/threads/2721-Do-you-think-that-the-name-of-LZ5-should-be-changed

Bulat-Ziganshin commented 7 years ago
  1. i think that lz4 should be renamed first since it builds on the good reputation of lz
  2. afair, lz4 is indeed provides mode that in all ways better than lz4
inikep commented 7 years ago

I already changed the name from "LZ5 v2.0" to "lizard v1.0" (thanks @nemequ for the idea). I will keep "LZ5 v1.x" without changing the name.