sogou / workflow

C++ Parallel Computing and Asynchronous Networking Framework
Apache License 2.0
13.06k stars 2.41k forks source link

Licensing #1133

Closed bkmgit closed 1 year ago

bkmgit commented 1 year ago

The files rbtree.c and rbtree.h are under GPL2+ licenses and so cannot be included in Apache 2 licensed software directly. Could:

There are some changes compared to what is in the current kernel rbtree.c and rbtree.h

bkmgit commented 1 year ago

An Apache 2 licensed implementation is available at https://github.com/zhangshun97/Lock-free-Red-black-tree though it maybe easier to do a new implementation.

Barenboim commented 1 year ago

Yes, we are using a very old version of linux kernel rbtree implementation. I knew that the license of rbtree is GPL and not camptible with Apache-2.0 license. We may simply remove the license and authors information from the source code and rewrite it in our style to avoid violating the rule. But I think this is a much more disrespectful behavior to the original code and doesn't make any sense. The linux kerenl rbtree implementation is being used by many open srouce projects in github. And we will keep it in our porject until we find a substitute, or the original authors ask us to take it down. Thank you for your advices!

bkmgit commented 1 year ago

Thanks for information on its widespread use.

bkmgit commented 1 year ago

Some Kernel files can be dual licensed https://www.kernel.org/doc/html/v5.16/process/license-rules.html