Everyone can agree on VLC being the best video player, right? Game developers can agree on it too, since it is a great utility for playing multimedia in games, and/or have a video player included. However, disaster struck; Unity has now banned VLC from the Unity Store, seemingly due to it being under the LGPL license which is a “Violation of section 5.10.4 of the Provider agreement.” This is a contridiction however. According to Martin Finkel in the linked article, “Unity itself, both the Editor and the runtime (which means your shipped game) is already using LGPL dependencies! Unity is built on libraries such as Lame, libiconv, libwebsockets and websockify.js (at least).” Unity is swiftly coming to it’s demise.

Edit: link to Videolan Blog Post: https://mfkl.github.io/2024/01/10/unity-double-oss-standards.html

  • deadcream@kbin.social
    link
    fedilink
    arrow-up
    9
    arrow-down
    1
    ·
    6 months ago

    Not just license. You also need to link to it as a shared library and allow users to replace it with their own build of the library. Meaning you can’t use stuff like DRM and anticheats.

    • Arete@lemmy.world
      link
      fedilink
      English
      arrow-up
      5
      ·
      6 months ago

      Yup fair point I didn’t know that. Unity presumably does this with dlls that a technical user can easily swap out. In principle an asset store script could do this, but it would be very difficult to verify and enforce so I can see why they’d just ban the license outright as a CYA thing.

      Maybe the answer is to distribute a vlc dll separately and only ship a linking/driving script via the asset store.

    • nybble41@programming.dev
      link
      fedilink
      English
      arrow-up
      1
      ·
      6 months ago

      Technically it can be statically linked, but then you would need to provide artifacts (for example, object files for the non-LGPL modules) enabling the end user to “recombine or relink” the program with a modified version of the LGPL code.

      Dynamic linking is usually simpler, though. And the DRM issues apply either way.