1046
submitted 10 months ago* (last edited 9 months ago) by Gemini24601@lemmy.world to c/technology@lemmy.world

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

you are viewing a single comment's thread
view the rest of the comments
[-] Arete@lemmy.world 80 points 10 months ago

LGPL requires distributing the license with any code. I imagine unity does that with the core code, but it would be difficult to enforce that for assets distributed in their store, which they would be liable for legally. I imagine this will be resolved, but I no longer use Unity so idfc

[-] Davel23@kbin.social 50 points 10 months ago

From my understanding there are other third-party assets in the Unity store which use the LGPL but are not being removed.

[-] NuXCOM_90Percent@lemmy.zip 9 points 10 months ago* (last edited 10 months ago)

Is there any information on them being given a pass?

Generally stuff like this goes in waves. I have no experience with the unity store, but it wouldn't shock me to find out they haven't always (and still might not...) required "apps" to list their licensing. Meaning this would be a somewhat manual effort done by a severely reduced staff.

And I'll just add on that I expect this to happen to the other "asset" stores. In industry, "GPL is cancer" and "LGPL is herpes". GPL can straight up "kill" a project and LGPL is usually a mass of headaches that are mostly manageable but can still "cause problems" at times.

[-] Arete@lemmy.world 3 points 10 months ago

I expect they will be unless they're small enough to fly under the radar

[-] rockSlayer@lemmy.world 22 points 10 months ago

No it won't. This is 5.10.4 of the Unity Provider agreement, it's total bullshit.

Provider represents and warrants that its Assets shall not contain (a) any software licensed under the GNU General Public License or GNU Library or Lesser General Public License, or any other license with terms that include a requirement to extend such license to any modification or combined work and provide for the distribution of the combined or modified product’s source code upon demand so that Customer content becomes subject to the terms of such license; or (b) any software that is a modification or derivative of any software licensed under the GNU General Public License or Library or Lesser Public License, or any other license with terms similar thereto so that Customer content become subject to the terms of such license.

[-] admin@lemmy.my-box.dev 15 points 10 months ago* (last edited 10 months ago)

Why is it bullshit? AFAIK, Unity wouldn't be able to comply with LGPL without supplying their own source code, so then this would be the only logical outcome.

[-] RedditWanderer@lemmy.world 21 points 10 months ago* (last edited 10 months ago)

Unity let me go earlier this week, so I'm really not in the mood to defend them, but this is correct. I'm on the Unity hate train as much as the next guy and i feel this is pretty cut and dry.

[-] admin@lemmy.my-box.dev 10 points 10 months ago

Sad to hear it, hope you'll find something else soon.

[-] RedditWanderer@lemmy.world 18 points 10 months ago

Thankfully I'm in Canada where Collective Layoffs are heavily protected, and I have a generous package to keep me afloat until I find the right job.

It is a sad week for tech because not everyone has these protections.

[-] grue@lemmy.world 9 points 10 months ago

No, it's not correct. Unity's management might think that's how the LGPL works, but they're wrong.

[-] RedditWanderer@lemmy.world 4 points 9 months ago

The fact that they prefer to not do something at all instead of going through the hassle of doing something properly has always been a thing at Unity. It's correct that it is for business reasons and not necessarily logical ones.

[-] tabular@lemmy.world 19 points 10 months ago* (last edited 9 months ago)

You are only required to give source code for changes to that part for LGPL code. So only the library requires that.

Other game engines supply source code. If Unity wants any hope of redemption they should let us inspect wtf it actually does on our computers (edit: and let us make it work for our needs).

[-] merthyr1831@lemmy.world 2 points 10 months ago

You CAN access the source code, but it's for corporate/enterprise partners. afaik

[-] tabular@lemmy.world 3 points 10 months ago* (last edited 9 months ago)

Charging for access is actually fine under L/GPL but after that you're then free to redistribute at your own price. I imagine Unity heavily control how you use and distribute your modified engine (nonfree).

[-] rockSlayer@lemmy.world 13 points 10 months ago

Unity uses the LGPL for parts of their own products. The GPL in most cases only requires that derivative work must also be shipped with the same license. The source code from providers doesn't have to be distributed by unity, it has to be distributed by the provider. In this case that would be videoLAN, which has all their source code on GitHub. You can read the text of the LGPL here, and this is VideoLAN's post about the situation.

[-] admin@lemmy.my-box.dev 4 points 10 months ago

That puts things into perspective, thanks!

[-] nybble41@programming.dev 0 points 9 months ago

The GPL in most cases only requires that derivative work must also be shipped with the same license. The source code from providers doesn't have to be distributed by unity, it has to be distributed by the provider.

This is incorrect. The distributor of derivative works in binary form is responsible for providing the source code. They can refer to a server operated by a third party, but if that third party stops providing the source code the distributor remains obligated to ensure that it is still available. The only exception is for binaries which were originally received with a written offer of source code, where the offer can be passed on as-is, but that only applies for "occasional and non-commercial" distribution which wouldn't work here.

[-] asret@lemmy.zip 7 points 10 months ago

I thought the point of the LGPL was to allow this sort of usage without requiring the release of source code. It's an extension of the GPL to remove those requirements isn't it?

[-] FlyingSquid@lemmy.world 1 points 9 months ago

I admit this is totally not my area, but couldn't you say that about literally any online source that sold software from Steam to the Apple App Store?

[-] deadcream@kbin.social 8 points 10 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 5 points 10 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 1 points 9 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.

[-] FaceDeer@kbin.social 1 points 10 months ago

Not exactly. The LGPL inherits the methods of conveying source code from section 6 of the GPL, which has a number of different options. You can bundle the source code along with the compiled version, but you can also do it simply by including an offer the end user can redeem to get a copy of the source. For example you could include a link to the source code.

this post was submitted on 12 Jan 2024
1046 points (97.6% liked)

Technology

59137 readers
2022 users here now

This is a most excellent place for technology news and articles.


Our Rules


  1. Follow the lemmy.world rules.
  2. Only tech related content.
  3. Be excellent to each another!
  4. Mod approved content bots can post up to 10 articles per day.
  5. Threads asking for personal tech support may be deleted.
  6. Politics threads may be removed.
  7. No memes allowed as posts, OK to post as comments.
  8. Only approved bots from the list below, to ask if your bot can be added please contact us.
  9. Check for duplicates before posting, duplicates may be removed

Approved Bots


founded 1 year ago
MODERATORS