AMD asks developer to take down open source ZLUDA, dev vows to rebuild his project

AMD
(Image credit: AMD)

Earlier this year, AMD quietly stopped funding ZLUDA, an open-source CUDA translation layer project that allowed to execute programs originally compiled for Nvidia CUDA GPUs on AMD Radeon processors supported by the the ROCm software stack. But recently Nvidia banned usage of translation layers with CUDA-based software, which could potentially cause legal troubles for AMD, so the company now asked Andrzej Janik, the developer behind ZLUDA to take the code down, reports Phoronix

"The code that was previously here has been taken down at AMD's request," the developer wrote at the project's GitHub page. "The code was released with AMD's approval through an email. AMD's legal department now says it's not legally binding, hence the rollback. Before anyone asks: I have received no legal threats or any communication from Nvidia." 

Andrzej Janik, the developer behind ZLUDA, initially created the project for Intel GPUs using the Level Zero software stack. After receiving support from AMD, Janik successfully modified ZLUDA to work on AMD GPUs, enabling various CUDA applications to run smoothly. 

The agreement between Janik and AMD allowed for the code to be made open source if the contract ended. In February, following the termination of AMD's funding, the ZLUDA code was released publicly. However, AMD's legal team now requested its removal from the GitHub repository, claiming the release was not legally binding. This development was surprising, given the project's potential to support CUDA on Radeon hardware, a benefit for AMD. 

Despite the setback, Janik expressed his intention to rebuild ZLUDA from its pre-AMD codebase. The rebuilt version will have a different scope and will not include certain features, such as planned support for Nvidia GameWorks. 

Janik is currently working on securing new funding for the project and is considering various directions for its future. It remains uncertain whether the new ZLUDA will focus on Intel GPUs, as initially planned, or adopt a new design for AMD GPUs. 

"At this point, one more hostile corporation does not make much difference," Janik wrote. "I plan to rebuild ZLUDA starting from the pre-AMD codebase. Funding for the project is coming along and I hope to be able to share the details in the coming weeks. It will have a different scope and certain features will not come back. I wanted it to be a surprise, but one of those features was support for NVIDIA GameWorks. I got it working in Batman: Arkham Knight, but I never finished it, and now that code will never see the light of the day." 

While the official ZLUDA code has been removed from GitHub, it likely still exists in cloned repositories, Phoronix suggests. 

TOPICS
Anton Shilov
Contributing Writer

