cncf / foundation

☁️♮🏛 This repo contains several documents related to the operation of the CNCF. File non-technical issues related to CNCF here.
https://cncf.io
Other
553 stars 543 forks source link

[License Exception Request] For common C/C++ libraries: libcurl, libelf, uthash #629

Closed leogr closed 7 months ago

leogr commented 1 year ago

The C/C++ libraries (libcurl, libefl, uthash) for which this issue requests license exceptions to be approved are commonly utilized across various CNCF projects. These dependencies are typically vital for these projects, given the absence of any compelling alternatives in C/C++.

The list of projects using them is not exhaustive. Additionally, inspired by this template, below is some helpful information.

amye commented 11 months ago

Clarification: libelf - is this statically or dynamically linked?

leogr commented 11 months ago

Clarification: libelf - is this statically or dynamically linked?

Hey @amye It depends on the project. In Falco, libelf is statically linked.

amye commented 11 months ago

Ok, so in order to get an exception approved, we should scope this a little more. What's the scope of the exception requested -- just Falco's usage?

leogr commented 11 months ago

Ok, so in order to get an exception approved, we should scope this a little more. What's the scope of the exception requested -- just Falco's usage?

As a Falco maintainer, I would like to request an exception for Falco's usage. In Falco, we use it to deal with the eBPF program used by Falco to collect data from the kernel. It's statically compiled inside the Falco binary. Also, libbpf (another 3rd party dependency for Falco, licensed under the BSD 2-clause and therefore automatically accepted on the Allowlist) depends on libelf. Please, let us know if you need any further information in this regard.

That being said, as a separate and optional request, I would suggest you consider a general exception for libelf since it may benefit some projects, too.

Thanks

richardfontana commented 11 months ago

I'm a little confused by some of the example uses. Some of these look like packages installed in container images, but if that's what CNCF license policy covers, then it would have to have a blanket exception for GPLv2, GPLv3 and tons of other copyleft and non-copyleft licenses.

leogr commented 11 months ago

I'm a little confused by some of the example uses. Some of these look like packages installed in container images, but if that's what CNCF license policy covers, then it would have to have a blanket exception for GPLv2, GPLv3 and tons of other copyleft and non-copyleft licenses.

Hey @richardfontana

As a Falco maintainer, my insights are specific to Falco, where all three libraries mentioned above are statically linked during the build, not packaged in the container image. This requires only license exceptions specifically for their usage in Falco, not a blanket one.

That said, I still think discussing GPL packages in container images is valuable, however, it's beyond this issue's scope, in my opinion. wdyt?

amye commented 7 months ago

Approved by the GB as of 2/12:

leogr commented 1 week ago

Hey @Cmierly, should this be documented in https://github.com/cncf/foundation/tree/main/documents? :thinking: