Skip to content
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

CURVE license exceptions required #374

Open
thincat75 opened this issue Jun 29, 2022 · 11 comments
Open

CURVE license exceptions required #374

thincat75 opened this issue Jun 29, 2022 · 11 comments

Comments

@thincat75
Copy link

hi, we are looking to get licensing exceptions for the following repositories for usage in CURVE. (cncf/toc#856)

Repo URL License Starts Forks alternative license newly code? 3rd open source project How does this code integrate with or interact with, if at all, other components of CNCF? How will the code be maintained? Who is responsible? How will the code be kept up to date with security patches?
common/string_util.h
common/hash.h
BSD 3-Clause 1.3k 250 NO NOWe have modified some of code YES, from project https://github.com/baidu/common The code is used in Nameserver, Curve's core service, as a common library. The code will be maintained by CURVE Curve have modified the code inside, and is responsible for keep up to date with security patches
mds/nameserver2/file_lock.cpp,
mds/nameserver2/file_lock.h
BSD 3-Clause 2.8k 569 NO NO We have modified some of code YES, from project https://github.com/baidu/bfs The code is used in Nameserver, Curve's core service, as a common library. The code will be maintained by CURVE Curve have modified the code inside, and is responsible for keep up to date with security patches
common/fast_align.h
curvefs/common/fast_align.h
Boost Software License 1.0 8 35 NO NO YES, from project https://github.com/boostorg/align, The code comes from the Boost library The code is used in CurveFS, Curve's core service, as a common library. The code will be maintained by CURVE Curve have modified the code inside, and is responsible for keep up to date with security patches
curve-nbd
submodule
GPL 325 98 NO NO We have modified some of code YES, from project https://github.com/NetworkBlockDevice/nbd Curve-nbd is used to provide a curve-based network block device driver for Linux system. This code uses an independent process to call nebd client to communicate with Curve NEBD server process through RPC. RPC currently uses the socket mode to achieve inter-process communication. See the following figure for specific calls and communications The code will be maintained by CURVE Curve have modified the code inside, and is responsible for keep up to date with security patches

The relationship between Curve-nbd module and curve is described in the following figure.
image

@thincat75 thincat75 changed the title CURVE license exceptions required https://github.com/cncf/toc/issues/856 CURVE license exceptions required Jun 29, 2022
@amye amye added the licensing label Aug 18, 2022
@amye
Copy link
Contributor

amye commented Apr 6, 2023

Where you've mentioned "NO We have modified some of code", can you describe more about these modifications?
Are you planning or have you contributed the code upstream?

@amye
Copy link
Contributor

amye commented May 15, 2023

@thincat75 - quick ping here, can you describe if you're planning on contributing this code to the projects modified?

@thincat75
Copy link
Author

hi amye, just saw this message. I am a developer of the Curve open source project. "NO We have modified some of code" means that we have used the code in the referenced link and made some modifications to it. For example, we used https://github.com/baidu/common/blob/master/include/string_util.h in our code and added a function "AddSplitStringToResult" to the relevant files.

@amye
Copy link
Contributor

amye commented May 16, 2023

hi amye, just saw this message. I am a developer of the Curve open source project. "NO We have modified some of code" means that we have used the code in the referenced link and made some modifications to it. For example, we used https://github.com/baidu/common/blob/master/include/string_util.h in our code and added a function "AddSplitStringToResult" to the relevant files.

Thanks for this!
If modified, will changes be contributed back to the upstream project?

@thincat75
Copy link
Author

The modifications made to the above-mentioned open source files are currently not universal and only used in the Curve project itself.

@amye
Copy link
Contributor

amye commented May 26, 2023

This is currently in the queue for review for Legal Committee.

@thincat75
Copy link
Author

Thank you very much.

@amye
Copy link
Contributor

amye commented Jun 22, 2023

A question has come up:
What does this component do?
Can you explain how this works more broadly with Curve?

@thincat75
Copy link
Author

The Curve storage system itself provides a block storage service which needs to integrate with the block device interface of Linux. As part of this component, the NBD block driver module is modified to present the Curve network storage as a block device to use by the Linux system. This component serves as a bridge between the Linux system and the Curve storage system, facilitating their integration.

@amye
Copy link
Contributor

amye commented Aug 14, 2023

How does this NBD-derived component link or interface with the Apache-2.0 licensed CURVE code?

For example, is this NBD-derived component statically or dynamically linked with the Apache-2.0 CURVE code such that they run together in a single process, share memory, etc.?

Or, does the NBD-derived component run in a fully separate process from the Apache-2.0 CURVE code?

@thincat75
Copy link
Author

Hi, the NBD-derived component run in a fully separate process from the Apache-2.0 CURVE code.

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

No branches or pull requests

2 participants