1

MPL v2, GPL v3 and other licenses alike require giving users access to source code. Having read both licenses, I did not come across specific examples of how to disclose source code, so my question is targeted at specific cases:

  1. Desktop applications does access have to be provided through the user interface (GUI), or can it just be through program files?
  2. Mobile apps - is listing the names of libraries in-use sufficient? I have seen apps do this with MPL v2 licensed libraries without providing hyperlinks to the source; are users expected to look up the names?
  3. Code hosted on a CDN - how do end users know what the hosted content is licensed under in the first place? Does the same license automatically apply to the hosting provider (since the code was 'distributed' to them first)? And if it does, is the hosting provider solely responsible for releasing source code to the end user?
  4. Code embedded in hardware - in hardware such as game consoles, screen readers and airplane entertainment systems where 'tinkering' is limited, how would GPL'd code be given to the user, if at all? In the case of assistive technology, does accessibility have to be taken into consideration?

Experience or knowledge in any one of the cases would be very helpful.

1
  • 3
    The licenses require to give users access to them on request (or similar means as the binary is obtained). Thus giving an URL to the repositories, with the exact version the binary is based upon should do the trick. The same goes for libraries (at least their exact name, version and license). You must give this information in a way that the normal user can get these information. Jan 23, 2021 at 15:35

1 Answer 1

3
  1. Desktop applications does access have to be provided through the user interface (GUI), or can it just be through program files?

There is no requirement that the source code can be obtained from within the application or even that it gets installed on the end-user's system together with the application.

If the application is typically downloaded from a website, then it is already enough to put a download link for the source code next to the download link for the executable.

Other means include providing a download link for the source code in a reasonable location in a dialog/screen of the application or to provide a means to contact you to ask for the source code and ship is on a physical medium (like a CD).

  1. Mobile apps - is listing the names of libraries in-use sufficient? I have seen apps do this with MPL v2 licensed libraries without providing hyperlinks to the source; are users expected to look up the names?

No, just mentioning the names of the libraries is probably not sufficient to cover the requirements from the license. If the library's name is accompanied by a version number, the license and a link to the repository that would work.

  1. Code hosted on a CDN - how do end users know what the hosted content is licensed under in the first place? Does the same license automatically apply to the hosting provider (since the code was 'distributed' to them first)? And if it does, is the hosting provider solely responsible for releasing source code to the end user?

If the hosting provider just provides some internet-accessible space without controlling what the space is used for, then that provider is not a recipient of the code (it is not distributed to them).

The person/organization who placed the code there is fully responsible for compliance to the license terms.

  1. Code embedded in hardware - in hardware such as game consoles, screen readers and airplane entertainment systems where 'tinkering' is limited, how would GPL'd code be given to the user, if at all? In the case of assistive technology, does accessibility have to be taken into consideration?

With embedded code, it depends a bit on what kind of user-interface the device offers. If the user-interface is capable of showing larger amounts of information, the device can show the licensing information and where/how to obtain source code on its user-interface. If that is not possible or considered undesirable by the manufacturer, then the information should be provided in the documentation that accompanies the product.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.