OpenManufacturingPlatform / iotcon-opc-ua-server-milo

This repository is dedicated to OMP IoT Connectivity Working Group
Other
2 stars 5 forks source link

Import code #1

Closed ctron closed 3 years ago

ctron commented 3 years ago

This is the import of the existing code base from: https://github.com/ctron/omp-opcua-milo-test-server/

ctron commented 3 years ago

@jpradocueva Is there any source for your assessment?

My understanding is that MIT and EPL v2.0 are not compatible licenses.

The Eclipse Foundation publishes a list of approved licenses, which makes it easy to understand what is "ok", and what not: https://www.eclipse.org/legal/licenses.php … Is there something similar for the Linux Foundation?

In any case, I am absolutely OK with re-licensing the code of this PR under the MIT license. There is one file I would to re-write, as it is originating from the Milo project. But that needs some major enhancements anyway. … I using an EPLv2 dependency an issue as well?

jpradocueva commented 3 years ago

@ctron my understanding is that the problem is due to the direction of the license. Combine an EPL v2.0 with MIT is possible but in the other direction from MIT to EPL v2.0 is not possible due to the copyleft characteristic of the EPL v2.0, but I am not in the position to confirm that this is the case.

In the attached link you can see the problem, although here the EPL v2.0 is not mentioned specifically, https://dwheeler.com/essays/floss-license-slide.html It will be good if you could crosscheck with your legal counsel.

ctron commented 3 years ago

In the attached link you can see the problem, although here the EPL v2.0 is not mentioned specifically, https://dwheeler.com/essays/floss-license-slide.html

Which makes it hard to get any guidance from this. But even then, the explanation to that diagram tells me that e.g. the Apache-2 license is compatible with the GPL-2 as is reaches that node in the graph:

For example, Apache 2.0-licensed software and GPLv2+-licensed software can both reach “GPLv3 or GPLv3+”, so they can be combined using GPLv3 or GPLv3+.

And later on:

Software under the MIT license is easily combined with the modern 3-clause Berkeley Software Distribution (BSD-new) license, …

So that doesn't seem to be a problem.

It will be good if you could crosscheck with your legal counsel.

I really think this is something that should come from the OMP, as you are the ones that are making the rules.

jpradocueva commented 3 years ago

@ctron Let me collect all the information before raising it with OMP.

ctron commented 3 years ago

The imported code is authored by me. It will be changed in the future by the OMP. The code has some dependencies and EPL-2 and Apache-2 licensed libraries.

jpradocueva commented 3 years ago

@ctron thank you for the details provided here. We have a couple of additional questions so that we can help align this contribution to OMP's IP policies.

Do you personally own all of the copyrights in the code to be contributed?

Is there anything in the code that you're anticipating will be shared with the Eclipse Foundation in the future?

For the imported dependencies, we're assuming that these are third-party components that are leveraged by the project at build or run time but are not part of the project's source code itself. Is that correct?

ctron commented 3 years ago

Do you personally own all of the copyrights in the code to be contributed?

* We're asking because, if you do, then the preference would likely be to have you contribute it under the MIT license, so that it aligns with the OMP working group's charter.

* Or, if other contributors own part of the copyright in the code, then presumably we would either need all of their consent to relicense it under MIT. If that consent couldn't be obtained, then the OMP Steering Committee would need to decide whether to approve receiving and maintaining it under EPL-2.0.

Personally no? But as an employee at Red Hat. As I mentioned before, I would re-license the code of this PR under the MIT license:

https://github.com/OpenManufacturingPlatform/iotcon-opc-ua-server-milo/pull/1#issuecomment-895021067

In any case, I am absolutely OK with re-licensing the code of this PR under the MIT license.


Is there anything in the code that you're anticipating will be shared with the Eclipse Foundation in the future?

* If the intention is that the Eclipse Milo project's code would be shared (in either direction) with this project in the future, then it would probably be easiest to keep this one under EPL-2.0 itself as well. This would be dependent on the OMP Steering Committee's approval as noted above.

I don't think so. The Milo project is a standalone project and if changes to Milo would be required, they would go directly to Milo instead.

This project would only use Milo as a dependency, so not re-distribute the source code.


For the imported dependencies, we're assuming that these are third-party components that are leveraged by the project at build or run time but are not part of the project's source code itself. Is that correct?

* If the project itself does switch to MIT, then the OMP Steering Committee would still likely need to approve use of the EPL-2.0 dependencies. So their approval will likely be required in either case.

That is correct. This repository would not contain Milo code, but would pull in pre-built Milo binary artifacts during build time.

In case of a binary distribution of this project, it would contain those pre-built binary artifacts.

jpradocueva commented 3 years ago

@ctron I forgot to mention that I will bring to the attention of the Organization team that in this repository we will have a mix of licenses as a result of the EPL-2.0 dependencies. I will discuss it with the Org team this Wednesday, Sep 1st.

ctron commented 3 years ago

@jpradocueva I think we have the same situation in another repository: https://github.com/OpenManufacturingPlatform/iotcon-opc-ua-connector-dotnet/blob/main/src/Infrastructure/Kafka/Kafka.csproj

There seems to be a dependency, with an Apache 2 license: https://github.com/confluentinc/confluent-kafka-dotnet/blob/master/LICENSE

jpradocueva commented 3 years ago

@ctron thanks for the heads up. I have discussed this topic with the ORG team and sent an email explaining the topic and a suggestion for them specifically approve the use of EPL 2.0 and Apache 2.0 licenses on these repositories. This approval won't probably happen until the content is finalized but at least they are aware of the topic.

ctron commented 3 years ago

@jpradocueva @sbuckel So, what is the planing going forward?

I noticed that the code in https://github.com/OpenManufacturingPlatform/iotcon-opc-ua-connector-dotnet is merged … that repository has the same issue as this one. So is there a resolution? Or was that a mistake?

ctron commented 3 years ago

I updated the PR, containing only MIT licensed code, keeping the existing dependencies to Milo, etc …

jpradocueva commented 3 years ago

@ctron sorry for the delay and thanks for updating the license to MIT. The Organization team has been notified and they will have to agree on the license terms during the ratification process. This process will take place before OMP officially endorse the content of the repository for publication.

ctron commented 3 years ago

Thanks for the update. So just to my understanding, where is the difference between this repository and the other one: https://github.com/OpenManufacturingPlatform/iotcon-opc-ua-connector-dotnet