2

I want to cite the following

My questions:

  1. Should I include attribution text (author name, source url) and links to the license fulltext in a popup in the app?

  2. Should I include the attribution text or fulltext of the licenses of these assets in a LICENSE.txt file in my project?

  3. If yes to 2️⃣, should I also include the fulltext of licenses of my project's production dependencies and sub-dependencies inthe LICENSE.txt?

  4. The FontAwesome License info page states that the attribution information is already packaged into the source files that are downloaded and there is no further action to be taken in terms of attribution. I don't see where this information is when I look in the react-native-vector-icons repository. If it is included in the asset files somehow, does that mean I don't need to add any attribution in my app and LICENSE.txt?

  5. Since I use react-native-vector-icons which has an MIT License, should I be concerned at all about FontAwesome's license considering it's a sub-dependency?

1 Answer 1

1

In your application, you must comply with all the licenses of all the components that you include in the app, i.e. where the user receives a copy of that component in any form. This also applies to transitive dependencies – you must comply with the licenses of any components that you include directly or indirectly.

Nearly all Open Source licenses require that you provide basic attribution and the entire license text in a human-readable form with your app. The details depend on the license, though. Some examples:

  • CC BY 3.0 lists attribution requirements for unmodified copies in section 4(b) of the license:

    • you must keep intact attribution notices
    • additionally, you must provide the following in a reasonable manner:
      • name of the Original Author
      • title of the work
      • URI for the work

    Additionally, you are required to provide the license text or a link to the license per section 4(a). In media where this is impossible, the name or the logo of the license would also be sufficient.

    You may not prevent users from exercising their rights under this license, for example by using DRM techniques to prevent them from extracting CC-licensed assets.

  • Typical permissive licenses like ISC, MIT, BSD require you to retain the copyright + license notice in the code, and to give the user a copy of the entire notice.

  • Apache-2.0 has detailed attribution requirements. You must give recipients a copy of the license. You must also give appropriate access to the contents of the NOTICE file, if it exists.

  • OFL-1.1 allows you to keep notices in the font metadata:

    Original or Modified Versions of the Font Software may be bundled, redistributed and/or sold with any software, provided that each copy contains the above copyright notice and this license. These can be included either as stand-alone text files, human-readable headers or in the appropriate machine-readable metadata fields within text or binary files as long as those fields can be easily viewed by the user.

    FontAwesome claims that they have included the license notices inside the font metadata, for the versions that they distribute. But when the font is embedded in a mobile app, I'd have doubts whether this metadata can be“easily viewed” by the user. It would be safer to show the notices to the user yourself.

Many apps handle licenses by including a screen or webview in their settings where users can read the entire list of license notices. Good examples of this are mobile web browsers like Chrome or Firefox.

If you are using a particular bundling tool to build your application, it may be able to assist with generating a list of licenses for all components. For example, the JavaScript ecosystem has the yarn licenses tool. But such tools are only as good as package metadata. Such metadata might be incomplete, and of course doesn't cover assets that you're including manually.

While you are required to provide all of these notices for built/binary versions of your app, you are not required to put all of that into a LICENSE.txt file in your source code.

3
  • Thanks for a concise, detailed answer. I don't see any of the indie apps I download showing a list of attributions for all their dependencies. Am I being inattentive or is attribution unlawfully ignored in a majority of cases?
    – Sam Chen
    Commented Nov 2, 2022 at 23:19
  • @SamChen Yes, license compliance isn't overly common in the mobile app and web development industries, especially for smaller developers/publishers. That's not legal, but then again the odds of getting sued are pretty low. In the web context, highly permissive licenses like MIT and ISC are also fairly common, which arguably do not require user-visible notices. But also big companies fail to comply sometimes, for example like Tesla refusing to properly honour the GPL license for their use of Linux in their cars.
    – amon
    Commented Nov 3, 2022 at 9:33
  • I would hope that someone would sue Tesla for their clear violation of the GPL license agreement so that big companies are encouraged to take open source seriously
    – Sam Chen
    Commented Nov 3, 2022 at 18:23

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .