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

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

      Section 6 of the GPLv3, which the LGPLv3 includes by reference as one of the required distribution terms in paragraph 4.d.0:

      Convey the Minimal Corresponding Source under the terms of this License, and the Corresponding Application Code in a form suitable for, and under terms that permit, the user to recombine or relink the Application with a modified version of the Linked Version to produce a modified Combined Work, in the manner specified by section 6 of the GNU GPL for conveying Corresponding Source.

      (emphasis added) There is the alternative of following 4.d.1 instead, but that’s only if the application links against a shared library already present on the user’s computer system—it couldn’t be distributed with the program.

      GPLv3 section six offers five alternative methods of satisfying the obligation to provide source code. The first (6.a) applies only to physical distribution and must include source code with the physical media. The second (6.b) also requires physical distribution plus a written offer to provide the source code to anyone possessing the object code. The third (6.c) is the one I mentioned that applies only “occasionally and noncommercially” for those who received a written offer themselves under the previous clause. The fourth option (6.d) allows for the source to be provided through a network server:

      If the place to copy the object code is a network server, the Corresponding Source may be on a different server (operated by you or a third party) that supports equivalent copying facilities, provided you maintain clear directions next to the object code saying where to find the Corresponding Source. Regardless of what server hosts the Corresponding Source, you remain obligated to ensure that it is available for as long as needed to satisfy these requirements.

      The fifth and final alternative (6.e) pertains to object code provided through P2P distribution, with the same requirements as the fourth method for the source code.

      • rockSlayer@lemmy.world
        link
        fedilink
        English
        arrow-up
        1
        ·
        edit-2
        10 months ago

        Section A in section 3 of the LGPL is the out here for unity:

        a) Give prominent notice with each copy of the object code that the Library is used in it and that the Library and its use are covered by this License.

        As long as there is prominent notice with the distribution of the plugin, unity doesn’t need to distribute the source code.

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

          You mean “3. Object Code Incorporating Material from Library Header Files.”? That section 3? I think they’re using a bit more than just header files. Section 4 “Combined Works” is the one that applies here.

          Also even if section 3 did apply they’d need to follow 3.b as well as 3.a and include the full text of both the GPL and the LGPL.