VirtualGL / virtualgl

Main VirtualGL repository
https://VirtualGL.org
Other
701 stars 106 forks source link

Proprietary driver license #128

Closed vtALEXANDER closed 4 years ago

vtALEXANDER commented 4 years ago

Good evening!

Thank you for your work and time. The question is about licensed use of proprietary AMD or NVIDIA drivers. The operating system of server and client — Linux.

Our goal is 8-15 remote workplaces for beginner students in Blender. As a solution we opened VirtualGL and, yes, it works! Your work provides a good technical solution! But the question is, will we violate the license of proprietary AMD or NVIDIA drivers by such use?

The following is not clear in licenses: NVIDIA - 2.1.3 Limitations. - Customer may not ... rent ... or use the SOFTWARE for public performance or broadcast. No Datacenter Deployment (??). AMD- 3. RESTRICTIONS - assign or otherwise transfer the Software.

To what type the use of a proprietary driver belongs his use through VirtualGL? If students connect to a teacher's computer with an AMD or NVIDIA video card through VirtualGL and use Blender, will teacher/students violate terms of a proprietary driver license? Is it better to get an AMD video card? Are there other variants/solutions?

Thank you!

muratmaga commented 4 years ago

This is really a question to AMD and/or Nvidia not for virtualGL. I suspect if you are indeed an educational institution and not doing this profit, they probably wouldn't care. But you if you are concerned, you need to seek clarification from the vendors, and probably with your legal team, not from a public forum.

vtALEXANDER commented 4 years ago

Thank you for your answer.

Students pay for education. Small classroom. I assumed, that I have already encountered with this question here and though, that may be someone will give advice.

As I understand, that AMD's video card’s open-source driver is in the better level than NVIDIA. Could it be easier to buy an AMD video card (rx580 or other) and use open-source drive + VirtualGL?

Will this work?

Thank you!

muratmaga commented 4 years ago

AMDs recent line up have all GL_MAX_3D_TEXTURE_SIZE < 2K, which is a non starter for our applications. So I have very little experience with AMD cards. I think (not sure) Quadro's do not have the 'no data center deployment' provisions (as they are supposed to be for professional work). So you might be fine using them. I -again think- those restrictions for Nvidia started after their 4XX series drivers, perhaps you might just use an older version that doesn't have those restrictions.

dcommander commented 4 years ago

@muratmaga On legal matters such as these, please allow me to answer first in an official capacity. Thanks.

@vtALEXANDER

I don't see anything in the license that would preclude its use in a shared remote environment. If there were such limitations, then they would affect all remote software that uses the GPU. That doesn't just include VirtualGL.

vtALEXANDER commented 4 years ago

Thank you for your answer! You made my day calmer. Thank you.

I will focus on NVIDIA cards before solutions with AMD.

I read the license agreement on the official NVIDIA website, compared in Linux. You're right! There are no point "public performance or broadcast." in Linux.

On point 2.1.1: we are a private small company, we do not classify as a university. It alarmed. On point 2.1.2: due to a lack of specific technical knowledge I didn’t know could the actually possible use of the proprietary NVIDIA driver together with a student thought VirtualGL be considered as "may be copied and redistributed". On point 2.1.3: No Rental. We don't rent, but our students accordingly temporarily use the driver, using Blender. I hope, that exceptions for Linux are more important =).

I asked a similar question at NVIDIA support. There is no answer yet. If it will be, I can duplicate it here.

dcommander commented 4 years ago

2.1.1: The license defines "Enterprise" as "individual use by Customer or any legal entity." Private small companies are legal entities.

2.1.2: VirtualGL doesn't copy or distribute the GPU drivers. It simply uses them. Legally, it would be no different if you:

That procedure involves the nVidia GPU drivers in exactly the same way that VirtualGL involves those drivers. The only difference between that use case and a physically shared machine, i.e. a machine that allows multiple users to log in locally and use the GPU, is that VGL allows multiple users to use the GPU simultaneously. However, simultaneous use of the GPU by multiple users is not forbidden by the nVidia license.

All of that aside, 2.1.2 basically says that 2.1.1 doesn't apply for the Linux and FreeBSD drivers ("notwithstanding" = "in spite of".) So even if VGL were copying or distributing the GPU drivers, it would still be OK as long as VGL copied or distributed the Linux or FreeBSD drivers. Some Linux distributions-- Ubuntu, for instance-- take advantage of that provision and provide their own binary packages for the nVidia proprietary drivers.

2.1.3: Software rental is a clearly-defined legal concept in the U.S., via the Computer Software Rental Amendments Act of 1990. That law specifically excludes "a computer program which is embodied in a machine or product and which cannot be copied during the ordinary operation or use of the machine or product" from the definition of software rental. In other words, under U.S. law, renting access to a shared machine on which a piece of software is installed does not qualify as renting said software, but if you aren't directly charging for access to the machine, it's a non-issue anyhow.

DIsclaimer: I am not a lawyer. My opinion is to the best of my knowledge, which is based on decades of experience dealing with (and in some cases even writing) software licenses and funded development contracts, but my opinion should not be construed as a legal opinion.

vtALEXANDER commented 4 years ago

Good evening! Your answers are truly user-frendly, help good, if they will be visible to others, they can help them.

The last “rock” from “N” - on point 2.1. - ...non-transferable right to use the SOFTWARE… students, who study with us, aren’t workers of our company, there is only contract on education. Can we consider it «individual use by Customer», and that we don’t «non-transferable right to use the SOFTWARE»? In its turn, point 2.1.2. ostensibly mentions an exception for LINUX only for copy and redistribution. Or «Notwithstanding the foregoing terms» even so relate to all 2.1.1. point?

Did I understand correctly – paying attention to «Figure 3.1: The VGL Transport with a Client-Side 2D X Server», students, connecting to a teacher’s computer, don’t use GPU Driver directly, but receive the result from VirtualGL, which is set on “server” of our company, therefore, don’t violate «non-transferable right to use the SOFTWARE»? ( P.S. loudly about a simple computer with gtx1060).

Nvidia answered in theyre style – sent to ask this question on forum developer.nvidia. Radeon wrote that question ir rederected.

Thank you.

dcommander commented 4 years ago

Again, I'm not a lawyer, and my opinion should not be construed to be a legal opinion. But numerous large corporations and educational institutions are deploying VirtualGL for use by their workers or students, and their in-house counsels have apparently not found the nVidia driver license to be problematic.

vtALEXANDER commented 4 years ago

Good afternoon.

Thank you for your help, now we can develop education of 3D modeling with new strenght and opportunities.

Additionally, in the NVIDIA forum we have received positive answer to this question, perhaps, besides us this could be useful to someone else (link below).

https://forums.developer.nvidia.com/t/question-about-license-for-customer-use-of-nvidia-software-for-linux/145910

Thank you.