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

GPL License for dependencies #1230

Closed
sirzooro opened this issue Feb 22, 2022 · 5 comments · Fixed by #1260
Closed

GPL License for dependencies #1230

sirzooro opened this issue Feb 22, 2022 · 5 comments · Fixed by #1260
Assignees
Labels
bug Something isn't working

Comments

@sirzooro
Copy link

I have checked license details for dependencies listed on https:/open-telemetry/opentelemetry-cpp/blob/main/docs/dependencies.md and to my surprise I found that some of them uses GNU GPL License. This means that anyone who would use this library in his proprietary closed-source app would have to release its source code.

After closer look I realized that information on that page are not fully correct. GNU Standard C++ library is licensed on GNU GPL with special exception for compiled code, so OTLP libs compiled with WITH_STL cmake option would be fine for proprietary apps: https://gcc.gnu.org/onlinedocs/libstdc++/faq.html#faq.license.what

I am worried about nostd::span, which you copied from libstdc++. Linked page also mentions GNU GPL, but in source code you have Apache 2.0. That page also mentions possible fallback to gsl::span, but as a fallback when WITH_STL is used and compiler with C++ below C++20 is used.

Please clarify these licensing issues. For now it seems that the safest way for proprietary apps is to compile OTLP libs with WITH_STL enabled and GSL libs in order to avoid possible problems with nostd::span.

@sirzooro sirzooro added the bug Something isn't working label Feb 22, 2022
@lalitb
Copy link
Member

lalitb commented Feb 22, 2022

Thanks for raising this issue. It is important for licensing information to be correct.

After closer look I realized that information on that page are not fully correct. GNU Standard C++ library is licensed on GNU GPL with special exception for compiled code

Can you suggest the wordings here to clarify - We can explicitly mention GPL v3 for nostd::span if that helps?

I am worried about nostd::span, which you copied from libstdc++. Linked page also mentions GNU GPL, but in source code you have Apache 2.0.

Correct. The nostd::span header got included by mistake in the automated script used to add Apache 2.0 license, and need to be fixed.

That page also mentions possible fallback to gsl::span, but as a fallback when WITH_STL is used and compiler with C++ below C++20 is used.

This has been fixed in #1167. The gsl::span would be used only if the WITH_GSL build option is provided. The dependency document needs an update.

@sirzooro
Copy link
Author

Thanks for raising this issue. It is important for licensing information to be correct.

After closer look I realized that information on that page are not fully correct. GNU Standard C++ library is licensed on GNU GPL with special exception for compiled code

Can you suggest the wordings here to clarify - We can explicitly mention GPL v3 for nostd::span if that helps?

My intention here was to point that things in std namespace used by #include-ing appropriate headers from standard C++ library are on GNU GPL with special exception. This applies to 1st bullet in API&SDK section.

nostd::span code is copied with some changes (like namespace name change), so this is different thing and I am not sure about exact license details for it, as IANAL.

@lalitb lalitb self-assigned this Feb 23, 2022
@sirzooro
Copy link
Author

I wonder if you could replace code of nostd::span with copy of gsl::span, which uses MIT License. My main concern here is that this may break ABI compatibility, so it may not be so easy to perform.

@lalitb
Copy link
Member

lalitb commented Feb 24, 2022

IANAL too, does anyone see an issue with adding GPLv3 license along with the Section 7 exception in the nostd::span file header keeping the OpenTelemetry copyright intact? Same for std::variant.

Or else keep the license and copyright intact as currently, add extra information that some portion of code is backported from GPLv3 licensed code.

@lalitb
Copy link
Member

lalitb commented Feb 28, 2022

I wonder if you could replace code of nostd::span with copy of gsl::span

As you rightly mentioned it won't be a good idea to do it now with the stable release of traces, as this may break ABI compatibility.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants