-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
Redistribute mosek in Drake binary releases #16439
Comments
The Mosek EULA section 8 discusses re-hosting. I only spent a few moments reading it, but it seems like there is not a blanket grant for us to redistribute. It does seem like we would need to get some kind of special permission. Or possibly there is a redistribution grant somewhere else, that I've overlooked. Or possibly we could have a drake "installer" that downloads and installs Mosek, adjacent to a Drake tarball. We might not be able to add it to our Docker or Pip images, though. The Mosek wheel (https://pypi.org/project/Mosek/#files) for
For The question would be if it's okay (for our taste) for (say) In any case, if we could get permission to redistribute the Mosek runtime library (no need for headers) alongside Drake, that would be the easiest way forward. We could include any notices or documentation that were important, as requested. |
@BetsyMcPhail -- Russ is working on the "permission" facet above, and will probably be finished soon. I've added this to "On Deck" in anticipation. After that's ready, it's over to us to work on the implementation here to make it happen. The plan will be to turn on MOSEK during our Packaging builds (in addition to SNOPT). I imagine it will be something like this:
|
FYI. We now have a fully-executed agreement with Mosek allowing us to redistribute the Mosek binaries with the Drake binaries. Hoorah! @BetsyMcPhail -- Let us please move forward on this. |
I'll sort this into the work queue in the appropriate place. We need to switch to Focal (and related CI work) before we start this. |
While I was making changes to Jenkins, I added the following experimental jobs:
Nothing else has been updated but they are ready for testing when needed |
I double-checked our license agreement and ensuing discussions. The runtime files we need are the two shared libraries we've already installed (libmosek, libcilkrts). The only documentation files we need are just the two:
Those seem to be already installed when MOSEK is enabled, but we should double-check in the new CI packaging builds.
I still need to publish the new license contract document before we can turn on MOSEK for the nightlies. I'm working on that. |
From the new linux-focal-unprovisioned-gcc-bazel-experimental-snopt-mosek-packaging job:
So no changes needed to the CI scripts. |
A PR to change all "snopt-packaging" jobs to "snopt-mosek-packaging" has been created. It is waiting and ready to coordinate with the other pieces of this issue. |
Filed as => #16934. Once that merges, we should be clear to land the PRs that turn on Mosek in our binaries. |
Wheel job names in Jenkins have also been updated in the same drake-jenkins-jobs PR. |
Related to #10804, but it deserves it own issue for tracking.
Problem: Currently no solver that is available in the Drake binary release supports mixed-integer optimization, which in increasingly important. Mosek is also a superior solver relative to many of the open-source solvers we make available for a number of optimization classes.
Proposed solution: Drake binary packages include the mosek binary; users would still have to provide the mosek license file.
This may involve an agreement w/ Mosek.
The text was updated successfully, but these errors were encountered: