3

If I make an app with Apache Cordova / Ionic Capacitor (likely fork of Apache Cordova I think), is put license notices on the source code is sufficient enough?

I've seen an app that did notices each license inside it so the user can read it easily. It did not not built with Cordova, but I mean it's an example of license noticing on mobile app.

img

And Cordova is web-based. The packaged app will be include the source code. And the source code (cordova.js) is already notice the license on top of it. Even though we have to extract the packaged app.

img

So, my question is does the license comment count as license notices so I don't need to license notice again or I still have to make it like the app above?

4
  • Do you fancy linking to the software you list? – MadHatter Mar 5 at 6:05
  • uh, what does fancy lingking means? @MadHatter – nouvist Mar 5 at 6:11
  • Could you put links to the software you list into the question, so we don't all have to go out and search for something whose whereabouts you presumably already know? I do apologise for my use of a highly-colloquial phrase ("do you fancy..."); it's early in the morning where I am. – MadHatter Mar 5 at 6:12
  • ouh, edited. @MadHatter – nouvist Mar 5 at 6:36
4

Apache Cordova is under the Apache-2.0 license. This means that when building an app with Cordova:

  • you MUST give recipients a copy of the Apache license
  • you MUST NOT remove the existing license notices for Cordova in the Cordova source code
  • you MUST give recipients a copy of the NOTICE file, if it exists (it does)

Here, a recipient is anyone who receives a copy of your app, in particular users.

But in which format do you have to provide a copy of the Apache license and the NOTICE file? The purpose here is that an ordinary user can actually read that information. I think it is not sufficient to only keep this information in the source code, even for web apps.

TL;DR: just create a license screen for your app where ALL licenses and notices for ALL open source dependencies are shown.

Specifically for the location of the NOTICE file, the Apache license allows you to pick any of the following places:

  • within a NOTICE text file distributed as part of the Derivative Works;
  • within the Source form or documentation, if provided along with the Derivative Works;
  • or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear.

(formatting mine)

Translated into normal English:

  • You can combine the NOTICE files from Apache-licensed dependencies into a single NOTICE file that you distribute alongside your program files. For an app, this won't really apply since the user can't easily access your app's installed files.
  • If you give the recipients the source code for your app along with the app, it is sufficient if the NOTICE is in the source code. For an app, it would be fairly unusual to include the source code alongside.
  • If you provide documentation alongside your app, you can put the NOTICE in this documentation. For an app, this might be satisfied with a built-in documentation system, but likely not with documentation loaded from a separate website.
  • For programs with a user interface, you can show the NOTICE wherever such third party notices normally appear.

You have shown an example of an app that has a “Licensi Open Source” screen, presumably accessible in the settings or another menu. This is the normal approach for including third party notices in an app. If you also have such a screen and include the Apache License and the Cordova NOTICE file, that would satisfy the Cordova license.

Do license headers in source files count as license notices? It depends:

  • yes, if distributing the actual source code.
  • no, they do not satisfy the Apache license notice requirements when distributing non-source forms.

But note: even though the cordova.js file is JavaScript, it is not the complete Cordova-JS source code. Your cordova.js file is likely a minified and bundled version of Cordova. For example, the file you've screenshotted clearly strips out comments when compared with the actual source code. The Apache License defines the Source as “the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files”.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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