microsoft / cpprestsdk

The C++ REST SDK is a Microsoft project for cloud-based client-server communication in native code using a modern asynchronous C++ API design. This project aims to help C++ developers connect to and interact with services.
Other
7.97k stars 1.65k forks source link

Still some apache-2.0 licenses in the source tree #286

Open LocutusOfBorg opened 7 years ago

LocutusOfBorg commented 7 years ago

Hi,

./Release/tests/common/TestRunner/vs14.android/TestRunner.android.NativeActivity/main.cpp:* Licensed under the Apache License, Version 2.0 (the "License");
./Release/tests/common/TestRunner/vs14.android/TestRunner.android.NativeActivity/main.cpp:*      http://www.apache.org/licenses/LICENSE-2.0
./Release/tests/common/TestRunner/vs14.android/TestRunner.android.NativeActivity/android_native_app_glue.h: * Licensed under the Apache License, Version 2.0 (the "License");
./Release/tests/common/TestRunner/vs14.android/TestRunner.android.NativeActivity/android_native_app_glue.h: *      http://www.apache.org/licenses/LICENSE-2.0
./Release/tests/common/TestRunner/vs14.android/TestRunner.android.NativeActivity/android_native_app_glue.c: * Licensed under the Apache License, Version 2.0 (the "License");
./Release/tests/common/TestRunner/vs14.android/TestRunner.android.NativeActivity/android_native_app_glue.c: *      http://www.apache.org/licenses/LICENSE-2.0
./Release/src/build/package_info.xml:    <licenseUrl>http://www.apache.org/licenses/LICENSE-2.0</licenseUrl>
./Release/src/http/client/x509_cert_utilities.cpp:    java_local_ref<jclass> strictHostnameVerifierClass(env->FindClass("org/apache/http/conn/ssl/StrictHostnameVerifier"));
LocutusOfBorg commented 7 years ago

Also this file is not MIT

Release/include/cpprest/details/SafeInt3.hpp
Copyright: Microsoft Corporation
License: Ms-PL
megaposer commented 7 years ago

I'd like to chime in that this also needs to be addressed, so legal departments can safely allow usage of the library and shipping Software based on it, see #270. I know, this might sound like nit-picking, but within the corporate environment one cannot get 3rd party usage approvals if the licenses are inconsistent.

So, could we please have a 2.9.2 "release" to address this?

ras0219-msft commented 7 years ago

The main.cpp and glue files are still licensed under Apache because they originate from the android NDK:

/*
 * Copyright (C) 2010 The Android Open Source Project
 *
 * Licensed under the Apache License, Version 2.0 (the "License");

These pieces are also only used for the android test runner and are not present in applications using the actual cpprestsdk runtimes.

SafeInt3.hpp is also a separate piece of software from cpprestsdk, so it is not subject to this license change (it was Ms-PL before, so we've left it as-is).

Please do ask more questions if this is at all unclear.

megaposer commented 7 years ago

Thanks for your clarification. The SafeInt3.hpp separate license has become kind of a headache. Would it be at all possible to contact the original authors (Microsoft) and re-license this single file under MIT?

I am not sure it is sufficient to just contain the license in the header file (only) as you distribute the C++ REST SDK as source code. It also makes discovering additional licenses in sub-components a burden for the users of the library and causes legal insecurities. Also, does distribution of the overall MIT licensed C++ REST SDK in compiled/object code comply with the requirements of the MS-PL header file?