Adds tarball builder for CONOPT#14008
Conversation
|
@DilumAluthge here's a good example of re-hosting a closed source binary. This may need discussion/review before merging. @stephenjmaher see the backstory: |
|
AFAICT, this is fine from the point-of-view of General registry policy. Specifically, this appears to be an "Yggdrasil recipe that reuses the existing binaries instead of building them from source", as described in FAQ number 5 of the manual JLL docs. So I think this is fine - but let's make sure that @giordano agrees. |
|
Ah, I did find one problem: I looked inside one of the @stephenjmaher Can you add a LICENSE file? For non-Julia-software in Yggdrasil, the requirement is a license that permits redistribution. IIUC, you don't actually have to modify the Examples of other proprietary software (that we redistributed in Yggdrasil) that have licenses that permit redistribution include CUDA and MKL. |
|
Yes, having a license file would be good |
I think having the license file is actually mandatory... and the audit stage does fail with an error about it, but the actual CI has returned that it passed... |
|
Regarding the license, we are working on this. Unfortunately, this is not something that we had previously, since CONOPT was always downloaded from our website. You give examples of CUDA and MKL; however, these are closed-source software that are free to use and distribute. While CONOPT is not free to use. I couldn't find any other commercial optimisation solvers in Yggdrasil that I could use as a reference. @odow Do you have any good reference for me? |
I think this might be the first such package since the policy was introduced. One option might be along the lines of https://github.com/leyffer/BQPD_jll.jl#license Sven gave the binaries a BSD-3 license, which allows anyone to redistribute them. The source code is still private. Note that this doesn't mean that CONOPT needs to be free to use. You can still require a commercial license to use it at runtime. Yggdrasil needs is a license so that we can host and redistribute the binaries. (Because they will be copied and stored as GitHub release assets in a JuliaBinaryWrappers/CONOPT_jll.jl repository. They won't be pulled from your link, so you won't see any download counts etc.) Your options are:
The policy of requiring packages like this use Yggdrasil is precisely to avoid situations like Gurobi_jll and KNITRO_jll, where we end up redistributing the binaries with permission from companies, but there's no explicit license that allows this, and people can't trace the binaries that we ship. (In the kNITRO case, I manually repackage their pypi binaries. I could be malicious and inject something when I repackage.) |
|
Thanks @odow for pointing to BQPD. That is helpful. We want to distribute using Yggdrasil, so we are working on getting a license in place. All I was saying is that we haven't had to think about this before. So it is a learning experience. |
This reverts commit 639e9c7.
I am a developer of CONOPT and want to make CONOPT_jll available to Julia users. We are repackaging these binaries for distribution via Yggdrasil and we hold the rights to do so.