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

Source code used to build binaries not available (despite MPL2 licence of dependencies?) #33

Closed
ochafik opened this issue Feb 2, 2022 · 2 comments

Comments

@ochafik
Copy link

ochafik commented Feb 2, 2022

First off, super cool project, hope it matures!

However I couldn't help but notice (as others did in issues#24 and issues#21) that you're distributing (Windows-only) binaries without the sources needed to build them. It looks as though said Windows binaries are built from modified sources of https://github.com/alicevision/AliceVision (this repo only seems to contain a fork of the Python UI from https://github.com/alicevision/meshroom).

As you've ackowledged in your own COPYING.md, AliceVision is released under the MPL 2, which has a very nicely done FAQ. While the full license is worth reading on its own, the FAQ has two questions very relevant here which i've copied here:

  • Q10: I want to distribute (outside my organization) an executable program based on MPL-licensed source code that I have modified. What do I have to do?

    You must make available the MPL-licensed portions of the source code as described in the previous question (Q9), and inform the recipients how they can obtain such source code (Section 3.2).

  • Q9: I want to distribute (outside my organization) MPL-licensed source code that I have modified. What do I have to do?
    To see the complete set of requirements, read the license. However, generally:

    You must inform the recipients that the source code is made available to them under the terms of the MPL (Section 3.1), including any Modifications (as defined in Section 1.10) that you have created.

    You must make the grants described in Section 2 of the license.

    You must respect the restrictions on removing or altering notices in the source code (Section 3.4).

Now, I'm not a lawyer but it looks to me that you can't just distribute your binaries without accompanied "actual" sources used to build them. And it might be debatable how much of those sources are themselves MPL-licensed, but I'd say if your OpenCL kernels were derived from the original CUDA kernels in any way (even if they're in new files, see section 1.10 of the MPL2), then they're likely "Modifications" of the "Covered Work" and hence MPL-licensed too.

Does that make sense?

@revisionarian
Copy link
Contributor

revisionarian commented Feb 2, 2022

Hi @ochafik, thanks for your interest in MeshroomCL, and for expressing your concerns about the licensing.

The MeshroomCL binaries are not based on any modified AliceVision code. The AliceVision components of MeshroomCL are compiled directly from the source code available in the AliceVision repository at https://github.com/alicevision/AliceVision. The OpenCL-accelerated portions of MeshroomCL are not derived from the CUDA code or algorithms of AliceVision (the MeshroomCL and AliceVision algorithms are very different).

MeshroomCL does use modified code from the Meshroom code repository at https://github.com/alicevision/meshroom. We've made the source code for those modifications available at https://github.com/openphotogrammetry/meshroomcl.

Your concern is premised on the assumption that MeshroomCL is based on modified AliceVision code, which is a wrong assumption. As far as we know, we are in compliance with MPL2.

@ochafik
Copy link
Author

ochafik commented Feb 2, 2022

Hi @revisionarian, thanks for the quick clarifications!

The AliceVision components of MeshroomCL are compiled directly from the source code available in the AliceVision repository at https://github.com/alicevision/AliceVision

Got it! Out of curiosity, could you share which components / pipeline nodes you did retain & compile unmodified?

The OpenCL-accelerated portions of MeshroomCL are not derived from the CUDA code or algorithms of AliceVision

Edit: I had missed the COLMAP section in COPYING, now understanding how the app fits together :-D

Are they related to colmap / maybe https://github.com/openphotogrammetry/colmap-cl? (as suggested here). If that's the case, mentioning it (and its BSD-license) in COPYING would have helped reduce my and others' confusion :-)

Your concern is premised on the assumption that MeshroomCL is based on modified AliceVision code, which is a wrong assumption

I stand corrected then, thanks!

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

No branches or pull requests

2 participants