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

build: T6231: remove Mellanox OFED drivers and tools until their license status is confirmed #808

Merged
merged 1 commit into from
Oct 10, 2024

Conversation

dmbaturin
Copy link
Member

Change Summary

Remove the out-of-tree Mellanox drivers and tools for the time being.

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Code style update (formatting, renaming)
  • Refactoring (no functional changes)
  • Migration from an old Vyatta component to vyos-1x, please link to related PR inside obsoleted component
  • Other (please describe): package removal.

Related Task(s)

Component(s) name

Image build deps.

Proposed changes

PR #777 could not be merged because the package is under a license that doesn't allow redistribution unconditionally. However, the situation gets even trickier.

Individual packages we build from https://network.nvidia.com/products/infiniband-drivers/linux/mlnx_ofed/ are licensed under GPL (for the kernel modules) or dual GPL/BSD for mlnx-tools. That seemed fine to us when we decided to include them

However, the EULA of the entire package includes the following terms (emphasis is mine):

  1. General
    MLNX_OFED is based on the OpenFabrics Enterprise Distribution (OFED™), an open-source software for RDMA and kernel bypass applications provided by Open Fabric Alliance (OFA: www.openfabrics.org) under a dual license of BSD or GPL 2.0.

Mellanox chose to license OFED to end users under BSD license, together with proprietary components of Mellanox and several open source software components contained therein, all of which comprise together Mellanox OFED (collectively: the "Software Product").

  1. Grant of License
    Subject to the terms and conditions of this Agreement, and subject to the licenses set forth in Exhibit A, Mellanox grants you a personal, non-exclusive, non-transferable license to use, view, copy, print, and distribute software and accompanying documentation subject to the following conditions:

(i) The Software Product and any accompanying documentation may be used solely to support Mellanox Products; and

(ii) You may distribute the Software Product and accompanying documentation solely as integrated with or installed on your products that incorporate the Mellanox Products.
3. Other Rights and Limitations
3.1 Reverse Engineering. You shall not reverse engineer, decompile, disassemble or otherwise attempt to derive the source code of the Software Product, and shall not adapt, translate, port or otherwise modify the Software Product.

3.2 Separation of Components. The Software Product is licensed as a single product. Its component parts may not be separated for use beyond the designated Hardware.

This implies that the only unquestionably legal case for distributing that software is an OS preinstalled on a box that includes Mellanox cards. Distributing it in an OS that may run on any box or a VM that has no Mellanox hardware in it is prohibited by 2.ii and taking only components under FOSS licenses to avoid the implications of 2.ii is prohibited by 3.2 ("The Software Product is licensed as a single product.").

We will request clarification from NVIDIA to check if the EULA really overrides the GPL as it implies, but until we have a confirmation that we are in the clear, we should follow the literal interpretation and comply with it.

How to test

In-tree drivers should still work, the kernel config seems to include all that is needed (but correct me if not).

Checklist:

  • I have read the CONTRIBUTING document
  • I have linked this PR to one or more Phabricator Task(s)
  • My commit headlines contain a valid Task id
  • My change requires a change to the documentation
  • I have updated the documentation accordingly

until their license status is confirmed
Copy link

👍
No issues in PR Title / Commit Title

@c-po c-po merged commit cde77d0 into vyos:current Oct 10, 2024
10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Development

Successfully merging this pull request may close these issues.

3 participants