Search Unity

  1. Welcome to the Unity Forums! Please take the time to read our Code of Conduct to familiarize yourself with the forum rules and how to post constructively.
  2. Dismiss Notice

Feature request: FOSS Licenses used by runtime, packages and assets

Discussion in 'General Discussion' started by micsanbr, Mar 2, 2021.

  1. micsanbr

    micsanbr

    Joined:
    Apr 8, 2014
    Posts:
    20
    I'm trying to publish an iOS / Android app for our company and our corporate publishing service expects me to document any FOSS license used in the app, including engine runtime for each platform, packages and assets.

    Any FOSS license must be also displayed in the app via an appropriate page that lists all components used and their relative licenses.

    The Unity authoring tool and the Unity runtime should collect all this information and provide a scripting API to generate an array of rich-text strings containing all the legal license informations, which could be rendered (for example) using a Text Mesh Pro component.

    A very good example is what Google does with their Flutter framework, which generates a menu page that contains a clickable list of every license used by the app runtine engine and the dependences (packages).
    All Flutter packages hook into a registry saved in the project which includes every license.

    API: https://api.flutter.dev/flutter/material/showLicensePage.html
    Screenshot: https://user-images.githubusercontent.com/34681083/43499998-b1ea7b4a-9591-11e8-9e24-fc90fb97e0cd.png
    Video:


    A simpler alternative would be for unity to provide a PDF or TXT file containing a list of the licenses used by each platform runtime and let the developer implement this in their app.

    This is a blocking bug for app development in large organizations.
     
    Noisecrime and BHT1SI like this.
  2. sxa

    sxa

    Joined:
    Aug 8, 2014
    Posts:
    741
    Including 3rd-party packages and assets?
     
  3. micsanbr

    micsanbr

    Joined:
    Apr 8, 2014
    Posts:
    20
    Yes, specifically assets from the Asset Store and packages from the Unity package manager.

    I've already implemented both in my app so far.

    - All assets in my project (and I guess anything from the Asset Store) use this one: https://unity3d.com/legal/as_terms

    - The package manager editor API offers a way to list all packages installed inside a project and resolve their paths.
    https://docs.unity3d.com/ScriptReference/PackageManager.PackageInfo.html
    https://docs.unity3d.com/Manual/upm-assets.html
    For any non-builtin module there's a LICENSE.md text file that can be read and added to the desired location in the app. This part can be automated using an editor script that saves stuff into a ScriptableObject.

    What's missing at this point are the licenses that cover the Unity runtimes for iOS and Android.
     
  4. sxa

    sxa

    Joined:
    Aug 8, 2014
    Posts:
    741
    Aint gonna happen.
     
  5. neginfinity

    neginfinity

    Joined:
    Jan 27, 2013
    Posts:
    13,323
    That's highly unlikely to happen.

    Also there are licenses that do not require attribution.
     
  6. ippdev

    ippdev

    Joined:
    Feb 7, 2010
    Posts:
    3,793
    That is alot of work for others with no necessity for such just because your corp happens to be super anal retentive. You could probably have implemented it in the time it took to create and respond to this thread.
     
  7. superpig

    superpig

    Drink more water! Unity Technologies

    Joined:
    Jan 16, 2011
    Posts:
    4,614
    We ship a 'license.txt' file inside the Unity Editor install, in Data/Resources, which contains the third party notices. You should be able to read it using the standard System.IO APIs. EditorApplication.applicationContentsPath might help you locate the file programmatically.

    There are no plans to provide a dedicated API for accessing this information.
     
  8. sxa

    sxa

    Joined:
    Aug 8, 2014
    Posts:
    741
    Looking, I think its actually 'legal.txt'
     
    MadeFromPolygons likes this.
  9. superpig

    superpig

    Drink more water! Unity Technologies

    Joined:
    Jan 16, 2011
    Posts:
    4,614
    My bad! Yes, legal.txt indeed.
     
    MadeFromPolygons and micsanbr like this.
  10. micsanbr

    micsanbr

    Joined:
    Apr 8, 2014
    Posts:
    20
    To be honest I was annoyed at first when corporate requested this stuff to be added in the app.
    Then I checked what other companies are doing and guess what? Pretty much any large app / project contains a list of FOSS license notices.

    So, no, it's not just my company being weird. It's literally every company with a large project who complies with standard legal requirements.
    It was annoying to find out that Unity (unlike any other app framework) does not offer this out of the box.
    Also FYI Unity products are being heavily marketed in the game Automotive / Industrial sectors and other developers I know are stuck, unable to release their applications because of this issue.
    Every large organization has to comply with opensource licenses, appstore requirements and other regulations.

    For example: "To comply with the license requirements of open source libraries, you as a developer are responsible for appropriately displaying the notices for the open source libraries that your app uses."
    https://developers.google.com/android/guides/opensource

    These requirements don't disappear just because you and many (most?) indie devs (especially in the gaming sector) don't care about these things or overlook these details entirely, .

    More informations on the subject:
    https://opensource.stackexchange.com/questions/3969/risks-of-not-showing-open-source-libraries-used
     
    Last edited: Mar 10, 2021
  11. micsanbr

    micsanbr

    Joined:
    Apr 8, 2014
    Posts:
    20
    Yes I'm aware of this file but I've been told that "Editor\Data\Resources\legal.txt" only contains informations about the Editor and not the runtimes for the various platforms.
    I need to release an app and not the editor obviously.

    @ippdev as you can see also Unity distributes these informations with their software.
     
  12. Baste

    Baste

    Joined:
    Jan 24, 2013
    Posts:
    6,195
    This kind of feature is boring, not flashy, and not something any dev wants to do.

    So it probably won't happen until one of Unity's large, corporate customers starts nagging Unity to do something about it.
     
  13. micsanbr

    micsanbr

    Joined:
    Apr 8, 2014
    Posts:
    20
    The thing is, this feature takes probably not more than a day of work *IF* Unity simply releases a PDF or TXT file that contains the licenses used in the engine runtimes (one for each platform).

    That doesn't sound so hard because they should already know what's inside each platform runtime, in each version of Unity - Right?

    My company is already in contact with them and I'm still waiting for a final answer.
     
    Last edited: Mar 10, 2021
  14. superpig

    superpig

    Drink more water! Unity Technologies

    Joined:
    Jan 16, 2011
    Posts:
    4,614
    I'm pretty sure that is not true, but I've pinged the legal team to confirm.
     
  15. micsanbr

    micsanbr

    Joined:
    Apr 8, 2014
    Posts:
    20
    Some people from our company is also in touch with your legal team and that's what they have been told regarding the standalone runtimes (windows).
    I've also written to frankn about iOS / Android on the 26 Feb and got no answer yet.

    Ok, I'm not trying to be unnerving but ... isn't there something wrong with this document if someone working for Unity can't clearly understand what it refers to? Perhaps the informations could be split into legal-editor.txt and the various Runtime for each platform: if I am going to publish on Android, I don't need the licenses covering the stuff that is only specific on windows or to the editor.

    I don't think I am asking for the moon.
     
    Last edited: Mar 11, 2021
  16. angrypenguin

    angrypenguin

    Joined:
    Dec 29, 2011
    Posts:
    15,509
    Where's the lack of clarity? They're asking for official confirmation of something they're "pretty sure" of, not clarification of something they're unsure of.
     
    MadeFromPolygons and Antypodish like this.
  17. micsanbr

    micsanbr

    Joined:
    Apr 8, 2014
    Posts:
    20
    Well, unless my contact is mistaken, I'm also "pretty sure" that it only applies to the editor.

    A document called "legal.txt" should not require this sort of guesswork.
    This aspect should be clearly stated in the file that comes with Unity, which says:
    "This Third Party Notices file provides notices and information about the third party code or other materials listed below ("Third Party Software") which are included with the Software."

    What's the "Software"? The editor? The runtime? Both? Something else?
    A license should clearly define what is the software, in the same way they define what's "Third Party Software".
     
  18. mrtenda

    mrtenda

    Joined:
    Jun 6, 2017
    Posts:
    72
    It seems likely that micsanbr is correct, given that legal.txt lists NUnit and NDecompiler, which hopefully are not being included in runtimes built by Unity.

    We are also trying to find the same information that micsanbr is. I have opened a ticket with Unity support.
     
    micsanbr likes this.
  19. micsanbr

    micsanbr

    Joined:
    Apr 8, 2014
    Posts:
    20
    I did the same and they replied that I should ask this in the forums o_O

    Luckily our contact at Unity told me 3 weeks ago that I should get these informations in about 2-3 weeks.

    They confirmed that due to the complexity of the task (which is somehow automated but still takes a lot of work) they should be able to provide the informations related only to the version of Unity that I am using for our project.
    So for now this process is carried out sort of "on demand" but they are planning something better for the future.
     
  20. superpig

    superpig

    Drink more water! Unity Technologies

    Joined:
    Jan 16, 2011
    Posts:
    4,614
    Here's the official statement on this:

     
    MadeFromPolygons and mrtenda like this.
  21. micsanbr

    micsanbr

    Joined:
    Apr 8, 2014
    Posts:
    20
    Someone already pointed out it's called legal.txt ... so that's not a good start for an official statement. Or is it a different file. An official statement would also mention the file location for other users that don't want to read the whole thread.

    Now ... it feels reaaaaaaally awkward to insist on this but can you please clarify how is that an "official" statement?
    Because of the "Unity Technologies" forum sticker tag next to your nickname?
    Usually "official" statements are shared via documentation websites or official blog posts. An email with contact information (first name, last name, job title and email) would also be okay. I cannot quote some rando unity forum person called SUPERPIG who's been talking to someone somewhere at Unity when submitting reports on this thing.

    I also showed this thread to my Unity contacts (btw I can share their names privately so you guys could maybe talk or something?) and they're still going to provide me a license list file.
    They said the following about this thread (I'm basically quoting an email): many of the editor licenses also apply to the runtime and they don't know what SUPERPIG has discussed internally and they are getting informations directly from legal and R&D.

    Anyways ... if what you said is actually correct, I would be extremely happy to simply embed the "legal.txt" file in my app and finally be done with this.

    Believe me, I do not enjoy having to waste so much time to look for this kind of basic information.
    At least when this is properly figured out, it will helper other people because I don't believe that among 4.5 million developers our company (multiple teams working on different projects) is the first organization asking for this basic thing and Unity didn't have a straight and clear answer until now.
     
  22. mrtenda

    mrtenda

    Joined:
    Jun 6, 2017
    Posts:
    72
    I contacted Unity's legal team yesterday via the email address listed in the Unity Terms of Service and a lawyer from Unity replied to me with the same statement verbatim.

    If you need official confirmation from Unity, you might want to contact Unity the same way that I did. (I don't work for Unity, I am not a lawyer, and my posts are not legal advice. I'm just a fellow Unity user)
     
    angrypenguin likes this.
  23. superpig

    superpig

    Drink more water! Unity Technologies

    Joined:
    Jan 16, 2011
    Posts:
    4,614
    Here is a new message from Unity's legal team on the matter:

     
  24. Murgilod

    Murgilod

    Joined:
    Nov 12, 2013
    Posts:
    9,753
    Does Unity Legal actually take on feedback or are they like the rest of the engine where that is but a child's dream?
     
    MadeFromPolygons likes this.
  25. mrtenda

    mrtenda

    Joined:
    Jun 6, 2017
    Posts:
    72
    It's been a year, has there been any progress on giving us the ability to see what FOSS licenses are used in runtimes built by Unity?
     
  26. DragonCoder

    DragonCoder

    Joined:
    Jul 3, 2015
    Posts:
    1,463
    FOSS-related legal issues have indeed become a big deal for many corporations lately... especially since 3rd party coompanies and individuums have started suing over incorrect statements in this regard. Similar situation as with patent-trolls unfortunately :/

    So indeed Unity staff would be well advised to provide full clarity or the software might fail some assessments on whether it's suited for new projects for this reason :(
     
  27. mrtenda

    mrtenda

    Joined:
    Jun 6, 2017
    Posts:
    72
    It's been over 2 years, has there been any progress on giving us the ability to see what FOSS licenses are used in runtimes built by Unity?
     
  28. MadeFromPolygons

    MadeFromPolygons

    Joined:
    Oct 5, 2013
    Posts:
    3,877
    doesnt seem like it from my own looking, recommend open a new support ticket maybe you will have more luck now that its been 2 years
     
  29. Ryiah

    Ryiah

    Joined:
    Oct 11, 2012
    Posts:
    20,128
    Since the thread was already necro'd I feel like I have to point out how hilariously similar that reads to a response from a certain bot. :p
     
    Noisecrime and MadeFromPolygons like this.
  30. DragonCoder

    DragonCoder

    Joined:
    Jul 3, 2015
    Posts:
    1,463
    Am still believing the initial idea for the research behind ChatGPT was automating support hotlines and the way well educated support writes does have a certain design to it as we can see here..

    As for this problem here, in the last two years there's still no news surfacing about anyone being sued over FOSS in their Unity game, so I guess that speaks for itself too.
     
  31. neginfinity

    neginfinity

    Joined:
    Jan 27, 2013
    Posts:
    13,323
    Based on how openAI hindred its abilities, they definitely see it as something like t hat.