Anton Shilov is a contributing writer at Tom’s Hardware. Over the past couple of decades, he has covered everything from CPUs and GPUs to supercomputers and from modern process technologies and latest fab tools to high-tech industry trends.

  • Makaveli
    If that was open source since Feb it has sure been copied and will be available else where.
    Reply
  • hotaru251
    IDK how they can backtrack..if theres proof AMD said he could then that should be legal. Not devs fault if that person sending email didnt ask fact is company agreed to it.
    Reply
  • JamesJones44
    The hard part will be implementing features that are not similar enough to what was done with AMD to be considered a breach. Other projects have done it when the original open source license is changed to "business source licenses" (Consul for example), but the chance of legal action usually reduces the feature set devs will implement in its place.
    Reply
  • Quirkz
    hotaru251 said:
    IDK how they can backtrack..if theres proof AMD said he could then that should be legal. Not devs fault if that person sending email didnt ask fact is company agreed to it.
    Legal or not doesn't matter when you're an individual with limited funds facing the risk of company lawyers. It's not a fair playing field any more.
    Reply
  • Grumpy_Monkey
    If they have an e-mail from AMD, that is a legal document. If AMD's legal department now want to stop the person working on the code, that is a different legal document. It may supersede the original one, but would not invalidate it.
    It's probably a bit more in depth than that, along the lines of "As we provided funding, as co-owners of the code we withdraw the right to publish the code or create any new code based on the funded code" which is why the dev has to go back to the pre-AMD code and fork it.
    Reply
  • das_stig
    This smells more like NV talking to AMD and saying you have your propriety stuff we have ours, we should avoid stepping on each other's toes, stifling innovation, compatibility and user choice, basic cartel practices!
    Reply
  • -Fran-
    In the way nVidia worded the new EULA for CUDA this is self-explanatory.

    I'll have to assume a couple things:
    1- The fella didn't disclose his way of doing this translation layer was doing reverse-engineering of the CUDA code.
    2- AMD accepted it as a work piece which would not be doing anything against any EULA or TOS from nVidia.

    As you may, or may not, know reverse-engineering code is illegal. Why? No idea, but it just is. I'm guessing because there's copyright involved in using code you're not licenced to when doing whatever you need to. This is, among some other subtle things, why "Piracy" is illegal: you're not just disabling things, but also reverse engineering code to know how to do it.

    It sucks, but I can't blame AMD for trying to distance itself from this before nVidia's lawyers build up a case against them. The question now is: will this be enough? I still think nVidia may have grounds for a trial if this fella can testify that AMD accepted to fund him if he disclosed he would reverse-engineer code. That would be super nasty.

    Regards.
    Reply
  • edzieba
    -Fran- said:
    As you may, or may not, know reverse-engineering code is illegal.
    This claim is overly broard to the point of falsehood.

    Furthermore, Andrzej Janik is a resident of the EU, not the US, so is afforded even more protections for reverse-engineering software, even if the EULA says 'no'.

    Both are moot, in that AMD can simply browbeat compliance via the threat of litigation costs even if AMD do not legally have a leg to stand on.
    Reply
  • -Fran-
    edzieba said:
    This claim is overly broard to the point of falsehood.

    Furthermore, Andrzej Janik is a resident of the EU, not the US, so is afforded even more protections for reverse-engineering software, even if the EULA says 'no'.

    Both are moot, in that AMD can simply browbeat compliance via the threat of litigation costs even if AMD do not legally have a leg to stand on.
    From your link:

    If your access to the code or computer system you are studying is conditioned upon agreeing to any contractual terms (e.g. End User License Agreements (EULA), terms of service notices (TOS), terms of use notices (TOU), a non-disclosure agreement (NDA), developers agreement or API agreement), you are at greater legal risk if your research activities do not comply with their stated terms and conditions. You should talk to a lawyer before agreeing to any terms and before studying any software distributed with such terms and conditions, even if you have come into possession of that code without agreeing to anything.

    That's exactly what I mentioned.

    I do take your point, but I have to insist that AMD, with good reason, is being overly cauteous.

    Regards.
    Reply
  • Imipak
    edzieba said:
    This claim is overly broard to the point of falsehood.

    Furthermore, Andrzej Janik is a resident of the EU, not the US, so is afforded even more protections for reverse-engineering software, even if the EULA says 'no'.

    Both are moot, in that AMD can simply browbeat compliance via the threat of litigation costs even if AMD do not legally have a leg to stand on.
    Absolutely agreed. There are no software patents in Europe.

    Further, in the European Union, reverse engineering is permitted – under the verdict of the Court of Justice issued in 2012 – for creating computer programs with operation analogous to the original program.

    In the United States, even if an artifact or process is protected by trade secrets, reverse-engineering the artifact or process is often lawful if it has been legitimately obtained. Since the project's reverse engineering was from a time it was legitimately obtained, it should still be lawful. Only features created after the license change would be covered by the EULA, and only for reverse engineerimg in the US. As shown above, the reverse engineering can be done legally in Europe and that reverse engineering (since it's lawfully obtained) would presumably be protected by the US law.

    Looks like this is reliant on squeezing those who can't afford lawyers, as it does not seem to be legitimate. Looks like a latterday DECSS Jon is required.

    (For those unfamiliar with the reference, a European guy reverse-engineered CSS Encryption. The MPAA and RIAA arranged for the guy to be violently abused by the authorities, since the law didn't forbid the reverse engineering, so they couldn't legally do anything. It... kinda backfired on them.)
    Reply