-
Notifications
You must be signed in to change notification settings - Fork 674
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Get rid of trademark #25
Comments
REDISMODULE will be changed as well? such as XXXMODULE? ^_^ |
We break existing modules if we do that, right? We can provide a compatibility layer of some sort, deprecate the old names and phase then out after 1-2 major versions...? |
Changes to handle trademark violation External Facing
Internal code changes
I was gathering information on similar lines. Feel free to update the top level if you find anything interesting. |
There are lots of questions here. I think we need to ask some law folks or check the source code of other forks, how much they changed. |
MariaDB obviously didn't rename everything at once.
|
Changing REDISMODULE_* should be fine. The only binding contract is the API prefix and the layout of the relevant structures such as On module load, the existing modules will be looking for The higher level question though is the semantics of these APIs. I don't foresee this being a problem in the near term. Overtime, however, behavior will diverge for sure, regardless of our efforts. There will be a point where such compatibility is no longer needed nor desired but this will take quite some time, i.e. years if I may guess. |
Agreed and I like your approach of making incremental and small changes one at a time. |
So, registering on the server side for |
This goes back to @zuiderkwast's earlier comment (#25 (comment)). I guess one option could be to make it optional, i.e., controlled by a "compat" config, which could be used more broadly too. This way, we don't register |
Yeah, will be good to understand this. We're walking a tightrope here. compatibility vs getting sued. |
I'm not sure, but it might be "fair use" or something to keep backward compatibility. I'm not sure. Renaming REDISMODULE macros and structs still makes us ABI-compatible, but not source code compatible, i.e. old modules can't just include our |
Do we want to create a compatibility layer for the lua. You can do use either
Since this is part of the contract, I think we can leave it. |
I'm a bit confused. The timeline for trademarks seems to be roughly this: 2009: Redis is publicly released as an open source project. If they thought that they actually had exclusive rights on Redis the database, why would they have filed a last-minute trademark application? |
Another 2 issues we need to change:
|
What is the conclusion for Redis modules and LUA scripting? |
My understanding is that where we are providing an implementation of an interface (and this goes for APIs, protocols, on-disk formats, etc) it is very difficult for some other party to argue that this is protected (by either copyright or trademark). |
This is the same guidance I've been given. If we're implementing against or providing a functional interface, it's unlikely to hold up. I still think we should aim to remove the Redis mark from our project, but we should do so methodically and carefully, leaving behind what we believe is necessary. |
If the references are directly to "RESP" (the network protocol) and "RDB" (the on-disk format) they are not a problem and IMO these should not be changed. They are important points of compatibility with the previous project. |
@hwware Can you crate two separate issues for how we might break RDB and RESP in the future though. We have a problem with the RDB version, in that we can't stay compatible with the Redis community edition. At some point we'll need to change the 🪄 https://github.com/placeholderkv/placeholderkv/blob/unstable/src/rdb.c#L1395. For RESP, it seems less likely this will change. But, we should at least have an issue pinned for discussion about it. |
Moved from here, As far as I know,
I think we should start a separate issues to let sdk/tool developers report their commands or fields that depend on Redis. (If possible, the best approach is to not change these old fields) |
@yangbodong22011 We have no plans on removing "redis_mode". Where did you get from? |
Just some of the risk points that I can think of that may not cause compatibility. |
Get rid of the Redis name, except where it's needed for API compatibility. This can be done once we have a name.
Some of the below changes have a low risk of breaking e.g. script parsing logs or INFO output, but I'd say those are acceptable.
☑️ Make variables
REDIS_CFLAGS
andREDIS_LDFLAGS
. Done in 3863227. They were renamed toSERVER_*
.Occurrences of "Redis" in comments #148
Occurrences of "Redis" in error replies #204
Occurrences of "Redis" in log entries #207
Occurrences of "Redis" in command JSON files (
src/commands/*.json
) Untrademark json files #35The output of INFO server #41
We have two options:
The reply from HELLO #61
Client-side caching "__redis__:invalidate" #280
Rename internal struct and function names (redisCommand, redisDb, etc.) #144
Macros for including a file once, like
#ifndef __REDIS_COMMANDS_H
#137Rename
src/redisassert.c
tosrc/serverassert.c
#134Rename
redis.conf
tovalkey.conf
#135Add Lua global object
server
as alias forredis
#136Rename the binaries to
redis-server
,redis-sentinel
,redis-check-rdb
,redis-check-aof
,redis-cli
,redis-benchmark
and their corresponding .c and .h files. Done in 3863227.Update references to the binaries (in scripts and tests) #153
Create "redis" symlinks for the binaries in
make install
#147Add
valkeymodule.h
, ABI compatible with redismodule #146Change default pidfile #321
Rename and change variable names in
utils/redis_init_script
#354The text was updated successfully, but these errors were encountered: